Рядом сундук с 10к бинтами.
Code: Select all
Program MeditationHealing;
const
sunduk = $400900D2; // ИД сундука с которого берем Бинты
clean_bandages = $0E21; // Тип чистых бинтов
bloody_bandages = $0E20; // Тип кровавых бинтов
a_wash_basin = $1008; // Тип чашки для мытья бинтов
kursa = $40460A33; // ИД курсы плаща
var
str : integer;
int : integer;
{$Include 'all.inc'}
procedure Check_World_Save;
var
k : integer;
begin
k:=0;
if (InJournalBetweenTimes('World is saving now', Now-EncodeTime(0,0,10,0), Now)<>-1) then
begin
k:=0;
addtosystemjournal('***** WorldSave *****');
repeat
k:=k+1;
wait(50);
until (InJournalBetweenTimes('World data saved', Now-EncodeTime(0,0,5,0), Now)<>-1) or (k > 2000) or dead;
end;
if (k>2000) then addtosystemjournal('***** Serve has bend povis ;) *****');
end;
procedure Wash;
begin
UseObject(FindType(bloody_bandages,Backpack));
wait(500);
WaitTargetObject(FindType(a_wash_basin,Backpack));
end;
procedure medium;// медитируем
var
mtime : TDateTime;
begin
repeat
mtime:=Now;
UseSkill('Meditation');
wait(500);
until ((InJournalBetweenTimes('You are at peace', mtime, Now)<>-1) or dead or (not connected));
wait(2000);
end;
procedure Heal;
var
ctime : TDateTime;
k : integer;
begin
SetWarMode(false);
repeat
ctime := Now;
Check_World_Save;
FindType(clean_bandages,Backpack)
if FindCount = 0 then
begin
UseObject(sunduk);
wait(500);
MoveItem(FindType(clean_bandages, sunduk), 100, Backpack, 0, 0, 0);
wait(700);
AddToSystemJournal('Закинул в пак 100 бинтов из сундука');
end;
UseObject(FindType(clean_bandages,Backpack));
WaitTargetSelf;
k:=0;
repeat
k:=k+1;
wait(100);
Check_World_Save;
until (((InJournalBetweenTimes('bloody|barely|does not need|bandage yet', ctime, Now))<>-1) or (k > 100));
wait(250);
until (((InJournalBetweenTimes('does not need you to heal or cure him.', ctime, Now))<>-1) or (k > 100));
wait(250);
AddToSystemJournal('Wash')
Wash;
AddToSystemJournal('End Wash')
wait(250)
end;
begin
str := MaxHP;
int := MaxMana;
repeat
UseObject(kursa);
AddToSystemJournal('Одел курсу');
wait(500);
repeat
wait(100);
until str <> Life;
UnEquip(GetLayer(kursa));
Heal;
until GetSkillValue('Healing') = 100.0;
repeat
UseObject(kursa);
AddToSystemJournal('Одел курсу');
wait(500);
repeat
wait(100)
until int <> Mana;
UnEquip(GetLayer(kursa));
medium;
until GetSkillValue('Meditation') = 100.0;
end.