Testar modos de jogo multijogador pode ser difícil devido ao número de jogadores envolvidos, e nem sempre você pode ter outras pessoas com quem jogar. Para esse modo de jogo, você pode testar eliminações em um ambiente de jogador único usando dispositivos Sentinela. Como sentinelas têm um EliminatedEvent que você pode assinar, elas podem atuar como jogadores inimigos para testar seu código de eliminação.
Siga estas etapas para distribuir armas aos jogadores quando eles marcarem uma eliminação em uma sentinela.
-
Adicione um novo método
TestPlayerEliminatedà classeteam_elimination_game. Ele é chamado sempre que um sentinela é eliminado.~~~(verse) TestPlayerEliminated(Agent : ?agent) : void = Print("Sentinela eliminada!") ~~~
-
Em
TestPlayerEliminated, verifique se a Sentinela foi eliminada por um jogador e, caso senha sido, passe o jogador eliminador paraGiveNextWeapon. ComoTestPlayerEliminatedjá aceita uma opção de agente como argumento, você sabe implicitamente qual jogador marcou essa eliminação.TestPlayerEliminated(Agent: ?agent) : void = Print("Sentry Down!") if(TeamPlayer := Agent?): GiveNextWeapon(TeamPlayer) -
Em
OnBegin, adicione um loopforpara se inscrever aoEliminatedEventde cada sentinela usandoTestPlayerEliminated. Seu códigoOnBegindeve se parecer com o código abaixo.~~~(verse) OnBegin
() : void = set Teams = GetPlayspace().GetTeamCollection().GetTeams() set EliminationsToEndGame = WeaponGranters.Length Logger.Print("O número de eliminações para encerrar o jogo é {EliminationsToEndGame}") Logger.Print("Começando a atribuir jogadores") PopulateTeamsAndPlayers()
for (Spawner : PlayerSpawners): Spawner.SpawnedEvent.Subscribe(OnPlayerSpawn) # Inscrever a cada plataforma de surgimento de jogador for (Sentry : Sentries): Sentry.EliminatedEvent.Subscribe(TestPlayerEliminated) # Inscrever a cada Sentinela # Como inscrever a novos jogadores que entram no jogo GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded) ~~~
Salve o script no Visual Studio Code, compile-o e clique em Iniciar sessão na barra de ferramentas do UEFN para reproduzir o teste do nível. Marcar uma eliminação em um jogador inimigo ou sentinela deve promovê-lo para a próxima arma. Se estiver testando em um ambiente multijogador, as promoções deverão seguir as duas regras descritas em 5. Distribuindo armas em eliminações. Promover a arma final na sequência deve terminar o jogo com o jogador eliminador como vencedor.

Resultado final
Na etapa final do tutorial, você verá o script completo.