forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Сеть (http://forum.boolean.name/forumdisplay.php?f=169)
-   -   Почему не уничтожается клиент? (http://forum.boolean.name/showthread.php?t=17706)

mepihin 02.01.2013 15:34

Почему не уничтожается клиент?
 
Такая проблема: раньше, когда игрок подключался к серву(один из игроков), а потом отключался, то камера сервера(одноги из игрока) отклбчалась и перекидывалась на камеру меню, но этот косяк убрал, получилось так:
PHP код:

function OnPlayerDisconnected(pl:NetworkPlayer)
    {
        if(
networkView.isMine)
        {
            
Network.RemoveRPCs(pl);
            
Network.DestroyPlayerObjects(pl);
            
camera.enabled true;
            var 
bg:AudioListener;
            
bg gameObject.GetComponent(AudioListener);
            
bg.enabled true;
        }        
    } 

Но теперь появился такой баг, что когда игрок отключается от сервера, его объект(модель игрока) не уничтожается. Что делать?
Вот полный скрипт коннекта + спавн:
PHP код:

#pragma strict
#pragma implicit
#pragma downcast

     
var PlayerPrefab:GameObject;
    var 
ip "25.187.2.70";
    var 
connected:boolean;
    
    function 
Awake()
    {
        
Screen.showCursor true;
    }
    
    function 
CreatePlayer()
    {
        
connected true;
        var 
Network.Instantiate(PlayerPrefabtransform.positiontransform.rotation1);
        
g.camera.enabled true;
        
camera.enabled false;
        var 
bg:AudioListener;
        
bg gameObject.GetComponent(AudioListener);
        
bg.enabled false;
    }
    function 
OnDisconnectedFromServer(info:NetworkDisconnection)
    {
        
connected false;
        
Network.RemoveRPCs(Network.player);
        
Network.DestroyPlayerObjects(Network.player);
        
camera.enabled true;
        var 
bg:AudioListener;
        
bg gameObject.GetComponent(AudioListener);
        
bg.enabled true;
        
Application.LoadLevel(Application.loadedLevel);
    }
    function 
OnPlayerDisconnected(pl:NetworkPlayer)
    {
        if(
networkView.isMine)
        {
            
Network.RemoveRPCs(pl);
            
Network.DestroyPlayerObjects(pl);
            
camera.enabled true;
            var 
bg:AudioListener;
            
bg gameObject.GetComponent(AudioListener);
            
bg.enabled true;
        }        
    }
    function 
OnConnectedToServer()
    {
        
CreatePlayer();
    }
    function 
OnServerInitialized()
    {
        
CreatePlayer();
    }
    function 
OnGUI()
    {
        if (!
connected)
        {
            
ip GUI.TextField(new Rect(10,5,100,20),ip);
            if (
GUI.Button(new Rect(10,30,100,20),"connect"))
            {
                
Network.Connect(ip5300);
            }
            if (
GUI.Button(new Rect(10,55,100,20),"host"))
            {
                
Network.InitializeServer(105300false);
            }
        }
        if(
connected==true)
        {
            if (
GUI.Button(new Rect(10,5,100,20),"disconnect"))
            {
                
Network.Disconnect(200);
            }
        }
    } 


pax 02.01.2013 16:29

Ответ: Почему не уничтожается клиент?
 
Т.е. при дисконнекте любого плеера ты включаешь камеру? Зачем? А по поводу проблемы с моделью хз - стандартную сеть не юзаю, изучаю Photon Unity Networking сейчас.

mepihin 02.01.2013 16:44

Ответ: Почему не уничтожается клиент?
 
нет, короче, при дисконекте я удаляю его и включаю камеру меню. НО, все работает кроме уничтожения игрока

mepihin 02.01.2013 22:47

Ответ: Почему не уничтожается клиент?
 
все я справился


Часовой пояс GMT +4, время: 23:55.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot