Stealth Client Forum
http://stealth.od.ua/forum/

DRW Каторга
http://stealth.od.ua/forum/viewtopic.php?f=3&t=4513
Страница 1 из 1

Автор:  Unholy [ 17.01.2019 23:46 ]
Заголовок сообщения:  DRW Каторга

Этот скрипт собирает экскременты на конюшне и сдаёт их. На DRW сегодня удалось выпустить из каторги 2-х персонажей.

 Если на каторге проблемы со стелсом
Мною был замечен интересный баг, на каторге не работает CheckLag и вылетает клиент. Первое не фиксится никак, второе фиксится тем, чтобы вручную подобрать первую какашку.


Код:
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.

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/