Показать сообщение отдельно
Старый 21.06.2009, 18:17   #95
Новичок
 
Аватар для dev
 
Регистрация: 21.06.2009
Сообщений: 5
Сказал Спасибо: 7
Имеет 4 спасибок в 3 сообщенях
dev пока неопределено
По умолчанию

Ответ сервера (Megal2.ru) - 3 пакета:

1.Tип: 0x21 (InventoryUpdate): Кол-во оставшихся заточек
Код:
21 01 00 02 00 04 00 D6 4E 04 10 B2 19 00 00 0B 00 00 00 24 01 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2.Tип: 0x21 (InventoryUpdate): Информация о затачиваемом предмете, с текущим уровнем заточки
Код:
21 01 00 02 00 01 00 56 2D 0B 10 D7 24 00 00 0C 00 00 00 01 00 00 00 01 00 00 00 01 00 00 10 00 00 05 00 00 00 00 00 00 00 FF FF FF FF FE FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3.Tип: 0x87 (EnchantResult): Текущий уровень заточки предмета
Код:
87 05 00 00 00 05 00 00 00 05 00 00 00
Вопрос:
Ранее для остановки скрипта можно было зацепиться за 0x87, проверить по 0012 d (id предмета), теперь вместо 0012 d отдаёт 000С d (id предмета).

Скрипт выдаёт ошибку:


PHP код:
const
Name='******';   
var  
timer:TTimer;  
x:byte//ii?aaaeaiea, eaeiaa aaenoaea ii n?aoo iu niaa?oaai  

procedure Init;  
begin  
timer
:=TTimer.Create(nil);  
timer.interval:=150;  
timer.OnTimer:=@fireTimer;  
timer.enabled:=true;  
x:=1;//nia?aea o=1  
end;  

procedure Free;  
begin  
timer
.Free;  
end;  

procedure fireTimer(SenderTObject);  
begin  
case x of  
1
:begin  
     buf
:=hstr('5F 48 65 BF 19 00 00 00 00 ');  
     
SendToServerEx(Name);  
     
inc(x);  
   
end;  
2:begin  
     buf
:=hstr('5F 48 65 BF 19 00 00 00 00 ');  
     
SendToServerEx(Name);  
     
x:=1;  
   
end;  
end;{case}
end;

//кусок ниже ты получается влепил в таймер, пришлось расставить еще пару end; и begin;
begin
if FromServer then  
  begin  
    
case pck[1of  
      
#$21: begin //InventoryUpdate  
        
if (ReadD(0C)=9456) and (ReadD(34)=5then timer.enabled:=false;;
      
end;  
end;
end;
end
Забавно то, что при составлении пакета id вещи показывается в 0012 d, но когда пакет приходит с сервера - пх показывает id в 000С d.

В связи с чем скрипт точит не останавливаясь, пока не заканчиваются заточки.

[+] Если установить таймер менее чем на 2500 - вещь временами ломается на +4, при том, что на сервере +4 безопасно.

Последний раз редактировалось dev, 21.06.2009 в 18:27.
dev вне форума   Ответить с цитированием