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

Item ID на стопке с автодобором

Only working scripts
Post Reply
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Item ID на стопке с автодобором

Post by Edred »

Item ID на стопке с автодобором и выкладыванием (тем самым скрипт автоматически определяет, на каком кол-ве можно качать наилучшим образом).

Code: Select all

Program ItemID;
// v.1.00b (c) Edred
//
// Прокачка ИтемАйди на найтшеде с 0 и до максимума.
// Кучу найтшеда под ноги и вперед, с песнями!
// Идея скрипта: чар берет 100 найтшеда в пак (в стек) и проверяет,
// может ли он качать скилл на этой куче. Если нет - начинает откладывать
// по 10 шт, пока не найдет, на скольки может качать. Качает на этом кол-ве
// 5 мин. Потом снова берет 100 найтшеда в стек (к уже имеющимся) и по кругу.


{$Include 'all.inc'}

var
ctime : TDateTime;
changeflag : TDateTime;
k : integer;
m1 : integer;
m2 : integer;
m3 : integer;
fl : integer;

const
NSType = $0F88;		// NightShade
NotSkilled = 'You are not skilled';		// Не хватает скилла
Estimate = 'You estimate';
Anything = 'think of anything off';

	procedure GetNS;
	begin
		FindType(NSType, ground);
		if FindCount > 0 then
		begin
			Grab(FindItem,100);
			wait(1000);
			checksave;
		end;
	end;

	procedure DropNS;
	begin
		FindType(NSType, backpack);
		if FindQuantity > 20 then
		begin
			Drop(Finditem,10,0,0,0);
			wait(1000)
			checksave;
		end;
		if FindQuantity <= 20 then
		begin
			Drop(Finditem,1,0,0,0);
			wait(1000)
			checksave;
		end;
	end;

Begin
	FindDistance := 2;
	changeflag := Now + EncodeTime(0,5,0,0);
	while not dead do
	begin
		waitconnection(5000);
		GetNS;
		fl := 0
		repeat
			if TargetPresent then CancelTarget;
			ctime := Now;
			UseSkill('Item ID');
			WaitTargetType(NSType);
			k := 0;
			repeat
				wait(100);
				k := k + 1;
				m1 := InJournalBetweenTimes(NotSkilled, ctime, Now);
				m2 := InJournalBetweenTimes(Estimate, ctime, Now);
				m3 := InJournalBetweenTimes(Anything, ctime, Now);
			until (m1 <> -1) or (m2 <> -1) or (m3 <> -1) or (k > 200);
			if (m1 <> -1) then
			begin
				DropNs;
			end;
			if (m2 <> -1) and (fl = 0) then
			begin
				Addtosystemjournal('Можем качать на ' + IntToStr(Count(NSType)) + ' NS');
				fl := 1;
			end;
			waitconnection(5000);
		until Now > changeflag;
		changeflag := Now + EncodeTime(0,5,0,0);
	end;
End.
Post Reply