Показать сообщение отдельно
Старый 26.11.2008, 01:11
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 1  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
По умолчанию 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 и всё, как будто заморозились.
__________________
return this...


Последний раз редактировалось AlexCooper; 26.11.2008 в 13:54.