2017-02-20 28 views
-1

Как сделать так, чтобы рандомизировать игроков в зависимости от его тега в многопользовательском режиме (используя сетевой ресурс UNITY Networking Lobby Asset)? например, я породил игроков с тегом «Бег», тогда я хочу рандомизировать, чтобы определить среди них, кто будет «Chaser». Так что если есть 5 игроков, у 4 из них должен быть тег «Бег», а другой должен быть «chaser». Я пытался это сделать, но что происходит в каждом клиенте, они рандомизируют числа, поэтому иногда клиент A будет помечен как «Chaser» в своем представлении, и, с другой точки зрения, он помечен как «Flee». Таким образом, в основном, что происходит, он рандомизируется в каждом клиенте, но я хочу рандомизировать на сервере только для определения тега «Chaser». Помощь будет принята с благодарностью. Спасибо!Ранжирование игроков в зависимости от тега в многопользовательской сети Unity

ответ

0

Вам нужно переопределить функцию OnServerAddPlayer NetworkManager или добавить новый скрипт для управления NetworkManager OnServerAddPlayer.

Я использовал overide NetworkManger, и я называю его CNetworkManger, а затем в инспекторе добавляю 2 объекта, прикрепленных к NetworkIdentity в сборные файлы.

public override void OnServerAddPlayer (NetworkConnection conn, short playerControllerId) { 
      var player = (GameObject)GameObject.Instantiate(spawnPrefabs[{{ YOUR TAG INDEX }}], 
       Vector3.zero, 
       Quaternion.identity); 
     }