Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   application.onDisconnect = function(client) (http://www.flasher.ru/forum/showthread.php?t=118509)

AlexCooper 26.11.2008 01:11

application.onDisconnect = function(client)
 
Не могу потянуть за собой удаление "шаредов" клиента. Не срабативает Дисконнект.
Части кода

Код AS1/AS2:

_root.client_nc.connect("rtmp://localhost/rerait/"+_root.map.zone ,'vasya');

Код AS1/AS2:

application.onConnect = function(newClient, name )
{
 
        newClient.name = name;
 
        newClient.id = "u" + application.nextId++;
 
        application.userId++;
 
        index= new XML();
 
          index.load('http://localhost/userGrid/'+newClient.name+'.xml');
 
        index.ignoreWhite=true;
 
        function razbor_xml (xml)
        {
 
                if (xml.status != 0)
                {
                        trace ('XML документ содержит ошибку');
                        return;
                }
 
                array = [];
                array = xml.childNodes;
 
                for (i = 0; i < array.length; i++)
                {
 
                        if (index.childNodes[i].attributes["name"]==newClient.name)
                        {
                                application.users_so.setProperty(name+'.P',index.childNodes[i].attributes["pers"]);
                                application.users_so.setProperty(name+'.H',index.childNodes[i].attributes["heads"]);
                        }
                }
application.users_so.setProperty(newClient.name+'.Z',zone);
        application.users_so.setProperty(newClient.name+'.X',Math.round(Math.random()*790+30));
        application.users_so.setProperty(newClient.name+'.Y',Math.round(Math.random()*400+20));
        application.users_so.setProperty(newClient.name+'.R',Math.round(Math.random()*180)*(3-Math.round(Math.random()*2)));
        application.users_so.setProperty(newClient.name+'.F',false);
        application.users_so.setProperty(newClient.name+'.FT',0);
 
        // принимаем подключения этого пользователя
        application.acceptConnection(newClient);       
}
 
application.onDisconnect = function(client)
{
 
        trace("disconnect: " + client.name);
 
        for (var i = 0; i < application.clients.length; i++)
        {
                application.clients[i].call("Trace", client);
        }
 
        application.userId--;
 
        application.users_so.setProperty(client.name, null);
        application.users_so.setProperty(client.name+'.X', null);
        application.users_so.setProperty(client.name+'.Y', null);
        application.users_so.setProperty(client.name+'.P', null);
        application.users_so.setProperty(client.name+'.H', null);
        application.users_so.setProperty(client.name+'.R', null);
        application.users_so.setProperty(client.name+'.F', null);
        application.users_so.setProperty(client.name+'.FT', null);
        application.users_so.setProperty(client.name+'.Z', null);
 
 
}

получаеться так что шареды всё равно сохраняються(((


UPD: Дауж, наверное я в игноре, почти месяц на все мои вопросы ответов ноль. Так и приходиться как всегда самому "ковыряться", что потом оказуеться совсем не сложно, только кто б подсказал.

Да мои подкручивания болтов призвели к тому что всё таки данные удалаються кроме одно условия, если два клиента побывали в 1-й комнате они там навечно, когда ж по отдельностях прыгают по комнатах никого не выдно стоит попасть в 1 и всё, как будто заморозились.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.