Durante questo passaggio, potrai creare in Verse un sistema livello di armi in stile gioco che utilizza un dispositivo Assegnatore oggetti per fornire ai giocatori una nuova arma quando completano una combo.
Modifica la tua isola
Seleziona il dispositivo Impostazioni Isola nella viewport o nel pannello Outliner.
Nel pannello Dettagli imposta i seguenti parametri:
Imposta Munizioni riserva infinite su True.
Imposta Munizioni infinite caricatore su False. Questa modifica richiede al giocatore di ricaricare, un aspetto essenziale di molte armi in Fortnite.
Seleziona il dispositivo Assegnatore oggetti nella viewport o nel pannello Outliner.
Nel pannello Dettagli imposta i seguenti parametri:
Imposta Comportamento al conferimento su Libera inventario.
Imposta Assegna su Oggetto attuale.
Rimuovi tutti gli elementi dall'Elenco indici, quindi aggiungi i seguenti cinque elementi:
Fucile d'assalto L1
Fucile a leva L2
Fucile pesante L3
Sei colpi L4
Pistola pesante L5
Imposta Ricezione giocatori su Tutti.
Imposta Fornisci a ciclo su True.
Imposta Conferisci all'avvio della partita su True.
Rimuovi le associazioni di funzione Abilita e Assegna oggetto.
Seleziona il dispositivo Gestione punteggio nella viewport o nel pannello Outliner.
Nel pannello Dettagli, imposta Mostra aggiornamento punteggio su HUD su True.
Scrivi il codice Verse
Questa pagina ti guida passo dopo passo attraverso le modifiche al codice; tuttavia, se desideri controllare il tuo lavoro, rivedi la sezione
Apri il file
shooting_range_manager_device.verse.Aggiungi le seguenti variabili per memorizzare un riferimento al dispositivo che assegna gli oggetti e tieni traccia delle proprietà a livello di oggetto.
Verse@editable ItemGranter:item_granter_device = item_granter_device{} @editable MaxWeaponLevel:int = 5 var CurrentWeaponLevel:int = 1Aggiungi il metodo
IncreaseWeaponLevelper aumentare la variabile del livello dell'arma e passare all'oggetto successivo.Verse# Increases the player's weapon level by one (up to the maximum value). IncreaseWeaponLevel():void= if: # If able to retrieve the first player and current weapon level isn't maxed, then... Player:player = GetPlayspace().GetPlayers()[0] CurrentWeaponLevel < MaxWeaponLevel then: # Increase weapon level and cycle to the next item. set CurrentWeaponLevel += 1 ItemGranter.CycleToNextItem(Player)Modifica il metodo
OnComboTargetHitper chiamareIncreaseWeaponLevel.Verse# A hit callback that scores the ComboTarget and resets the combo. OnComboTargetHit():void= AdjustScore(ComboTargetScore) <# --- New Code Start --- #> IncreaseWeaponLevel() <# --- New Code End --- #>Modifica il metodo
AdjustScoreper moltiplicare il punteggio assegnato per il livello dell'arma.Verse# Adjusts the player's score by the provided value. AdjustScore(Value:int):void= # Start the timer if it hasn't started yet. if (not IsTimerStarted?): StartTimer() <# --- New Code Start --- #> # Sets the score award to the base value of the target multiplied by the current weapon level. ScoreManager.SetScoreAward(Value * CurrentWeaponLevel)Salva e crea il tuo codice Verse.
Codice completo
using { /Fortnite.com/Devices }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
# A device that manages shooting range gameplay.
shooting_range_manager_device := class(creative_device):
@editable
ScoreManager:score_manager_device = score_manager_device{}
Unisci tutti gli elementi
Seleziona shooting_range_manager_device nella viewport o nel pannello Outliner.
Nel pannello Dettagli, imposta ItemGranter al dispositivo Assegnatore oggetti.
Applica le modifiche ed esegui un playtest sulla tua isola.
Verifica il cambio di arma dopo aver colpito un bersaglio combo, fino a 5 volte. Al quinto livello, rimane lo stesso.
Verifica che il punteggio in arrivo venga moltiplicato per il livello dell'arma.