Code: Select all
Program SparringHeal;
// Непрерывный подхил чара во время боя и во время ожидания.
// Сброс кровавых бинтов и подбор с пола чистых.
// (Для шарда Forest Wars. Особенность: новое использование бинтов
// только после завершения предыдущего использования. Оружие
// из рук не выпадает.)
// v.1.00b (c) Edred
{$Include 'all.inc'}
var
ctime : TDateTime;
k : integer;
const
Bint=$0E21;
BlBint=$0E20;
Begin
FindDistance:=2;
while not Dead do
begin
if (Count(Bint) = 0) then
begin
// доберем бинтов и сбросим кровавые
FindType(Bint, Ground);
if (FindCount > 0) then
begin
Grab(finditem,20);
wait(1000);
end
else
begin
addtosystemjournal('Не нашел бинтов! Подложите на пол!');
repeat
wait(500)
FindType(Bint, Ground);
until (FindCount > 0);
Grab(finditem,20);
wait(1000);
end;
FindType(BlBint, Backpack);
while (FindCount > 0) do
begin
Drop(finditem,0,0,0,0);
wait(1000);
FindType(BlBint, Backpack);
end;
end;
// лечимся до восстановления здоровья
while (HP < MaxHP) and (Count(Bint) > 0) do
begin
FindType(Bint, Backpack);
if TargetPresent then CancelTarget;
ctime := Now;
UseObject(FindItem);
WaitForTarget(5000);
If TargetPresent then TargetToObject(Self);
k := 0;
repeat
wait(100);
k := k + 1;
until (InJournalBetweenTimes('You put the bloody bandage|failed.', ctime, Now)<>-1) or (k > 300);
end;
end;
End.