Tester les modes de jeu multijoueurs peut s'avérer difficile en raison du nombre de joueurs impliqués ; or, vous n'avez pas toujours d'autres personnes avec qui jouer. Dans ce mode de jeu, vous pouvez tester des éliminations dans un environnement solo en utilisant des sentinelles. Dans la mesure où les sentinelles disposent d'un événement EliminatedEvent auquel vous pouvez vous abonner, elles peuvent agir comme adversaires afin que vous puissiez tester le code de votre système d'élimination.
Procédez comme suit pour accorder des armes aux joueurs lorsqu'ils parviennent à éliminer une sentinelle.
-
Ajoutez une méthode
TestPlayerEliminateà la classeteam_elimination_game. Celle-ci est appelée chaque fois qu'une sentinelle est éliminée.TestPlayerEliminated(Agent : ?agent) : void = Print("Sentry Down!") -
Dans
TestPlayerEliminated, vérifiez si la sentinelle a été éliminée par un joueur et, si c'est le cas, transmettez le joueur éliminateur àGiveNextWeapon. Étant donné queTestPlayerEliminatedaccepte déjà une option agent en tant qu'argument, vous savez implicitement quel joueur est à l'origine de l'élimination.TestPlayerEliminated(Agent: ?agent) : void = Print("Sentry Down!") if(TeamPlayer := Agent?): GiveNextWeapon(TeamPlayer) -
Dans
OnBegin, ajoutez une nouvelle boucleforpour vous abonner à l'événementEliminatedEventde chaque sentinelle en utilisantTestPlayerEliminated. Votre codeOnBegindoit ressembler au code ci-dessous.OnBegin<override>()<suspends> : void = set Teams = GetPlayspace().GetTeamCollection().GetTeams() set EliminationsToEndGame = WeaponGranters.Length Logger.Print("Number of eliminations to end game is {EliminationsToEndGame}") Logger.Print("Beginning to assign players") PopulateTeamsAndPlayers() for (Spawner : PlayerSpawners): Spawner.SpawnedEvent.Subscribe(OnPlayerSpawn) # S'abonner à chaque point d'apparition de joueur for (Sentry : Sentries): Sentry.EliminatedEvent.Subscribe(TestPlayerEliminated) # S'abonner à chaque sentinelle # S'abonner aux nouveaux joueurs qui rejoignent la partie GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
Enregistrez le script dans Visual Studio Code, compilez-le et cliquez sur Lancer la session dans la barre d'outils de l'UEFN pour tester votre niveau. Si vous éliminez un adversaire ou une sentinelle, vous recevez l'arme suivante. Si vous testez le jeu dans un environnement multijoueur, les attributions d'armes doivent suivre les deux règles décrites à l'étape 5. Accorder des armes lors d'éliminations. Les attributions d'armes au-delà de la dernière arme de la séquence doivent mettre fin au jeu, le joueur qui a réussi à éliminer ses adversaires est déclaré vainqueur.

Résultat final
La dernière étape de ce tutoriel vous apprendra à tester les éliminations en solo à l'aide de sentinelles.