Скрипт мультиплеера

Сеть в Unity3D

Скрипт мультиплеера

Сообщение CATINMASK 01 апр 2012, 18:49

Вот недавно нашел на юнити вики скрипт мультиплеера добавив его в unity у меня вылезло несколько ошибок, вот они:
после исправления этого
if (Network.connections.Length >= 1) на это
if (Network.connections.Length = 1)
мое количество ошибок снизилось с 12 на 1 и 3 предупрждения, а вот что делать дальше никак не пойму, помогите плиз

Изображение

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class Connect : MonoBehaviour
{

    public string connectToIP = "127.0.0.1";
    public int connectPort = 25001;

    // Смешанный GUI для сервера и клиента
    public void OnGUI()
    {

        if (Network.peerType == NetworkPeerType.Disconnected)
        {
            //Сейчас мы отключены и не являемся клиентом или хостом
            GUILayout.Label("Connection status: Disconnected");

            connectToIP = GUILayout.TextField(connectToIP, GUILayout.MinWidth(100));
            connectPort = int.Parse(GUILayout.TextField(connectPort.ToString()));

            GUILayout.BeginVertical();
            if (GUILayout.Button("Connect as client"))
            {
                // Подсоединяемся к "connectToIP" и "connectPort" как клиент
                // В данном случае игнорируем NAT
                Network.useNat = false;
                Network.Connect(connectToIP, connectPort);
            }

            if (GUILayout.Button("Start Server"))
            {
                // Создаем север с 32 клиентами используя порт "connectPort"
                // Так же игнорируем NAT
                Network.useNat = false;
                Network.InitializeServer(32, connectPort);
            }
            GUILayout.EndVertical();


        }
        else
        {
            //Мы имеем подключение(я)!


            if (Network.peerType == NetworkPeerType.Connecting)
            {
                // Статус - пдключение
                GUILayout.Label("Connection status: Connecting");

            }
            else if (Network.peerType == NetworkPeerType.Client)
            {
                // Статус - клиент
                GUILayout.Label("Connection status: Client!");
                GUILayout.Label("Ping to server: " + Network.GetAveragePing(Network.connections[0]));

            }
            else if (Network.peerType == NetworkPeerType.Server)
            {
                // Статус - сервер
                GUILayout.Label("Connection status: Server!");
                GUILayout.Label("Connections: " + Network.connections.Length);
                if (Network.connections.Length >= 1)
                {
                    GUILayout.Label("Ping to first player: " + Network.GetAveragePing(Network.connections[0]));
                }
            }

            if (GUILayout.Button("Disconnect"))
            {
                Network.Disconnect(200);
            }
        }


    }

    // ВСЕ функции ниже НЕ ИСПОЛЗУЮТСЯ в данном примере, а приведены только для демонстрации.
    // Сначала убедитесь в понимании кода, приведенного выше в функции OnGUI()

    // Слиентские фукнции, вызываемые Юнити
    public void OnConnectedToServer()
    {
        // Этот КЛИЕНТ подключился к серверу
        Debug.Log("This CLIENT has connected to a server");
    }

    public void OnDisconnectedFromServer(NetworkDisconnection info)
    {
        // Этот СЕРВЕР или КЛИЕНТ отключился от сервера
        Debug.Log("This SERVER OR CLIENT has disconnected from a server");
    }

    public void OnFailedToConnect(NetworkConnectionError error)
    {
        // Не удалось поключиться к серверу
        Debug.Log("Could not connect to server: " + error);
    }


    //Серверные фукнции, вызываемые Юнити
    public void OnPlayerConnected(NetworkPlayer player)
    {
        Debug.Log("Player connected from: " + player.ipAddress + ":" + player.port);
    }

    public void OnServerInitialized()
    {
        // Сервер инициализирован и готов
        Debug.Log("Server initialized and ready");
    }

    public void OnPlayerDisconnected(NetworkPlayer player)
    {
        // Игрок отсоединился от player.ipAddress + ":" + player.port
        Debug.Log("Player disconnected from: " + player.ipAddress + ":" + player.port);
    }


    // OTHERS:
    // Для полного обзора всех сетевых функций вызываемых Юнити
    // следующие четыре так же были добавлены, но они сейчас игнорируются

    public void OnFailedToConnectToMasterServer(NetworkConnectionError info)
    {
        // Не удалось соединиться с мастер-сервером
        Debug.Log("Could not connect to master server: " + info);
    }

    public void OnNetworkInstantiate(NetworkMessageInfo info)
    {
        // Новый объект был создан info.sender
        Debug.Log("New object instantiated by " + info.sender);
    }

    public void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
    {
        //Пользовательский код здесь (Ваш код!)
    }
}
CATINMASK
UNец
 
Сообщения: 34
Зарегистрирован: 04 ноя 2011, 18:42

Re: Скрипт мультиплеера

Сообщение Cezar 01 апр 2012, 21:37

:) внимательенее смотри 1 что сразу же попадлается в глаза

недавно нашел на юнити вики скрипт мультиплеера добавив его в unity у меня вылезло несколько ошибок, вот они:
после исправления этого
if (Network.connections.Length >= 1) на это
if (Network.connections.Length = 1)

правильно
if (Network.connections.Length == 1)
Cezar
UNец
 
Сообщения: 14
Зарегистрирован: 15 мар 2012, 22:34

Re: Скрипт мультиплеера

Сообщение CATINMASK 02 апр 2012, 13:43

Спасибо :)
CATINMASK
UNец
 
Сообщения: 34
Зарегистрирован: 04 ноя 2011, 18:42


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3