PDA

Просмотр полной версии : application.onDisconnect = function(client)


AlexCooper
26.11.2008, 01:11
Не могу потянуть за собой удаление "шаредов" клиента. Не срабативает Дисконнект.
Части кода

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

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 и всё, как будто заморозились.