Inscription

В скрипте можно переключить откуда пишутся скроллы (по возможности дополню некробукой).

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

var
ctime : TDateTime;

const
bsid = $0E34; //бланки
sbid = $0EFA; //спеллбук
ebid = $3DAB; //ебук

//Настройки
sboreb = 1; //0 - спеллбук, 1 - ебук
circle = '8'; //круг
spell = 'Resurrection'; //каст
ebookscroll = '103'; //Открываем ебук, считаем по порядку номер каста плюсуем к нему 100 и получаем цифру. 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('Осталось бланков: ' + IntToStr(GetQuantity(FindType(bsid, backpack))));
    end;
  End;
End.
 
faq/stealth/inscription.txt · Последние изменения: 2019/11/14 11:12 — tsatsur
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki