Code: Select all
...
var
...
r_cave : array[1..16] of integer;
j : integer;
rune : integer;
...
procedure recal_rb(rune : integer);
   var tmpr : Integer;
   mx, my, k, Res : Integer;
   begin
repeat
      Res := 0;
   tmpr := rune;
   UseObject(runebook_cave);
   while GetGumpID(GetGumpsCount-1) <> $01CC do
      wait(550);
   waitgump(IntToStr(tmpr));
   wait(1000)   
   mx := GetX(self);
   my := GetY(self);
      k := 0;
   repeat
      wait(500)
      k := k + 1;
   until (mx<>GetX(self)) or (my<>GetY(self)) or Dead or (k = 20)
   if (mx<>GetX(self)) or (my<>GetY(self)) then Res := 1;
until Res = 1;  
end;
...
begin
  ScriptStartTime := Now;
  HowManyDischarge := 0;
  StartFlag := 1;
  j:=1;
  r_cave[1]:=7;
  r_cave[2]:=13;
  r_cave[3]:=19;
  r_cave[4]:=25;
  r_cave[5]:=31;
  r_cave[6]:=37;
  r_cave[7]:=43;
  r_cave[8]:=49;
  r_cave[9]:=55;
  r_cave[10]:=61;
  r_cave[11]:=67;
  r_cave[12]:=73;
  r_cave[13]:=79;
  r_cave[14]:=85;
  r_cave[15]:=91;
  r_cave[16]:=97;
   repeat
      CheckDead;
      rune := r_cave[j];
   recal_rb(rune);
      repeat
         CheckDead;
         if Dead then break;
         checkPickaxe;
         minret := MiningAround;
         CheckDead;
         if Dead then break;
         if minret = 4 then  checkpickaxe;
         if minret = 1 then j:=j+1;
      until minret = 2;
      CheckDead;
   recal_rb(r_home);
      if not Dead then
 ...
end.


