Probar los modos de juego multijugador puede ser difícil por el número de jugadores involucrados; además, es posible que no siempre haya otras personas para jugarlo. En este modo de juego, puedes probar las eliminaciones en un entorno de un solo jugador con los dispositivos Centinela. Ya que los centinelas tienen un EliminatedEvent al que puedes suscribir, pueden actuar como jugadores enemigos para probar el código de eliminación.
Realiza estos pasos para otorgar armas a los jugadores cuando logran una eliminación contra un centinela.
-
Añade un nuevo método
TestPlayerEliminateda la claseteam_elimination_game. Se llama a este método cada vez que se elimina a un centinela.TestPlayerEliminated(Agent : ?agent) : void = Print("¡Centinela abatido!") -
En
TestPlayerEliminated, comprueba si un jugador eliminó al centinela, si fue así, pasa el jugador que le ha eliminado aGiveNextWeapon. Debido a queTestPlayerEliminatedya acepta una opción de agente como argumento, sabes implícitamente cuál jugador logró la eliminación.TestPlayerEliminated(Agent: ?agent) : void = Print("¡Centinela abatido!") if(TeamPlayer := Agent?): GiveNextWeapon(TeamPlayer) -
En
OnBegin, agrega un nuevo bucleforpara suscribir a cadaEliminatedEventdel centinela conTestPlayerEliminated. El código deOnBegindebería ser el siguiente:OnBegin<override>()<suspends> : void = set Teams = GetPlayspace().GetTeamCollection().GetTeams() set EliminationsToEndGame = WeaponGranters.Length Logger.Print("El número de eliminaciones para finalizar el juego es {EliminationsToEndGame}") Logger.Print("Comenzando a asignar los jugadores") PopulateTeamsAndPlayers() for (Spawner : PlayerSpawners): Spawner.SpawnedEvent.Subscribe(OnPlayerSpawn) # Suscribe a cada una de las plataformas de aparición de jugador for (Sentry : Sentries): Sentry.EliminatedEvent.Subscribe(TestPlayerEliminated) # Suscribe a cada centinela # Suscribe a los nuevos jugadores que se unen al juego. GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
Guarda la secuencia de comandos en Visual Studio Code, compílala y haz clic en Comenzar sesión en la barra de herramientas de UEFN para probar el nivel. Al lograr una eliminación de un jugador enemigo o un centinela se debería promover al jugador a la siguiente arma. Si realizas la prueba en una configuración multijugador, las promociones deberían seguir las dos reglas descritas en 5. Cómo otorgar armas por eliminaciones. La promoción siguiente al arma final de la secuencia debería finalizar la partida y marcar al jugador que logró la eliminación como el ganador.

Resultado final
En el último paso de este tutorial, aprenderás cómo probar eliminaciones con centinelas en una partida de un solo jugador.