Показать сообщение отдельно
Старый 25.11.2011, 03:55   #9
Новичок
 
Аватар для Pocuk
 
Регистрация: 25.10.2011
Сообщений: 17
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pocuk пока неопределено
По умолчанию

а что вы хотите найти в логе?

Добавлено через 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:
нашол рабочий пример, уже применяю.

Последний раз редактировалось Pocuk, 30.11.2011 в 16:23. Причина: Добавлено сообщение
Pocuk вне форума   Ответить с цитированием