altairalentus
07.12.2011, 18:26
Скрипт автоматизирует использование свитков и еды
для настойки скрипта необходимо снять все бафы и использовать команду .memon после того как все свитки банки будут использованы пишем .memoff
Для того чтоб очистить список используйте команду .memc
Все скрипт готов к использованию после окончания действия бафа свитки будут автоматически использоваться.
Возможные проблемы:
- Возможное изменение ид итема после сплита стопок с свитками в инвентаре после этого может не использоваться данный итем
Работает на 2,1-2,5 возможно скоро будет на 2,7
Для работы скрипта необходимо создать файл baf.txt в папке пакетхака
//by Alatair_Alentus
var
b,i,l,f:integer;
pak,np,name,filename,tp:string;
s,t:tstringlist;
capture,memc:byte;
procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('baf.txt');
capture:=1;
end;
procedure Free ;
begin
s.savetofile('baf.txt');
end;
procedure check;
begin
//showmessage('check _stat');
b:=0;
t.clear;
for i:= 1 to readc(12) do
begin
t.add(inttostr(readh(18+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do
begin
if t.indexof(s.names[i])=-1 then useitem(s.names[i]);
end;
end;
procedure useitem(idn:string);
begin
buf:=HStr('CB 57 68');
writed(StrToInt(s.values[idn]));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
//showmessage(capture);
end;
procedure mem(mems:string;write:byte);
var str:string;
begin
str:=mems+str;
if write=1 then
begin
s.add(str);
str:='';
end;
//showmessage(str);
end;
procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;
begin
if FromClient and (pck[1]=HStr('b9')) then
begin
case reads(5) of
'.memon': cap(2);
'.memoff': cap(1);
'.memc': s.clear;
end;
end;
case capture of
0: ;
1: if FromServer and (pck[1]=HStr('4E')) then check;
2:
begin
if FromClient and (pck[1]=HStr('CB')) then mem('='+inttostr(readd(4)),0);
if FromServer and (pck[1]=HStr('4E')) then mem(IntToStr(readh(readc(12)*12+6)),1);
end;
end;
end.
Все спасибо за внимания
для настойки скрипта необходимо снять все бафы и использовать команду .memon после того как все свитки банки будут использованы пишем .memoff
Для того чтоб очистить список используйте команду .memc
Все скрипт готов к использованию после окончания действия бафа свитки будут автоматически использоваться.
Возможные проблемы:
- Возможное изменение ид итема после сплита стопок с свитками в инвентаре после этого может не использоваться данный итем
Работает на 2,1-2,5 возможно скоро будет на 2,7
Для работы скрипта необходимо создать файл baf.txt в папке пакетхака
//by Alatair_Alentus
var
b,i,l,f:integer;
pak,np,name,filename,tp:string;
s,t:tstringlist;
capture,memc:byte;
procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('baf.txt');
capture:=1;
end;
procedure Free ;
begin
s.savetofile('baf.txt');
end;
procedure check;
begin
//showmessage('check _stat');
b:=0;
t.clear;
for i:= 1 to readc(12) do
begin
t.add(inttostr(readh(18+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do
begin
if t.indexof(s.names[i])=-1 then useitem(s.names[i]);
end;
end;
procedure useitem(idn:string);
begin
buf:=HStr('CB 57 68');
writed(StrToInt(s.values[idn]));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
//showmessage(capture);
end;
procedure mem(mems:string;write:byte);
var str:string;
begin
str:=mems+str;
if write=1 then
begin
s.add(str);
str:='';
end;
//showmessage(str);
end;
procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;
begin
if FromClient and (pck[1]=HStr('b9')) then
begin
case reads(5) of
'.memon': cap(2);
'.memoff': cap(1);
'.memc': s.clear;
end;
end;
case capture of
0: ;
1: if FromServer and (pck[1]=HStr('4E')) then check;
2:
begin
if FromClient and (pck[1]=HStr('CB')) then mem('='+inttostr(readd(4)),0);
if FromServer and (pck[1]=HStr('4E')) then mem(IntToStr(readh(readc(12)*12+6)),1);
end;
end;
end.
Все спасибо за внимания