-1

如何根据多人游戏中的标签随机化玩家(使用 UNITY Networking Lobby Asset)?例如,我生成了带有“Flee”标签的玩家,然后我想随机确定其中谁将成为“Chaser”。所以如果有 5 名玩家,其中 4 人应该有“Flee”标签,另一个应该是“chaser”。我一直在尝试这样做,但是每个客户都会发生这种情况,他们会随机化数字,因此有时客户 A 在他的视图中会被标记为“追逐者”,而在其他视图中,他会被标记为“逃跑”。所以基本上发生的事情是它在每个客户端中随机化,但我想要的是在服务器中随机化只是为了确定“Chaser”标签。帮助将不胜感激。谢谢!

4

1 回答 1

1

您需要覆盖函数 OnServerAddPlayer NetworkManager 或添加新脚本来控制 NetworkManager OnServerAddPlayer 。

我使用overide NetworkManger,我称之为CNetworkManger,然后在inspector中我将2个对象附加NetworkIdentity添加到播放器预制件中。

public override void OnServerAddPlayer (NetworkConnection conn, short playerControllerId) {
            var player = (GameObject)GameObject.Instantiate(spawnPrefabs[{{ YOUR TAG INDEX }}], 
                Vector3.zero, 
                Quaternion.identity);
        }
于 2017-02-21T09:50:00.190 回答