Eseguire il test delle modalità di gioco multigiocatore può essere difficile, a causa del numero di giocatori coinvolti, e non sempre è possibile avere altre persone con cui giocare. Per questa modalità di gioco, puoi eseguire il test delle eliminazioni in un ambiente a giocatore singolo utilizzando i dispositivi sentinella. Poiché le sentinelle dispongono di un EliminatedEvent
a cui puoi sottoscrivere, possono agire come giocatori nemici per eseguire il test del codice di eliminazione.
Per assegnare armi ai giocatori quando realizzano un'eliminazione di una sentinella, attieniti ai passaggi seguenti.
-
Aggiungi un nuovo metodo
TestPlayerEliminated
alla classeteam_elimination_game
. Questo metodo viene chiamato ogni volta che una sentinella viene eliminata.TestPlayerEliminated(Agent : ?agent) : void = Print("Sentinella giù!")
-
In
TestPlayerEliminated
, controlla se la Sentinella è stata eliminata da un giocatore e, in caso affermativo, passa il giocatore che ha realizzato l'eliminazione aGiveNextWeapon
. PoichéTestPlayerEliminated
accetta già un'opzione agente come argomento, saprai implicitamente quale giocatore ha realizzato questa eliminazione.TestPlayerEliminated(Agent: ?agent) : void = Print("Sentinella giù!") if(TeamPlayer := Agent?): GiveNextWeapon(TeamPlayer)
-
In
OnBegin
, aggiungi un nuovo loopfor
per sottoscrivere l'EliminatedEvent
di ogni sentinella usandoTestPlayerEliminated
. Il codiceOnBegin
dovrebbe essere simile al codice seguente.OnBegin<override>()<suspends> : void = set Teams = GetPlayspace().GetTeamCollection().GetTeams() set EliminationsToEndGame = WeaponGranters.Length Logger.Print("Il numero di eliminazioni necessario per concludere la partita è {EliminationsToEndGame}") Logger.Print("Avvio dell'assegnazione dei giocatori") PopulateTeamsAndPlayers() for (Spawner : PlayerSpawners): Spawner.SpawnedEvent.Subscribe(OnPlayerSpawn) # Sottoscrivi a ciascuna pedana di generazione giocatore for (Sentry : Sentries): Sentry.EliminatedEvent.Subscribe(TestPlayerEliminated) # Sottoscrivi a ogni sentinella # Sottoscrivi ai nuovi giocatori che si uniscono alla partita GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
Salva lo script in Visual Studio Code, compilalo e fai clic su Avvia sessione nella barra degli strumenti UEFN per eseguire il playtest del livello. Se realizzi un'eliminazione di un giocatore nemico o di una sentinella, dovresti essere promosso all'arma successiva. Se esegui i test in un ambiente multigiocatore, le promozioni devono seguire le due regole descritte in 5. Assegnare le armi alle eliminazioni. La promozione oltre l'ultima arma della sequenza dovrebbe far terminare la partita con il giocatore che ha realizzato l'eliminazione come vincitore.

Risultato finale
Nell'ultimo passaggio di questo tutorial, vedrai lo script completo del tutorial.