멀티플레이어 게임 모드 테스트는 다수의 플레이어가 포함되므로 어려울 수 있으며, 함께 플레이할 다른 사람이 항상 있는 것도 아닙니다. 이 게임 모드의 경우 보초 장치를 사용하여 싱글 플레이어 환경에서의 처치를 테스트할 수 있습니다. 보초에는 등록할 수 있는 EliminatedEvent 가 있으므로, 처치 코드를 테스트할 목적으로 적 플레이어 역할을 할 수 있습니다.
플레이어가 보초 처치를 달성했을 때 플레이어에게 무기를 지급하려면 다음 단계를 따릅니다.
-
team_elimination_game클래스에 새 메서드TestPlayerEliminated를 추가합니다. 이 메서드는 보초가 처치될 때마다 호출됩니다.TestPlayerEliminated(Agent : ?agent) : void = Print("Sentry Down!") -
TestPlayerEliminated에서 보초가 플레이어에 의해 처치되었는지 확인하고, 처치되었다면 보초를 처치한 플레이어를GiveNextWeapon으로 전달합니다.TestPlayerEliminated는 에이전트 옵션을 실행인자로 이미 수락했기 때문에, 어떤 플레이어가 이 처치를 달성했는지 묵시적으로 알게 됩니다.TestPlayerEliminated(Agent: ?agent) : void = Print("Sentry Down!") if(TeamPlayer := Agent?): GiveNextWeapon(TeamPlayer) -
OnBegin에서TestPlayerEliminated를 사용하여 각 보초의EliminatedEvent에 등록하기 위해 새for루프를 추가합니다.OnBegin코드는 이제 아래와 같습니다.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) # 각 플레이어 생성 패드에 등록합니다 for (Sentry : Sentries): Sentry.EliminatedEvent.Subscribe(TestPlayerEliminated) # 각 보초에 등록합니다 # 게임에 참가하는 새 플레이어에 등록합니다 GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)
Visual Studio Code로 스크립트를 저장하고, 컴파일하고, UEFN 툴바에서 세션 시작(Launch Session) 을 클릭해 레벨을 플레이테스트합니다. 적 플레이어 또는 보초 처치를 달성하면 다음 무기로 승급해야 합니다. 멀티플레이어 세팅을 테스트하는 경우 승급은 5. 처치 시 무기 지급하기에 설명된 두 가지 규칙을 따라야 합니다. 마지막 등급 무기 다음으로 승급하는 경우 처치를 달성한 플레이어가 승리하며 게임이 종료되어야 합니다.

최종 결과
이 튜토리얼의 마지막 단계에서는 이 튜토리얼의 완성된 스크립트를 확인합니다.