Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

DRW Каторга

Only working scripts
Post Reply
Unholy
Novice
Novice
Posts: 119
Joined: 23.06.2008 2:26
Location: DRW

DRW Каторга

Post by Unholy »

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

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.
Post Reply