скрипт
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.