Sir R. M8gic1an
2010-08-02 08:11:11
Program AirCrafter; //By mrpickle
// Thanks to Frement and Ogre (dillon) for much assistance in helping me pinpoint where doesn't work, and testing.
// Thanks to others like Nava & I luvz yeww for getting me to switch to Simba... which solved most problems.
{.include srl/srl.scar}
{.include srl/srl/skill/RuneCrafting.scar}
// Mid Point Map = 627,85
type
Grids = record
gX :Integer;
gY :Integer;
end;
//var MyGrids: Grids;
var
WestBankTree1,WestBankTree2,WestBankTree3,WestBankTree4,WestBankTree5,WestBankTree6,AirTiara,AirTiara2 , AirTalisman, RuneEssence, AirRune:Integer;
TiaraCheck,TalismanCheck,EssReady:Boolean;
TP : TPoint;
x,y,Index,WaitAmount:Integer;
ExpGained, AirRunesCreated, NumRuns, RuneEssenceUsed,MarkStart:Integer;
const
PixelInGrid = 4;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'ewryewu'; // Bot username.
Players[0].Pass := 'weher'; // Bot password.
Players[0].Nick := 'erhw'; // 3-4 letters of whatever you wanna name this bot.
Players[0].Active := True; // Do you wanna use it?
Players[0].Integers[1] := 1000; // How many loads to do.
// Delete the brackets for the amount of players you want to use.
// And edit the HowManyPlayers.
{
Players[1].Name := ''; // Your RS username.
Players[1].Pass := ''; // Your RS password.
Players[1].Nick := ''; // 3-4 letters of your RS username.
Players[1].Active := True; // Is player active?
Players[1].Integers[1] := 30; // How many loads to do.
}
{
Players[2].Name := ''; // Your RS username.
Players[2].Pass := ''; // Your RS password.
Players[2].Nick := ''; // 3-4 letters of your RS username.
Players[2].Active := True; // Is player active?
Players[2].Integers[1] := 30; // How many loads to do.
}
{
Players[3].Name := ''; // Your RS username.
Players[3].Pass := ''; // Your RS password.
Players[3].Nick := ''; // 3-4 letters of your RS username.
Players[3].Active := True; // Is player active?
Players[3].Integers[1] := 30; // How many loads to do.
}
end;
Procedure SetCompass(High:Boolean; Degrees:Integer);
begin
SetAngle(High);
if(not(rs_GetCompassAngleDegrees = Degrees))then
begin
MakeCompass(Degrees);
end;
Writeln('Compass Set');
end;
Procedure LoadBitmapsDTMs;
begin
WestBankTree1 := BitmapFromString(1, 2, 'beNrT5VIOEYkCAANQAR0=');
WestBankTree2 := BitmapFromString(1, 2, 'beNrT5TJOkowCAAPEAUA=');
WestBankTree3 := BitmapFromString(1, 2, 'beNrT51YIEw0HAANaAR0=');
WestBankTree4 := BitmapFromString(1, 2, 'beNrT5VELEYsFAANtASc=');
WestBankTree5 := BitmapFromString(1, 2, 'beNoz4lSMFI4AAANsASE=');
WestBankTree6 := BitmapFromString(1, 2, 'beNrT51YME40AAANfAR8=');
AirRune := DTMFromString('78DA63B461666058CBC8800CEE5EB902A661A' +
'28C2E4035CB51D5303030A1AA7100AA5942400DC8AEC504D49811360' +
'70073AC071D');
AirTiara := DTMFromString('78DA63AC666660D8CCC8800CEE5FBB0AA661A' +
'28C7940359B50D5303030A1AAC905AA5945404D07116A5A806A36E05' +
'70300FC9E087C');
AirTiara2 := DTMFromString('78DA63B4626660D8CAC8800C1E5CBF06A661A' +
'28CBA4035EB51D5303030A1AAD103AA5943408D27116A9C806A76E25' +
'703007A0D0749');
AirTalisman := DTMFromString('78DA63EC62626098C8C8800C3EBF7C01A661A' +
'28C4D40355351D5303030A1AAE907F26713503311C86F20A0661690D' +
'F8A5F0D000AC90872');
RuneEssence := DTMFromString('78DA635CCFC8C0B01D8891809FB7179886893' +
'282D4EC4155E3E2E888AA0664C611026A5600593B08A8590B64ED22A' +
'0661D90B51BBF1A001E440D56');
{ AirTiara := BitmapFromString(19, 1, 'beNorK8vLzAwPDmZgYISjJXPnrl' +
'i4YPGc2feuXpkxaRKQLMnPR1YARNUAIGERaw==');
RuneEssence := BitmapFromString(27, 1, 'beNpjYGJgYLKxtHS0s3Nzdvb28A' +
'AiXy8vCArw8YGgIH8/CAoJDASisOBgIIoMDQWi6PDw2MjI5Pj4rNT' +
'UvMxMBgBdIBex');
AirRune := srl_GetBitmap(18);
AirTalisman := srl_GetBitmap(31); // These bitmaps have failed me xD
AirRune := BitmapFromString(18, 1, 'beNprbclJT7975XJBdnZRbm5Jfj6' + //
'QDUFVJSUQRn1VVWNNdXNdLVyqCwCSSiMh');
AirTalisman := BitmapFromString(1, 11, 'beNoLD2dgYHpw/RoQARm+Xl4BP' +
'j4rFi6EoLDg4GgA7UsOqw=='); }
end;
// Click. True = Left click, False = Right Click
function MouseAroundForUpTextEx(UpText:String; WaitMs, NumTrials, x1, y1, x2, y2: Integer; Click :Boolean): Boolean;
var
x, y, i: integer;
begin
Result := False;
repeat
x := Random(x2 - x1);
y := Random(y2 - y1);
MMouse(x1, y1, x, y);
Wait(WaitMs + Random(150));
if (IsUpText(UpText)) then
begin
GetMousepos(x, y);
Mouse(x, y, 0, 0,Click);
Result:= True;
Exit;
end;
Wait(WaitMs + Random(150));
Inc(i);
until (i > NumTrials);
end;
Function WaitForBitmap(Bitmap,SearchRate,TimeBeforeStop:integer):Boolean;
var timer:integer;
begin
Result := False;
timer := 0;
Repeat
wait(SearchRate);
Timer := Timer + 1
writeln('Waiting for bitmap' + Inttostr(Bitmap));
If Timer > TimeBeforeStop then
begin
Writeln ('Bitmap '+ InttoStr(Bitmap) + ' Took too long to load');
break;
end;
Until(FindBitmap(Bitmap,x,y));
if(FindBitmap(Bitmap,x,y))then
Result := true;
//FreeBitmap(Bitmap);
end;
Function DTMexistsInv(DTM:Integer):Boolean;
begin
If(FindDTM(DTM,x,y,549,206,737,463))then
begin
result := True;
end else
begin
result := False;
end;
end;
Procedure InitializePlayer;
var
Slot1:TPoint;
xTo,yTo,Count:Integer;
begin
LoginPlayer;
SetCompass(True,0);
If(not(GetCurrentTab = 25))Then ////// To Inventory
begin
Mouse(650,180,12,14,true); //GameTab(25) // GameTab has a delay that I dont like.
wait(750+random(500));
end;
If(FindDTM(AirTiara2,x,y,549,206,737,463))Then
begin
Writeln('Equiping Air Tiara');
Mouse(x,y,4,3,true);
wait(550+random(250));
//TiaraCheck := True;
end;
If(FindDTM(AirTalisman,x,y,549,206,737,463))Then
begin
If not(CoordsToItem(x,y) = 1)Then
begin
Slot1 := ItemCoords(1);
xTo := Slot1.x;
yTo := Slot1.y;
DragMouse(x,y,4,3,xTo,yTo,3,3);
Writeln('Air Talisman moved to Slot 1');
end else
begin
Writeln('Air Talisman found in Slot 1');
end;
wait(250+random(250));
TalismanCheck := True;
end;
Mouse(677,175,12,14,true);//GameTab(26)////// To Equip Section!
wait(1550+random(500));
If(FindDTM(AirTiara,x,y,624,213,659,244))Then
begin;
Writeln('Found Air Tiara equiped');
TiaraCheck := True;
end;
Mouse(650,180,12,14,true); //GameTab(25)
If(Not BankScreen)Then
begin
Repeat
If(OpenBank('vwb',true,true))then //its so slow.... and fails alot
break;
Wait(100);
Count := Count + 1;
If (Count > 2)and(count < 5) then
begin
// If(MouseAroundForUpTextEx('booth',250, 1,30,5,130,176,false))Then
If(SpiralMouse(x,y,18,20,300,240,'ooth',30,12)) Then
begin
Mouse(x,y,0,0,false);
wait(650+random(350));
ChooseOption('uickl');
break;
end;
end;
If (Count > 4) then
begin
// If(MouseAroundForUpTextEx('booth',250, 1,368,53,438,216,false))Then
If(SpiralMouse(x,y,302,5,495,272,'ooth',40,10)) Then
begin
Mouse(x,y,0,0,false);
wait(650+random(350));
ChooseOption('uickl');
break;
end;
end;
If (Count > 8) then
begin
writeln('cannot find Bank');
logout;
terminateScript;
end;
Until(BankScreen);
count := 0;
end;
wait(1000+random(700));
If(TiaraCheck) Then
begin
DepositAll;
TalismanCheck := False;
end;
If(Not(TiaraCheck)) and (TalismanCheck)Then
begin
Deposit(2, 28, True);
end;
wait(1000+random(500));
FixBank;
If(FindDTM(RuneEssence,x,y,24, 83,479, 292))then
begin
TP := MSTPointToBankPoint(Point(x,y));
x := TP.x;
y := TP.y;
// Index := BankPointToBankIndex(TP);
If(Withdraw(x, y, 99))Then
begin
writeln('We have gotten New Rune Essence');
CloseBank;
Mouse(650,180,12,14,true); // Gametab(25);
EssReady := True;
end;
end;
If(EssReady)Then
begin
writeln('Player Ready To go for first Run');
end else
begin
writeln('Player failed....');
terminateScript;
end;
end;
Procedure StartNextPlayer;
var i:integer;
begin
logout;
Players[CurrentPlayer].Active := False;
repeat
If((HowManyPlayers - 1) > (CurrentPlayer + i ))Then
begin
If(Players[CurrentPlayer].Active = True)Then
begin
writeln('Player ' + inttoStr(CurrentPlayer) + ' is up');
TiaraCheck := False;
TalismanCheck := False;
InitializePlayer;
end;
end;
inc(i);
Until (AllPlayersInactive);
end;
Procedure TryingToKeepYouUnBanned;
begin
case Random(225) of
0..13 : Wait(1);
14-15 :
begin
HoverSkill('runecrafting', False);
GameTab(25);
end;
16-17 :
begin
GameTab(22);
Wait(1000 + Random(3000));
GameTab(25);
end;
18-20 :
begin
if (Random(2) = 1) then
begin
Keydown(VK_RIGHT);
KeyDown(Vk_Down);
Wait(300+random(1500));
KeyUp(VK_RIGHT);
KeyUp(Vk_Down);
end else
begin
Keydown(VK_LEFT);
Wait(300 + Random(1500));
KeyUp(VK_LEFT);
end;
Wait(1400 + Random(1400));
MakeCompass('N');
end;
21 - 60: MMouse(Random(500), Random(500), 0, 0);
61 - 80: RandomRClick;
81 - 99: PickUpMouse;
end;
end;
Function StartGridFromBank:Grids;
var ToStartGridx,ToStartGridy:Integer;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
FindNormalRandoms;
If(FindBitmapToleranceIn(WestBankTree1,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree2,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree3,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree4,x,y,550,80,665,125,15)xor FindBitmapToleranceIn(WestBankTree5,x,y,550,80,665,125,15)xor FindBitmapToleranceIn(WestBankTree6,x,y,550,80,665,125,15))Then
begin
ToStartGridx := x + 45;
ToStartGridy := y + 4;
Mouse(ToStartGridx,ToStartGridy,0,2,true);
With Result do
begin
gX := 57;
gY := 0;
end;
end else
begin
Mouse(627,85+6*PixelInGrid,0,0,true); // Moved character north abit. attemps to fix this problem
If(FindBitmapToleranceIn(WestBankTree1,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree2,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree3,x,y,550,80,665,125,15) xor FindBitmapToleranceIn(WestBankTree4,x,y,550,80,665,125,15)xor FindBitmapToleranceIn(WestBankTree5,x,y,550,80,665,125,15)xor FindBitmapToleranceIn(WestBankTree6,x,y,550,80,665,125,15))Then
begin
ToStartGridx := x + 45;
ToStartGridy := y + 4;
Mouse(ToStartGridx,ToStartGridy,0,2,true);
With Result do
begin
gX := 57;
gY := 0;
end;
end;
end;
end;
// Positivex = right Positivey = down
// and only ~80% accurate in terms of going exactly on the wanted grid
Function MoveGrids(MoveXGrid,MoveYGrid:Integer):Grids;
begin
Mouse(627+MoveXGrid*PixelInGrid,85+MoveYGrid*PixelInGrid,0,0,true);
With result do
begin
gX := gX + MoveXGrid;
gY := gY + MoveYGrid;
end;
end;
procedure FlagWait(MiliSeconds:Integer);
begin
if (FlagPresent) then
begin
repeat
wait(450+random(550));
until (FlagPresent = false)//(FFlag(15))
wait(MiliSeconds+random(400));
end;
end;
Procedure ToAltar;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
FindNormalRandoms;
If(RunEnergy(35))Then
begin
WaitAmount := 400; // saves a tiny insignificant amount of time.
end else
begin
WaitAmount := 500;
end;
MoveGrids(-13,4);
FlagWait(WaitAmount);
MoveGrids(-9,8);
FlagWait(WaitAmount);
MoveGrids(-12,5);
FlagWait(WaitAmount);
MoveGrids(-9,4);
FlagWait(WaitAmount);
MoveGrids(-10,10);
FlagWait(WaitAmount);
FindNormalRandoms;
end;
Procedure ToBank;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
FindNormalRandoms;
If(RunEnergy(35))Then
begin
WaitAmount := 400;
end else
begin
WaitAmount := 500;
end;
MoveGrids(12,-9);
FlagWait(WaitAmount);
MoveGrids(9,-1);
FlagWait(WaitAmount);
MoveGrids(11,-1);
FlagWait(WaitAmount);
MoveGrids(9,-7);
FlagWait(WaitAmount);
MoveGrids(9,-8);
FlagWait(WaitAmount);
StartGridFromBank;
FlagWait(WaitAmount);
MoveGrids(2,-5);
FlagWait(WaitAmount);
end;
Function Bank(Bitmap:Integer):Boolean;
var
Count:integer;
exitCheck:Boolean;
Begin
If(Not Loggedin)Then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
FindNormalRandoms;
UseRewardBox;
If(Not BankScreen)Then
begin
Repeat
If(OpenBank('vwb',true,true))then //its so slow.... and fails alot
break;
Wait(100);
Count := Count + 1;
If (Count > 2)and(count < 5) then
begin
// If(MouseAroundForUpTextEx('booth',250, 1,30,5,130,176,false))Then
If(SpiralMouse(x,y,18,20,300,240,'ooth',30,12)) Then
begin
Mouse(x,y,0,0,false);
wait(650+random(350));
ChooseOption('uickl');
break;
end;
end;
If (Count > 4) then
begin
// If(MouseAroundForUpTextEx('booth',250, 1,368,53,438,216,false))Then
If(SpiralMouse(x,y,302,5,495,272,'ooth',40,10)) Then
begin
Mouse(x,y,0,0,false);
wait(650+random(350));
ChooseOption('uickl');
break;
end;
end;
If (Count > 8) then
begin
writeln('cannot find Bank');
logout;
terminateScript;
end;
Until(BankScreen);
count := 0;
end;
wait(1000+random(523));
If(BankScreen)Then
Begin
If(TalismanCheck) Then
begin
Deposit(2, 28, True);
end;
If(TiaraCheck)Then
begin
DepositAll;
end;
FixBank;
If(FindDTM(RuneEssence,x,y,24, 83,479, 292))then
begin
TP := MSTPointToBankPoint(Point(x,y));
x := TP.x;
y := TP.y;
// Index := BankPointToBankIndex(TP);
If(Withdraw(x, y, 99))Then
begin
writeln('We have gotten New Rune Essence');
CloseBank;
Gametab(25);
Result := True;
end;
end else
begin
Writeln('No More Rune Essence Detected, Logging out');
StartNextPlayer;
end;
End;
End;
Function EnterAltar:Boolean;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
Result := False;
wait(1000+random(500));
If(TalismanCheck = true)Then
begin
If(FindDTM(AirTalisman,x,y,549,206,737,463))Then
begin
Mouse(x,y,4,5,True);
writeln('Entering Ruins');
repeat
If(EnterRCAltar)Then/////// // Not working well.
begin
Result := True;
exit;
end else///////
begin
wait(500+random(250)); // avoids problems with click + uptext
If(SpiralMouse(x,y,5,5,510,335,'ous ruins',31,16)) Then
begin
getMousePos(x,y);
Mouse(x,y,0,0,true);
Result := True;
exit;
end else
begin
Result := False;
end;
end;
until(MouseAroundForUptextEx('ltar',250,10,304,5,415,90,false))
end else
begin
writeln('a');
end;
end;
If(TiaraCheck = true)Then
begin
repeat
If(EnterRCAltar)Then////////
begin
Result := True;
exit;
end else
begin////////
wait(500+random(250)); // avoids problems with click + uptext
If(SpiralMouse(x,y,5,5,510,335,'ous ruins',35,8)) Then
begin
Mouse(x,y,0,0,true);
Result := True;
exit;
end else
begin
Result := False;
end;
end;
until(MouseAroundForUptextEx('ltar',250,10,304,5,415,90,false))
end;
end;
{
function AutoColorAirStone: Integer; // can't get auto colour to work =\... dosn't find color 4 somereason
var // a.k.a. I lost the dedication to learn this
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer; GetAmount( a.x,a.y));
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 7037287, MMX1, MMY1, MMX2, MMY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 76.65) and (H <= 76.69) and (S >= 4.88) and (S <= 4.92) and (L >= 39.98) and (L <= 40.02) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 12.50) and (X <= 12.54) and (Y >= 12.47) and (Y <= 12.51) and (Z >= 15.64) and (Z <= 15.68) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function FindAirStone(var x: Integer; var y: Integer): Boolean;
var
i: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not(FindColorsTolerance(TPA, AutoColorAirStone, 361, 16, MSX2, MSY2, 5)) then //I'm finding all of the colors of the autocolor function (your coords will be different from mine)
Exit;
ATPA:= TPAToATPA(TPA, 20);
for i:= 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y); //check each of these for uptext
MMouse(x, y, 3, 3);
Wait(50 + Random(50));
if (IsUpText('ous ruins')) then
begin
GetMousePos(x, y);
Result:= True;
Break;
end;
end;
end; }
Function ClickAirStone:boolean;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
Result := False;
If(MouseAroundForUptextEx('ltar',250,30,304,5,415,90,True))Then
begin
wait(4700+random(500));
Result := True;
end else
begin
writeln('We Cannot find The air rock thingi');
StartNextPlayer;
end;
end;
Function ClickPortal:Boolean;
var
xRand,yRand:integer;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
Result := False;
If(MouseAroundForUptextEx('al',250,7,164,318,205,337,True))then // have problems finding a longer version of this uptext
begin
Result := True;
exit;
end else
begin
writeln('MouseAround not working... we are gonna click anyways');
xRand := random(10);
yRand := random(5);
Mouse(182,327,xRand,yRand,true);
wait(500+random(250));
If(TiaraCheck)Then
begin
If(SpiralMouse(x,y,5,5,510,335,'ous ruins',35,8)) Then
begin
writeln('Backup worked for Click portal =D');
Result := True;
end else
begin
writeln('backup failed for Click portal =[... not sure where we are');
end;
end;
If(TalismanCheck)Then
begin
If(FindDTM(AirTalisman,x,y,549,206,737,463))Then
begin
Mouse(x,y,2,2,true);
If(SpiralMouse(x,y,5,5,510,335,'ous ruins',35,8)) Then
begin
writeln('Backup worked for Click portal =D');
Mouse(x,y,2,2,true);
Result := True;
end else
begin
writeln('backup failed for Click portal =[... not sure where we are');
StartNextPlayer;
end;
end;
end;
end;
end;
procedure AirAltar;
var
Cnt:Integer;
Tp:Tpoint;
begin
if (not (LoggedIn)) then Exit;
if (not (TiaraCheck))and (not(TalismanCheck)) then Exit;
If(EnterAltar)Then
repeat
wait(500+random(400));
MMouse(304,5,111,85);
If(IsUpText('ltar'))then
break;
inc(Cnt);
If (Cnt > 30) Then
begin
writeln('Timed out...Check Internet');
StartNextPlayer;
end;
until (False);
If(ClickAirStone)Then
begin
TryingToKeepYouUnBanned;
If(TalismanCheck)Then
begin
Tp := ItemCoords(2);
RuneEssenceUsed := RuneEssenceUsed + 27;
end;
If(TiaraCheck)Then
begin
Tp := ItemCoords(1);
RuneEssenceUsed := RuneEssenceUsed + 28;
end;
AirRunesCreated := AirRunesCreated + GetAmount(Tp.x,Tp.y);
ExpGained := AirRunesCreated * 5;
numRuns := numRuns + 1;
wait(1000+random(500));
If (ClickPortal) Then
begin
wait(3000+random(1000));
writeln('We are out of the Altar, heading back to bank');
end;
//wait(1500+random(1000));
end;
end;
Procedure ProgressReport;
begin
Writeln('//////////////////////////////////////////////////////////////');
Writeln('Thanks for using mrpickle"s AirCrafter');
Writeln('Script has been Running for ' + inttostr(TimeFromMark(MarkStart) div 1000) + ' Seconds');
Writeln('You have used '+ inttostr(RuneEssenceUsed) + ' Rune Essences');
Writeln('You"ve created '+ inttostr(AirRunesCreated) + ' Air Runes');
Writeln('You"ve gained '+ inttostr(ExpGained) + ' Experience');
Writeln('You have made '+ inttostr(numRuns) + ' runs to the altar');
Writeln('//////////////////////////////////////////////////////////////');
end;
Procedure BookMarkMain;
begin
end;
var ClearDebugCounter:Integer;
begin
setupSRL;
activateClient;
DeclarePlayers;
LoadBitmapsDTMs
MarkTime(MarkStart);
ClearDebugCounter := 0;
// setupRuneCrafting;
ExpGained := 0;
AirRunesCreated := 0;
NumRuns := 0;
RuneEssenceUsed := 0;
InitializePlayer;
repeat //SetCompass(True,0);
wait(1000+random(500));
StartGridFromBank;
FlagWait(500);
ToAltar;
AirAltar;
TryingToKeepYouUnBanned;
ToBank;
ProgressReport;
If(Bank(RuneEssence))Then
writeln('Another load we go!');
SetCompass(True,0);
TryingToKeepYouUnBanned;
If(ClearDebugCounter > 20)Then
begin
ClearDebug;
ClearDebugCounter := 0;
end;
until (False)
end.
~RM