Использую 4 скрипт от МКС
Вот пакеты при точке с +3 на +4
19 D8 7C 50 40 00 00 00 00 (UseItem)
D0 4C 00 BA 90 50 40 (RequestExTryToPutEnchantTargetItem)
5F BA 90 50 40 00 00 00 00 (RequestEnchantItem)
87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)
Вот поломка с +4 на 0
те же 1-ые 3
87 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (EnchantResult)
Результат. На +5 вещь сломалась. Далее точнулась с 0 на 1 и скрипт остановился. Визуально доспех точен на +5, реально +1.
Скрин
Скрипт
delphi Код:
const
nik='BigMen';
Enchant=5;
var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;
procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=3000;
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;
procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;
procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;
begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
3: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
Что в скрипте изменить, чтоб корректно работал?
(Может еще какие-нибудь входящие пакеты выложить?)