Новые игроки не видят старых.

Сеть в Unity3D

Новые игроки не видят старых.

Сообщение reimon245 11 янв 2012, 17:14

Добрый день.Есть скрипт при подключении к серверу появляется кнопка,при нажатии на нее создается игрок,все ок,камера у каждого своя,игрока появляются,управляются,но 1 проблема. Создает игру сервер,он видит всех игроков которые заходят и что они делают. Зашел 1ый клиент,он не видит сервер,но одновременно с созданием игрока 1ого клиента создается клон сервера,и этот клон сервера игрок уже видит,а самого сервера нет, и так по цепочке с каждым следующим клиентом....как убрать такое клонирование? Будьте добры конкретно в моем случае помочь,в песочнице все молчком( Вот скрипт :
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerSpawn : MonoBehaviour{
    public Transform playerPref;
        private bool inst=false;
        void OnGUI(){
                if(!inst){
                if(GUI.Button(new Rect(Screen.width/2-100,Screen.height-50,200,40),"SpawnPlayer")){
                                //Network.Instantiate(playerPref,transform.position,transform.rotation,0);
                                networkView.RPC("SpawnPlayer",RPCMode.AllBuffered);
                                inst=true;
                        }
                }
        }
[RPC]
        void SpawnPlayer(){
                Network.Instantiate(playerPref,transform.position,transform.rotation,0);
        }
    public void OnPlayerDisconnected(NetworkPlayer player) {  
        Network.RemoveRPCs(player);
        Network.DestroyPlayerObjects(player);
    }
    public void OnDisconnectedFromServer(NetworkDisconnection info) {  
        Network.RemoveRPCs(Network.player);
        Network.DestroyPlayerObjects(Network.player);
        Application.LoadLevel("Menu");
    }
}  
reimon245
UNIт
 
Сообщения: 72
Зарегистрирован: 22 ноя 2011, 07:54

Re: Новые игроки не видят старых.

Сообщение Груберк 11 янв 2012, 23:38

и этот клон сервера игрок уже видит,а самого сервера нет,

ничего не понимаю, так видит или нет?

В родной сети Юнити не разбираюсь, но чувствую попой, что есть галочка, которая синхронизирует всех игроков для вновь-подключившегося игрока (если мы об этом говорим).
Груберк
UNIт
 
Сообщения: 133
Зарегистрирован: 05 июл 2011, 13:26

Re: Новые игроки не видят старых.

Сообщение reimon245 12 янв 2012, 06:14

Найти бы мне эту галочку....... Новый игрок старых игроков которые уже на сервере не видит, он видит лишь их клонов которые создаются вместе с ним....
reimon245
UNIт
 
Сообщения: 72
Зарегистрирован: 22 ноя 2011, 07:54

Re: Новые игроки не видят старых.

Сообщение reimon245 13 янв 2012, 13:31

Дак ни у кого не бывает такой проблемы?
reimon245
UNIт
 
Сообщения: 72
Зарегистрирован: 22 ноя 2011, 07:54

Re: Новые игроки не видят старых.

Сообщение kitakun 15 янв 2012, 01:46

Вместо networkView.RPC("SpawnPlayer",RPCMode.AllBuffered); ставь network.instantinate. И если подключение к серверу идет в сцене "меню", а игра в сцене "арена1" нужно выключать прием пакетов, а уже после загрузки "арены1" включать их обратно.
kitakun
UNIт
 
Сообщения: 64
Зарегистрирован: 25 июл 2011, 22:11
Откуда: Новосибирск

Re: Новые игроки не видят старых.

Сообщение reimon245 16 янв 2012, 05:23

Спасибо помогло!
reimon245
UNIт
 
Сообщения: 72
Зарегистрирован: 22 ноя 2011, 07:54


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 4