Code: Select all
Program Poisoning;
var
syndyk1,syndyk2,orywie :cardinal;
me,time : TDateTime;
e,o,b,t,n,m,q,w,h : Integer;
{$Include 'all.inc'}
Begin
SetARStatus(true);
Hungry(1,ground);
{=Требуется настройка ! ! !=}
syndyk1 := $536E9755; {Указать ID сундука с полными кегами}
syndyk2 := $536E968D; {Указать ID сундука с пустыми кегами}
orywie := $45E169AE; {Указать ID какого либо оружия, которое находится у себя в сумке, например дайгер}
{=Требуется настройка ! ! !=}
while not Dead do
begin
waitconnection(3000);
Hungry(1,ground);
for t:=1 to 100 do begin
if (not dead) and (connected) then begin
CheckSave;
FindType($1940,backpack);
if FindCount <= 0 then begin
if (GetDistance(syndyk1)> 2) or (GetDistance(syndyk1)< 0) then begin
AddToSystemJournal('Your chest #1 far lays or does not exist! Disconnecting...');
fulldisconnect;
end;
useobject(syndyk1);
wait(3000);
FindType($1940,syndyk1);
if (FindCount <= 0) and (connected) then begin
AddToSystemJournal('Your chest is empty! Disconnecting...');
fulldisconnect;
end;
if FindCount > 0 then begin
Grab(finditem,0);
q := 1;
repeat {ждать пока в паке найдеться кег или пройдет 10000 сек}
wait(500);
q := q + 1;
until (findtype($1940,backpack) > 0) or (q > 20)
end;
end;
UseObject(finditem);
me := Now;
h := 1;
repeat
e := InJournalBetweenTimes('That keg is empty.', me, Now);
if (e >= 0) then
begin
wait(3000);
me := Now;
CheckSave;
if (GetDistance(syndyk2)> 2) or (GetDistance(syndyk2)< 0) then begin
AddToSystemJournal('Your chest #2 far lays or does not exist! Disconnecting...');
fulldisconnect;
end;
FindType($1940,backpack);
if FindCount > 0 then begin
MoveItem(finditem,0,syndyk2,0,0,0);
n := 1;
repeat {ждать пока в паке не найдеться кег или пройдет 10000 сек}
wait(500);
n := n + 1;
until (findtype($1940,backpack) <= 0) or (n > 20)
end;
CheckSave;
if (GetDistance(syndyk1)> 2) or (GetDistance(syndyk1)< 0) then begin
AddToSystemJournal('Your chest #1 far lays or does not exist! Disconnecting...');
fulldisconnect;
end;
useobject(syndyk1);
wait(3000);
FindType($1940,syndyk1);
if (FindCount <= 0) and (connected) then begin
AddToSystemJournal('Your chest is empty! Disconnecting...');
fulldisconnect;
end;
if FindCount > 0 then begin
Grab(finditem,0);
m := 1;
repeat {ждать пока в паке найдеться кег или пройдет 10000 сек}
wait(500);
m := m + 1;
until (findtype($1940,backpack) > 0) or (m > 20)
UOSay('The new keg is taken!');
end;
end;
w := InJournalBetweenTimes('The new keg', me, Now);
b := InJournalBetweenTimes('You fill a bottle', me, Now);
o := InJournalBetweenTimes('You are out', me, Now);
wait(200);
h := h +1;
until (h > 250) or (b >= 0) or (o >= 0) or (w >= 0);
{Часть с пойзоном}
FindType($0F0A,backpack);
if FindCount > 0 then begin
checksave;
if targetpresent then canceltarget;
time := now;
useskill('Poisoning');
waitfortarget(5000);
if targetpresent then
begin
WaitTargetType($0F0A);
waitfortarget(5000);
if targetpresent then targettoobject(Orywie);
waitjournalline(time,'You fail to apply|You have successfully|You fail and poison',30000);
wait(8000);
end;
end;
end;
end;
end;
End.