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.