Короче теперь такая борода выходит , на примере этого скрипта показываю
Код:
begin
if FromClient and (ConnectName=(ConnectNameByID(456))) and (pck[1]=#$56) then
begin
pck:='';
buf:=#$49;
Writes('HELLO');
Writed(0);
SendtoserverEx(ConnectNameByID(456));
end;
end.
В весиях пакетхака l2phx.3.5.33.166 и l2phx.3.5.34.176 скрипт шлёт в окно пакет независимо от того какое число указывать, хоть 456 хоть 1 хоть 0. Если в начале (ConnectName=(ConnectNameByID(456))) тут указывать любое число он ловит соединение и шлёт на него пакет. Если тут указывать SendtoserverEx(ConnectNameByID(456)); то же самое. Короче что хочешь пиши всё равно работает. Это что касается этих версий пакетхака.
Что касается версии l2phx.3.5.33.171. Тут вообще наоборот. Всё прекрасно и перехватывает строго нужный коннект и шлёт строго на него. если не тот коннект скрипт не отсылает пакет на него. Но вот самый большой косяк, if FromClient and (pck[1]=#$56) then сделал вот так, и никакой реакции, вообще не работает, этот пакетхак не рабочий. Никакой реакции на пакеты, вот такой простой пример
Код:
begin
if FromClient and (pck[1]=#$56) then
begin
pck:='';
buf:=#$49;
Writes('HELLO');
Writed(0);
SendtoServer;
end;
end.
FromServer Тоже не дает никакого эффекта.
Добавлено через 3 минуты
Я вспомнил что раньше уже встречался с этой проблемой ,
Хламчег,
http://coderx.ru/showthread.php?t=8537 . Но всё равно интересно почему некорректно работают функции ConnectNameByID. И как это исправить.