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.