Показать сообщение отдельно
Старый 20.06.2009, 00:24   #6
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 36
Сказал Спасибо: 13
Имеет 17 спасибок в 15 сообщенях
ПолуГость2 пока неопределено
По умолчанию

ППЦ, это магия!!!
пх 3.4.1.83 на yes выдает Access violation по гениальному адресу 13232819 (что-то читает адрес 0), _до_ того, как отправляет-таки на сервер yes, creature say срабатывает один раз. Для No все ок.

Добавлено через 3 минуты
Если обойтись без анонсов, то все равно access violation при yes, проблема конкретно в нем. Перейду на другое соц. действие Двойную отправку считаем фантомом, тем более, что в 3.4.1.83 ее вроде нет...

Добавлено через 12 минут
ААААААААААААААААААААААААААААА, бля, я понял!!!
Проблема в том, что при yes срабатывает вызов, pck чистится, и после возврата следующий if лезет в несуществующие элементы срокового массива, а дальше уж неизвестно что происходит, но плохое. Если скрипт сделать с отложенным удалением, все ок. (ну кроме двойной отправки, которую мы считаем кажущейся)

Это, ребята, надо в доку вносить, это может быть системой...

Код:
var
	NickName : String;
	killPacket:Boolean;

procedure Init;
begin
	NickName := 'userName';
end;

procedure Free;
begin
	NickName := '';
	killPacket := false;
end;

//====================================================================================
procedure getNo;
begin
	killPacket := true;
end;

//====================================================================================
procedure getYes;
begin
	killPacket := true;
end;

//====================================================================================
//====================================================================================
begin
	if pck = '' then exit;
	if (ConnectName = NickName) and FromClient then begin
		if (pck[1]=#$34) and (pck[2]=#$06) then getYes;
		if (pck[1]=#$34) and (pck[2]=#$05) then getNo;
	end;

	if (killPacket) then pck := '';
	killPacket := false;
end.

Последний раз редактировалось ПолуГость2, 20.06.2009 в 00:24. Причина: Добавлено сообщение
ПолуГость2 вне форума   Ответить с цитированием