PDA

Просмотр полной версии : l2phx 3.5.34.176 некорректно обрабатывает конструкцию if pck[1]=#$xx then


lifediary
07.06.2013, 21:28
если это уже исправлено то плиз ткните носом... если нет то надеюсь на скорейшее

вот вроде как решение описано... http://coderx.ru/showthread.php?t=10601 но что делать с кучей уже написанных и скачанных скриптов?.... переписывать ?

SeregaZ
08.06.2013, 11:38
ненай... у меня все работает. скачивал примерно неделю назад по новой 176 из архива и писал скрипт на автоточку - там такие элементы точно были. правда у меня чуток по другому :)

if pck[1]=#$xx then

if FromClient and (ConnectName=Name)
and (pck[1]=#$01) then begin //блокировка перемещения
pck:='';
end;

lifediary
09.06.2013, 12:16
ненай... у меня все работает.

хз тогда.. пробовала и на win7max_64 и на wxpsp3_32...
может то что хроники у меня таути стоят.. сейчас скачаю какой нибудь хайфай и проверю

alexteam
09.06.2013, 21:30
2phx 3.5.34.176 некорректно обрабатывает конструкцию if pck[1]=#$xx then
в чем заключается некорректность ?

lifediary
10.06.2013, 10:11
в чем заключается некорректность ?

например при таком тесте он вываливает ошибку
b9 - MyTargetSelected

begin
if FromServer and (pck[1]=#$b9) then
begin
buf:=#$14;
SendToServer;
end;
end.

на двух машинах тестила... ОС w7max_64 и wxpsp3_32
на первой проц i5 на второй athlon 64 x2 4800+
клиент GOD Tauti PTS
пишет ошибку
Access violation at address 132A61E9 in module 'myph.exe'. Read of address 00000000.
лог ассемблера
132A61C9 lea edx, [ebp-$10]
132A61CC mov ecx, [eax]
132A61CE call dword ptr [ecx+$08]
132A61D1 lea eax, [ebp-$10]
132A61D4 call -$001504FD
132A61D9 mov edi, eax
132A61DB lea eax, [ebp-$14]
132A61DE lea edx, [ebx+$50]
132A61E1 call -$0014DB96
132A61E6 mov eax, [ebp-$14]
132A61E9 movzx eax, byte ptr [eax+edi-$01] ; <-- EXCEPTION
132A61EE mov [ebp-$17], al
132A61F1 mov byte ptr [ebp-$18], $01

или такой тест... просто уходит в бесконечный цикл...
Var a:Integer;
begin
a:=1;
While a<2 do
begin
if FromServer and (ReadC(1)=185) then
begin
buf:=#$14;
SendToServer;
a:=2;
end;
end;
end.

lifediary
17.06.2013, 08:25
можно закрыть...
во вкладке автоматизация... выбор работает...

alexteam
17.06.2013, 15:03
pck[1]=#$b9

Access violation at address 132A61E9 in module 'myph.exe'. Read of address 00000000.
pck = '' ?

или такой тест... просто уходит в бесконечный цикл...
конечно уходит. на любом пакете у которого опкод <> 0xB9 будет уходить.