а что вы хотите найти в логе?
Добавлено через 6 часов 41 минуту
вроде придумал как обойти ето дело, просто сделал перебор всего хлама в пакете, но оно почемуто не совсем работает:
Код:
Var
i, lvl_1, lvl_2, ID : Integer;
Procedure Init;
begin
lvl_1:=100000;
lvl_2:=100600;
end;
Procedure Kill; //проверочная процедура.
begin
buf:=HStr('AA AA AA AA');
SendToServer;
pck:='';
end;
begin
if FromServer and (pck[1]=#$ХХ) then
begin
for i:=1 to 500 do
ID:=ReadD(i);
begin
if (ID>=lvl_1) and (ID<=lvl_2) then
begin
Kill;
end;
end;
end;
end.
по идее должно перебрать все содержимое пакета ХХ (брать по 4 байта), длинна пакета ХХ может быть разной (потому беру с запасом for i:=1 to 500), я знаю точно что значение ID (тоесть в пакете есть 4 байта которие = значению между lvl_1 и lvl_2) попадет между lvl_1 и lvl_2 после етого должна выполниться процедура Kill но она не работает. Если поставить только if (ID>=lvl_1) then или if (ID<=lvl_2) then то все работает на ура. В чем причина? Что мешает? да и еще таких ID может быть несколько, но думаю ето не важно.
АПД: все заработало.. я с числами напорол.
------------------------------------------------------------------------
Пишу новый скрипт и возникают новые проблемы с обработкой пакетов:
как преобразовать String в Integer ??
вот на таком примере:
если послать в чате сообщение пакет имеет вид B9 57 76 00 2F 00 2F 00 31 00 31 00 30 00 30 00 30 00 30 00 30 00 32 00 37 00 35 00 00 00 (в чате //1100000275) мне нужна ета часть 31 00 30 00 30 00 30 00 30 00 30 00 32 00 37 00 35 00 00 00 только прочитать как число 100000275(а не как String), потому что потом хочу ее использовать в другом пакете (а там уже надо ее числом представлять). Начало скрипта:
Код:
if FromClient and (ReadC(1)=$B9) then
begin
if (ReadS(5)='//1') then Pyx1:= "надо както преобразовать" ReadS(11);
АПД2:
нашол рабочий пример, уже применяю.