2017-02-20 103 views
-1

如何根据玩家的标签随机化玩家(使用UNITY联网大厅资产)?例如我产生标签为“逃离”的球员,然后我想随机确定其中谁是“追击者”。所以如果有5名选手,其中4名应该有“逃跑”标签,另一名应该是“追逐者”。我一直在努力做到这一点,但是在每个客户端会发生什么情况,他们会随机化数字,因此有时客户端A在他的视图中被标记为“追赶者”,而在其他视图中,他被标记为“逃离”。所以基本上会发生什么是它在每个客户端随机化,但我想要的是随机在服务器中仅用于确定“追赶者”标签。帮助将不胜感激。谢谢!根据多人联网中的标签随机化玩家Unity

回答

0

您需要使用Override函数OnServerAddPlayer NetworkManager或添加新脚本来控制NetworkManager OnServerAddPlayer。

我被用在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); 
     }