скрипт  
 Code: Select all
program bc;
const
containerID = $402D0D34; // конт с логами и перьями  
daggerID = $401B5E04;    // даггер
logType = $1BDD;
arrowType = $0F3F;
shaftType = $1BD4;
featherType = $1BD1;
timeDelay = 1.0/(24*60*12);
var
cTime: tdatetime;
k : integer;
begin
  while NOT dead do begin
    wait(100);
    if findtype(logType, backpack) = 0 then begin
      useobject(backpack);
      checklag(70000);
      wait(300);
    end;
    if (findtype(arrowType, backpack) > 0) AND (findquantity > 100) then begin
      addtosystemjournal('Выкладываю стрелы.');
      moveitem(finditem, 0, containerID, 0, 0, 0);
      checklag(70000);
      wait(300);
    end;
    if findtype(logType, backpack) = 0 then begin
      if findtypeex(logType, $0000, containerID, false) = 0 then begin
        useobject(containerID);
        checklag(70000);
        wait(3000);
      end;
      while findtypeex(logType, $0000, containerID, false) = 0 do begin
        addtosystemjournal('Кончились логи в сундуке.');
        wait(20000);
        useobject(containerID);
        checklag(70000);
        wait(3000);
      end;
      
      addtosystemjournal('Беру полено.');
      moveitem(finditem, 1, backpack, 0, 0, 0);
      checklag(70000);
      wait(300);
    end;
    if findtype(featherType, backpack) = 0 then begin
      if findtypeex(featherType, $0000, containerID, false) = 0 then begin
        useobject(containerID);
        checklag(70000);
        wait(3000);
      end;
      while findtypeex(featherType, $0000, containerID, false) = 0 do begin
        addtosystemjournal('Кончились перья в сундуке.');
        wait(20000);
        useobject(containerID);
        checklag(70000);
        wait(3000);
      end;
      
      addtosystemjournal('Беру перья.');
      moveitem(finditem, 100, backpack, 0, 0, 0);
      checklag(70000);
      wait(300);
    end;
    if (findtype(logType, backpack) > 0) then begin
      addtosystemjournal('Делаю шафт.');
      k:=0; 
      CancelMenu;
      WaitMenu('What do you want', 'shaft');
      cTime := now;
      waittargettype(logType); 
      checklag(10000);
      if ObjAtLayer(rhandLayer) <> 0 then begin 
        addtosystemjournal('Юзаю даггер.');
        useobject(ObjAtLayer(rhandLayer));
        wait(1000);
      end;
      
      repeat
        wait(100)
        k:=k+1;
      until (injournalbetweentimes('You put', cTime, now) >= 0) OR (cTime+timeDelay <= now) OR (k > 300);
    end;
    if (findtype(shaftType, backpack) > 0) then begin
      addtosystemjournal('Делаю стрелу.');
      k:=0;
      CancelMenu; 
      WaitMenu('Select arrow type', 'arrow');
      cTime := now;
      useobject(findtype(shaftType, backpack));
      checklag(10000);
      repeat
        wait(100)
        k:=k+1;
      until (injournalbetweentimes('You put', cTime, now) >= 0) OR (cTime+timeDelay <= now) OR (k > 300);
    end;
  end;
end.

