Poisoning

Trike

Трёхколёсный
Developer
HTML:
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.
Необходимо, чтобы в бекпеке чара была 1 пустая бутылка. Требуется настройка скрипта под себя.
 
Подскажите в чем может быть проблема,постоянно когда собиратеся пойзонить пишет Target failed. You dont have a target cursor!понимаю что курсора не попадает на оружие но как это исправить?
 
Код:
{Часть с пойзоном}
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;
думаю , беда где-то здесь ..

"waitfortarget(5000);" ?? "WaitTargetType($0F0A);" ??

Код:
Procedure make_item;
Begin
if TargetPresent then CancelTarget;
CheckLag (20000);
FindTypeEx(POISON_POTION_TYPE, $FFFF, Backpack, false);
if FindQuantity > 1 then
  begin
   useskill('Poisoning');
   WaitForTarget(9000);
   If TargetPresent Then
    begin
     TargetToObject(FindType(POISON_POTION_TYPE,BackPack));
     WaitForTarget(3000);
     If TargetPresent Then
      begin
       TargetToObject(FindType(SPEAR_OR_WHATEVER_TYPE,backpack);
       waitjournalline(Now,'You fail to apply|You have successfully|You fail and poison',30000);
      end;
    end;
  end;
end.
хз потести, может проканает
...

Код:
WaitTargetObject(FindType(itemtype,backpack));
такая форма симпатичней, можешь попробовать её уюзать
 
Сверху