faq/stealth/inscription.txt · Last modified: 2020/12/14 08:05 (external edit)
 

Inscription

You can choose where to scribe scrolls from. (will be added with necrobook when possible).

program Inscription;
{$Include 'all.inc'}

var
ctime : TDateTime;

const
bsid = $0E34; //blanks
sbid = $0EFA; //Spellbook
ebid = $3DAB; //Erthbook

//Настройки
sboreb = 1; //0 - Spellbook, 1 - Earthbook
circle = '8'; //circle
spell = 'Resurrection'; //casting spell
ebookscroll = '103'; //Open Earthbook, count cast's number in order, add  100 and get a number. 103 - Shift; 106 - Bless; 108 - Heal


Procedure Meditation;
Begin
    ctime := Now;
  repeat
    UseSkill('Meditation');
    Wait(10200);
  until InJournalBetweenTimes('You enter', ctime, Now) <> -1;
  repeat
    wait(1000);
  until InJournalBetweenTimes('You stop m|lost|some time|at peace', ctime, Now) <> -1;
End;

procedure InscriptionEarthBook;
begin
  If TargetPresent then CancelTarget;
  ctime := Now;
  WaitGump(ebookscroll);
  CheckSave;
  UseSkill('inscription');
  WaitForTarget(5000);
  if TargetPresent then TargetToObject(findtype(bsid, backpack));
  CheckSave;
  WaitForTarget(5000);
  if TargetPresent then TargetToObject(findtype(ebid, backpack));
  CheckSave;
  Wait(500);
  WaitJournalLine(ctime, 'enough mana', 0);
  If InJournalBetweenTimes('enough mana', ctime, Now) <> -1 then Meditation;
end;

procedure Inscription;
Begin
  If TargetPresent then CancelTarget;
  ctime := Now;
  WaitMenu('a circle to', 'Circle ' + circle + ' spells');
  WaitMenu('a spell to', spell);
  UseSkill('Inscription');
  Wait(1000);
  If InJournalBetweenTimes('like to inscribe', ctime, Now) <> -1 then TargetToObject(FindType(bsid, backpack));
  Wait(1000);
  If InJournalBetweenTimes('which to inscribe', ctime, Now) <> -1 then TargetToObject(FindTypeEx(sbid, $0000, backpack, false));
  Wait(1000);
  WaitJournalLine(ctime, 'enough mana', 0);
End;

Begin
  SetARStatus(true);
  while not Dead do
  Begin
    if Connected then
    begin
      if Mana > 50 then
      begin
        if sboreb = 0 then
        begin
          Inscription;
        end
        else
        begin
          InscriptionEarthBook;
        end;
      end
      else
      begin
        Meditation;
      end;
      AddToSystemJournal('Blanks left: ' + IntToStr(GetQuantity(FindType(bsid, backpack))));
    end;
  End;
End.
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki