Если на каторге проблемы со стелсом
Code: Select all
program katorgaKakahi;
const
shitStone = $40123CEA; //Камень для сдачи говна
quitStone = $40121A2A; //камень выхода
horseplaceGate = $400FAE09; //Калитка для входа в конюшню
typeHPGOpen = $083A;
typeHPGClosed = $0839;
typeShit = $0F3B;
procedure wentToXY(x, y: integer);
begin
AddToSystemJournal('Goes to: ' + IntToStr(x) + ',' + IntToStr(y));
NewMoveXY(x,y,true,0,false);
end;
procedure spentShit;
var ctime: TDateTime;
begin
ctime := Now;
repeat
useObject(shitStone);
wait(500);
until InJournalBetweenTimes('Go and pick|may quit this region', ctime, Now) <> -1;
end;
procedure openForseplaceGate;
var hpType: Word;
begin
hpType := GetType(horseplaceGate);
case hpType of
typeHPGClosed:
begin
AddToSystemJournal('door was closed');
OpenDoor;
wait(600);
end;
typeHPGOpen:
begin
AddToSystemJournal('door was opened');
OpenDoor;
wait(600);
OpenDoor;
wait(600);
end;
else
begin
AddToSystemJournal('Strange type of gate ' + IntToStr(hpType));
exit;
end;
end;
end;
procedure waitForShitResp;
begin
AddToSystemJournal('Wait for shit');
repeat
wait(600);
FindType(typeShit,ground);
until FindItem <> 0;
end;
procedure grabAllShit;
begin
AddToSystemJournal('Collect shit');
while FindType(typeShit,ground) <> 0 do
begin
wentToXY(getX(FindItem), getY(FindItem));
useObject(FindItem);
wait(600);
end;
end;
procedure wentToStone;
begin
wentToXY(1315, 981);
openForseplaceGate;
wentToXY(1318, 950); //stone
end;
procedure wentIn;
begin
wentToXY(1315, 978);
openForseplaceGate;
wentToXY(1310, 982);
end;
begin
FindDistance:= 15;
repeat
wentIn;
waitForShitResp;
grabAllShit;
wentToStone;
ClearJournal;
spentShit;
AddToSystemJournal(Journal(HighJournal));
until InJournal('may quit this region') <> -1;
useObject(quitStone);
end.