Code: Select all
program CookingUp;
// Прокачка кукинга на рыбных стейках и форже
// (с) Edred, v.1.00 (первая и последняя)
{$Include 'all.inc'}
const
RawSteak = $097A;
HotSteak = $097B;
HowMinRawSteak = 2;
HowGetRawSteak = 100;
HowMaxHotSteak = 100;
Forge = $4004F0BD;
var
ctime : TDateTime;
k : integer;
procedure GetSteak;
begin
waitconnection(3000);
If Count(RawSteak) < HowMinRawSteak then
begin
FindType(RawSteak, ground);
if FindCount > 0 then
begin
k := FindQuantity;
Grab( FindItem, HowGetRawSteak );
wait(1000);
checksave;
Addtosystemjournal('Взял еще ' + inttostr(HowGetRawSteak) + ' стейков из ' + inttostr(k));
end
else
begin
Addtosystemjournal('Нет стейков на полу, добавьте');
repeat
wait(1000);
waitconnection(3000);
findtype(RawSteak, ground);
until FindCount > 0;
k := FindQuantity;
Grab(FindItem, HowGetRawSteak);
wait(1000);
checksave;
Addtosystemjournal('Взял еще ' + inttostr(HowGetRawSteak) + ' стейков из ' + inttostr(k));
end;
end;
end;
procedure DropSteak;
begin
waitconnection(3000);
If Count(HotSteak) >= (HowMaxHotSteak) then
begin
k := Count(HotSteak);
FindType(HotSteak, backpack);
while FindCount > 0 do
begin
Drop(FindItem, 0, 0, 0, 0);
wait(1000);
checksave;
Addtosystemjournal('Сбросил ' + inttostr(k) + ' стейков');
waitconnection(3000);
FindType(HotSteak, backpack);
end;
end;
end;
Begin
FindDistance:=2;
while true do
begin
waitconnection(5000);
if TargetPresent then CancelTarget;
if (WarMode = true) then SetWarMode(false);
DropSteak;
GetSteak;
ctime := Now;
if UseType(RawSteak,$FFFF) <> 0 then
begin
WaitForTarget(5000);
If TargetPresent then TargetToObject(Forge);
k := 0;
repeat
wait(100);
k := k + 1;
until (InJournalBetweenTimes('You burn|You put', ctime, Now)<>-1) or (k > 300);
end;
if GetSkillValue('Cooking') >= 100.0 then exit;
end;
End.