Вот ЧТО может быть неправильно в таком скрипте? Я ля уже в шоке.
Код:
var
NickName : String;
procedure Init;
begin
NickName := 'lalala'; // тут все как надо
end;
procedure Free;
begin
end;
//====================================================================================
procedure getYes;
begin
buf:=#$4A; WriteD(0); WriteD(10); WriteS(''); WriteS('Прошло YES'); SendToClient;
pck := '';
end;
//====================================================================================
procedure getNo;
begin
buf:=#$4A; WriteD(0); WriteD(10); WriteS(''); WriteS('Прошло NO'); SendToClient;
pck := '';
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;
end.
Если нажать Yes, проходит:
Код:
(c) CreatureSay (4A 00 00 00 00 0A 00 00 00 00 00 1F 04 40 04 3E 04 48 04 3B 04 3E 04 20 00 59 00 45 00 53 00 00 00 )
(c) CreatureSay (4A 00 00 00 00 0A 00 00 00 00 00 1F 04 40 04 3E 04 48 04 3B 04 3E 04 20 00 59 00 45 00 53 00 00 00 )
(s) RequestSocialAction (34 06 00 00 00 )
(c) SocialAction (27 2F 37 02 10 06 00 00 00 )
Если нажать No, проходит:
Код:
(c) CreatureSay (4A 00 00 00 00 0A 00 00 00 00 00 1F 04 40 04 3E 04 48 04 3B 04 3E 04 20 00 4E 00 4F 00 00 00 )
(c) CreatureSay (4A 00 00 00 00 0A 00 00 00 00 00 1F 04 40 04 3E 04 48 04 3B 04 3E 04 20 00 4E 00 4F 00 00 00 )
Притом CreatureSay идет дважды, хотя клиент рисует анонс один раз.
Я это обнаружил когда по Yes отправлял на сервер запрос - мало того, что не блокировался Yes, так и запрос проходил ДВАЖДЫ, хотя в коде, разумеется, отправка была одна-единственная. Либо я чего-то важного не понимаю, либо l2ph косячит, либо одно из трех.
З.Ы. l2phx.3.5.11.118