Вот эти два скрипта (не считая стандартных CharacterController'ов)
var remoteIP = "127.0.0.1"; var remotePort = 25000; var listenPort = 25000; var useNAT = false; var yourIP = ""; var yourPort = ""; function OnGUI () { if (Network.peerType == NetworkPeerType.Disconnected){ if (GUI.Button (new Rect(10,10,100,30),"Connect")){ Network.useNat = useNAT; Network.Connect(remoteIP, remotePort); } if (GUI.Button (new Rect(10,50,100,30),"Start Server")){ Network.useNat = useNAT; // Создание Сервера Network.InitializeServer(32, listenPort); // Сказать нашим объектам, что уровень и сеть готова к работе for (var go : GameObject in FindObjectsOfType(GameObject)) { go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver); } } // Создаем поля ip адрес и port remoteIP = GUI.TextField(new Rect(120,10,100,20),remoteIP); remotePort = parseInt(GUI.TextField(new Rect(230,10,40,20),remotePort.ToString())); } else { // Получаем твой ip адрес и port ipaddress = Network.player.ipAddress; port = Network.player.port.ToString(); GUI.Label(new Rect(140,20,250,40),"IP Adress: "+ipaddress+":"+port); if (GUI.Button (new Rect(10,10,100,50),"Disconnect")) { // Отключение от Сервера Network.Disconnect(200); } } } function OnConnectedToServer () { // Сказать всем объектам что сцена и сеть готовы for (var go : GameObject in FindObjectsOfType(GameObject)) go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver); }
var PlayerPrefab : GameObject; var MinePlayer : GameObject; function OnNetworkLoadedLevel () { MinePlayer = Network.Instantiate(PlayerPrefab, transform.position, transform.rotation, 0); } function OnPlayerDisconnected (player : NetworkPlayer) { Network.RemoveRPCs(player, 0); Network.DestroyPlayerObjects(player); }