Рядом сундук с 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.


