Чар будет подходить ко всем продавцам, скупать NS, кастовать на себя poison пока NS есть в паке и так по кругу.
Code: Select all
Program Magery;
Function NextVendor2(Dist:Integer; var X,Y:Integer; var vName:String):Boolean;
var
Cur_Vend:Cardinal;
begin
Ignore(Self);
X:=0;
Y:=0;
vName:='';
Result:=false;
FindDistance:=Dist;
Cur_Vend:=FindType($0190,Ground);
Ignore(FindItem);
if Cur_Vend > 0 then begin
X:=GetX(Cur_Vend);
Y:=GetY(Cur_Vend);
vName:=GetName(Cur_Vend);
Result:=True;
end else begin
Cur_Vend:=FindType($0191,Ground);
Ignore(FindItem);
if Cur_Vend > 0 then begin
X:=GetX(Cur_Vend);
Y:=GetY(Cur_Vend);
vName:=GetName(Cur_Vend);
Result:=True;
end;
end;
end;
procedure BuyReg;
var
vendor_X,vendor_Y:Integer;
vendor_Name:String;
begin
FindVertical:=100;
while NextVendor2(20,vendor_X,vendor_Y,vendor_Name) do
begin
NewMoveXY(vendor_X,vendor_Y,false,2,false);
UOSay('Bye '+vendor_Name+' Buy');
CheckLag(15000);
wait(3000);
end;
IgnoreReset;
end;
procedure CheckHealth;
begin
if GetMaxHP(self) > GetMaxHP(self) then
begin
UOSay('guards');
Wait(1000);
CheckLag(15000);
SetWarMode(false);
end;
end;
procedure CastPoisonSelf;
begin
CheckLag(15000);
if TargetPresent then CancelTarget;
Cast('Poison');
CheckLag(15000);
WaitForTarget(5000);
if targetpresent then
begin
TargetToObject(self);
end;
CheckLag(15000);
Wait(2200);
end;
procedure Meditation;
begin
While GetMaxMana(self) > GetMana(self) do
begin
useskill('Meditation');
Wait(1000);
CheckLag(15000);
CheckHealth();
end;
end;
begin
ClearShopList();
AutoBuy($0F88, $0000, 999);
SetAutoBuyDelay(2000);
while GetSkillValue('Magery') < 100 do
begin
BuyReg();
while NSCount > 0 do
begin
CastPoisonSelf();
Meditation();
end;
end;
end.