Поправте скрипт на магию пожалста
Posted: 19.04.2012 1:48
Здрям! Собсна есть скрипт на прокачку магии, но с изьяном. Когда заканчиваются реагенты, новые не берёт.. Кто знает, поправте и лишнее уберите пожалста!
Program Magery;
{$Include 'all.inc'}
Var
k:integer;
Const
sback=$51EE5F31; // пак с регами
bpe=$0F7A;
gl=$0F84;
mre=$0F86;
sa=$0F8C;
tmana=30;
procedure getitemsgl(item:cardinal);
// процедура берет из контейнера 60 шт gl
begin
Useobject(sback);
wait(500);
if (count(item)=0) then
begin
findType(item,sback);
if (FindCount < 200) then
begin
k := FindQuantity;
Grab(finditem,300);
wait(1000);
checksave;
case item of
gl : addtosystemjournal('взял 300 GL из ' + inttostr(k));
end;
end;
end;
end;
procedure getitemsmre(item:cardinal);
// процедура берет из контейнера 60 шт mr
begin
Useobject(sback);
wait(500);
if (count(item)=0) then
begin
findType(item,sback);
if (FindCount < 200) then
begin
k := FindQuantity;
Grab(finditem,300);
wait(1000);
checksave;
case item of
mre : addtosystemjournal('взял 300 mr из ' + inttostr(k));
end;
end;
end;
end;
procedure getitemssa(item:cardinal);
// процедура берет из контейнера 60 шт sa
begin
Useobject(sback);
wait(500);
if (count(item)=0) then
begin
findType(item,sback);
if (FindCount < 200) then
begin
k := FindQuantity;
Grab(finditem,300);
wait(1000);
checksave;
case item of
sa : addtosystemjournal('взял 300 sa из ' + inttostr(k));
end;
end;
end;
end;
procedure getitemsbpe(item:cardinal);
// процедура берет из контейнера 60 шт bpe
begin
Useobject(sback);
wait(500);
if (count(item)=0) then
begin
findType(item,sback);
if (FindCount < 200) then
begin
k := FindQuantity;
Grab(finditem,300);
wait(1000);
checksave;
case item of
bpe : addtosystemjournal('взял 300 bpe из ' + inttostr(k));
end;
end;
end;
end;
Procedure Casting;
begin
getitemsmre(mre);
getitemsgl(gl);
getitemsbpe(bpe);
getitemssa(sa);
addtosystemjournal('Начинаю Шурум-Бурумить');
while true do begin
if (Mana < 33) then
begin
while (Mana < MaxMana) do
begin
useskill('Meditation');
wait(5200);
end;
end;
Cast('Mass Dispel');
WaitForTarget(200);
wait(5500);
end;
end;
procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
BEGIN
If connected then
begin
SetARStatus(true); {Включаю реконнектор}
while true do
begin
waitconnection(5000);
Finddistance:=2;
repeat
Casting;
until ( mana <= tmana);
if (GetSkillValue('Magery') > 100) then FullDisconnect;
end;
end;
END.
END.