djmurder
10-08-2007, 11:54 PM
ok im having a few problems my SRL says i have absolutely no includes SRL 4 changed everything....first of all how do i input includes? like {.include SRL/Skill/Mining.scar} ? if so why wont my includes work?Loaded all chars. (NPCChars, TradeChars, SmallChars, StatChars, UpChars)
01.10.2007
Some might have noticed that I released SCAR 3.12b a couple of days ago,
those who got it people download the new SCAR 3.12c, 3.12b had a bug in
FindColorsTolerance. http://freddy1990.com/scar.php
If you bought SCAR, ask who you bought it from a refund NOW! SCAR is
completely FREE.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Globals.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Math.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Mouse.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Color.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Players.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Timing.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\GameTab.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Text.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Inventory.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Object.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\FlagChat.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Login.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Mapwalk.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Bitmap.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\DTM.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Bank.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\DoorProfiles.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Symbol.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\RC.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AutoColor.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Common.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Globalstats.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Setup.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AutoRespond.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Box.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Certer.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Demon.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Frog.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Quiz.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Sandwich.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\ChatRandoms.sca r does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\AntiRandoms.sca r does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiBan.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Amount.scar does not exist.
Failed when compiling SO its screwed but neways heres the scriptprogram EssMiner;
{.include SRL/Core/Globals.scar}
{.include SRL/Core/Math.scar}
{.include SRL/Core/Mouse.scar}
{.include SRL/Core/Color.scar}
{.include SRL/Core/Players.scar}
{.include SRL/Core/Timing.scar}
{.include SRL/Core/GameTab.scar}
{.include SRL/Core/Text.scar}
{.include SRL/Core/Inventory.scar}
{.include SRL/Core/Object.scar}
{.include SRL/Core/FlagChat.scar}
{.include SRL/Core/Login.scar}
{.include SRL/Core/Mapwalk.scar}
{.include SRL/Core/Bitmap.scar}
{.include SRL/Core/DTM.scar}
{.include SRL/Core/Bank.scar}
{.include SRL/Core/DoorProfiles.scar}
{.include SRL/Core/Symbol.scar}
{.include SRL/Core/RC.scar}
{.include SRL/Core/AutoColor.scar}
{.include SRL/Core/AntiRandoms/Common.scar}
{.include SRL/Core/Globalstats.scar}
{.include SRL/Core/Setup.scar}
{.include SRL/Core/AutoRespond.scar}
{.include SRL/Core/AntiRandoms/Box.scar}
{.include SRL/Core/AntiRandoms/Certer.scar}
{.include SRL/Core/AntiRandoms/Demon.scar}
{.include SRL/Core/AntiRandoms/Frog.scar}
{.include SRL/Core/AntiRandoms/Quiz.scar}
{.include SRL/Core/AntiRandoms/Sandwich.scar}
{.include SRL/Core/AntiRandoms/ChatRandoms.scar}
{.include SRL/Core/AntiRandoms/AntiRandoms.scar}
{.include SRL/Core/AntiBan.scar}
{.include SRL/Core/Amount.scar}
{
"Stars, Hide your fires, Let not light see my black and deep desires.
The eye wink at the hand; Yet let that be, Which the eye fears when it
is done to see"
Macbeth - Shakespeare
}
Const
StartPlayer = 0;
NumberOfUsers = 1;
MinutesPerLoad = 10;
Loads = 1000;
VersionNumber = '1.09';
YourSRLSTATSID = ''; // Stats ID.
YourSRLSTATSPASS = ''; // Stats Pass.
YourRCMASTER = 'Djmurder'; // Remote Control Master.
WizzyDebug = True;
Var
Position : String;
EssencePoint : Array [0..4] Of TPoint;
MiningMark, Abyss, NOAbyss, AuburyText, RuneShopColor,
RuneEssenceMined, PureEssenceMined, iMark, IdleMark, IdleMark2, Doors: Integer;
PortalBool, PouchBool, PouchBool2 : Boolean;
Procedure DeclarePlayers;
Begin
HowManyPlayers:= NumberOfUsers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
Players[0].Name :='Djmurder';
Players[0].Pass :='twistid';
Players[0].Nick :='Djmu';
Players[0].Loc :='Bank';
Players[0].Active:=True;
Players[0].boolean1 : =
Players[0].boolean2 := False; // False for brightness Check Once.
Players[0].String1 := ''; // Bank PIN, If any.
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Loc :='Bank';
Players[1].Active:=True;
Players[1].Boolean[1]:= True; // Is The Pick Equipped?
Players[1].Boolean[2]:= False;//alse for brightness Check Once.
Players[1].String1 := ''; // Bank PIN, If any.
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Loc :='Bank';
Players[2].Active:=True;
Players[2].Boolean1 := True; // Is The Pick Equipped?
Players[2].Boolean2 := False; // False for brightness Check Once.
Players[2].String1 := ''; // Bank PIN, If any.
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Loc :='Bank';
Players[3].Active:=True;
Players[3].Boolean1 := True; // Is The Pick Equipped?
Players[3].Boolean2 := False; // False for brightness Check Once.
Players[3].String1 := ''; // Bank PIN, If any.
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Loc :='Bank';
Players[4].Active:=True;
Players[4].Boolean1 := True; // Is The Pick Equipped?
Players[4].Boolean2 := False; // False for brightness Check Once.
Players[4].String1 := ''; // Bank PIN, If any.
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Loc :='Bank';
Players[5].Active:=True;
Players[5].Boolean1 := True; // Is The Pick Equipped?
Players[5].Boolean2 := False; // False for brightness Check Once.
Players[5].String1 := ''; // Bank PIN, If any.
Writeln( IntToStr ( NumberOfUsers ) + ' Players' );
End;
Function HighestBrightNess: Boolean;
Begin
GameTab(11);
Wait(400);
If GetColor(712, 226) <> 16777215 Then
Begin
Mouse(712, 226, 2, 2, True);
Result := True;
Wait(200);
End;
End;
Function GetUpTextBlue:String;
Begin
Result := Trim(GetTextAtEx(7, 7, 140, upchars, true,
true, 0, 2, 14277634, 50, True, tr_AllChars));
End;
Function IsUpTextBlue(Text: String): Boolean;
Begin
Result := (Pos(Text, GetUpTextBlue) <> 0)
End;
Function FindAuburyText: Boolean; // FindTalk by Renax, but adepted.
var
ExitCond, NoMoreYellow: Boolean;
Yint, Xmin, diff, difflast, Xmax, XmidRec, Xmid: Integer;
RawMenuText: string;
begin
x := 0;
y := 0;
Xmid := 0;
Xmin := 0;
Xmax := 0;
NoMoreYellow := False;
if (FindColor(x, y, 65535, 10, 25, 511, 334)) and (not (FindColor(x, y, 65280, 220, 130, 290, 165))) then
begin
Result := False;
if (not (FindBitmapMaskTolerance(AuburyText, x, y, 0, 0, 516, 338, 0, 40)))
then
Exit;
if (FindColorSpiral(x, y, 65535, x - 10, y - 10, x + 10, y + 10)) then
begin
Wait(10);
if (GetColor(x, y) = 65535) then
begin
If WizzyDebug Then WriteLn('Spotted aubury text');
Wait(10);
NoMoreYellow := False;
Yint := 0;
repeat
Yint := Yint + 1;
y := y + Yint;
x := 0;
repeat
ExitCond := False;
x := x + 1;
Xmin := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
if (x > 500) then
begin
x := 0;
ExitCond := True;
NoMoreYellow := True;
end;
until (ExitCond);
ExitCond := False;
x := 520;
while (NoMoreYellow = False) and (ExitCond = False) do
begin
x := x - 1;
Xmax := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
end;
diff := (Xmax - Xmin);
if (diff > difflast) and (diff > 25) then
begin
XmidRec := ((diff / 2) + Xmin);
end;
difflast := diff;
until (NoMoreYellow)
x := XmidRec;
MMouse(x, y + 6, 3, 0);
Wait(100);
if IsUpTextMulti('Talk', 'lk-to', 'to') Then
begin
GetMousePos(x, y);
Mouse(x, y + 6, 0, 0, False);
if (ChooseOptionGetMenuText(RawMenuText, x, y, 'Teleport')) then
begin
If WizzyDebug Then WriteLn('Found Aubury')
FFlag(1);
Wait(1000 + Random(500))
Result := True;
Exit;
end;
end;
end;
end;
end;
end;
Function AtMine: Boolean;
Var
iX, iY: Integer;
Begin
Result := FindColoredAreaTolerance(iX, iY, 0, MMX1, MMY1, MMX2, MMY2, 100, 0);
End;
Function ScanMiniMap(iFrom, iTo, Distance: Integer): Integer;
Var
I, iX,iY: Integer;
Begin
For I := iFrom To ITo Do
Begin
iX := Round(Distance * Sin(I * Pi / 180)) + 648;
iY := Round(-Distance * Cos(I * Pi / 180)) + 80;
If GetColor(iX, iY) = 0 Then
Begin
Result := Result + 1;
End;
End;
End;
Function InAbyss: Boolean;
Var
A : Integer;
Begin
A := ScanMiniMap(0, 359, 50);
If WizzyDebug Then WriteLn('In Abyss gave '+IntToStr(A)+'.');
If A = 360 Then
Begin
Result := True;
End
End;
Function GuessAbyssRandom: Boolean;
Var
AbyssalMark, iX, iY, I, ChosenColor, Tol, Tries: Integer;
WeirdColors: Array [0..3] Of Integer;
Operate: TPoint;
Begin
WeirdColors[0] := 13751777;
WeirdColors[1] := 4953873;
WeirdColors[2] := 2509833;
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
For I := 0 To 2 Do
Begin
Tol := 0;
Repeat
Tol := Tol + 1;
iX := MSCX;
iY := MSCY;
If FindColorSpiralTolerance(iX, iY, WeirdColors[I], MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
ChosenColor := WeirdColors[I];
If (Distance (iX, iY, MSCX, MSCY) < 120) Then Break;
End;
If ChosenColor <> 0 Then Break;
Until Tol > 9;
End;
If ChosenColor <> 0 Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
End;
End;
Wait(5000+Random(500));
If Not InAbyss Then
Begin
Abyss := Abyss + 1;
ReportVars[8] := ReportVars[8] + 1;
Result := True;
Wait(1000);
ClickToContinue;
SRLRandomsReport;
Exit;
End;
Tries := Tries + 1;
If TimeFromMark(AbyssalMark) > 60000 * 5 Then Break;
Until Tries > 30;
Tries := 0;
If InAbyss Then
Begin
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
iX := Operate.X;
iY := Operate.Y;
If FindColorSpiralTolerance(iX, iY, 3393, MSX1, MSY1, MSX2, MSY2, Tol)
Or FindColorSpiralTolerance(iX, iY, 2040150, MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
If (Distance (iX, iY, MSCX, MSCY) < 80) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
Wait(5000+ Random(500));
If Not InAbyss Then
Begin
Abyss := Abyss + 1;
ReportVars[8] := ReportVars[8] + 1;
Result := True;
ClickToContinue;
SRLRandomsReport;
Exit;
End;
End;
End;
End;
Tries := Tries + 1;
Tol := Tol + 2;
If Tol > 20 Then Tol := 2;
Until Tries > 50;
End;
LogOut;
NOAbyss := NOAbyss + 1;
ReportVars[9] := ReportVars[9] + 1;
Players[CurrentPlayer].Loc := 'Abyss';
SRLRandomsReport;
WriteLn('Abyss Random Event.');
End;
Function GetPositionInMine: String;
Begin
MakeCompass('N');
If Not LoggedIn Then Exit;
If Not FindSymbol(x, y, 'transportation') Then
Begin
Result := 'Middle';
Exit;
End;
If ScanMiniMap(220, 240, 60) < 15 Then
Begin
Result := 'North-East';
ReportVars[5] := ReportVars[5] + 1;
EssencePoint[0].X := 340;
EssencePoint[0].Y := 61;
EssencePoint[1].X := 295;
EssencePoint[1].Y := 50;
EssencePoint[2].X := 395;
EssencePoint[2].Y := 120;
Exit;
End;
If ScanMiniMap(125,155, 60) < 20 Then
Begin
Result := 'North-West';
ReportVars[6] := ReportVars[6] + 1;
EssencePoint[0].X := 140;
EssencePoint[0].Y := 115;
EssencePoint[1].X := 18;
EssencePoint[1].Y := 70;
EssencePoint[2].X := 120;
EssencePoint[2].Y := 150;
Exit;
End;
If ScanMiniMap(290,330, 55) < 20 Then
Begin
Result := 'South-East';
ReportVars[7] := ReportVars[7] + 1;
EssencePoint[0].X := 350;
EssencePoint[0].Y := 160;
EssencePoint[1].X := 337;
EssencePoint[1].Y := 210;
EssencePoint[2].X := 362;
EssencePoint[2].Y := 125;
If (ScanMiniMap(140, 170, 55) <> 31) Then
Exit;
End;
Result := 'South-West';
ReportVars[2] := ReportVars[2] + 1;
EssencePoint[0].X := 190;
EssencePoint[0].Y := 60;
EssencePoint[1].X := 146;
EssencePoint[1].Y := 94;
EssencePoint[2].X := 285;
EssencePoint[2].Y := 54;
End;
Function GetMiddle:String;
Var
Ex, Ey: Integer;
Begin
If Not LoggedIn Then Exit;
If ScanMiniMap(330, 380, 55) < 35 Then
Begin
Result := 'MiddleSW';
ReportVars[4] := ReportVars[4] + 1;
Ex := 605;
Ey := 116;
EssencePoint[0].X := 170;
EssencePoint[0].Y := 240;
EssencePoint[1].X := 190;
EssencePoint[1].Y := 290;
EssencePoint[2].X := 254;
EssencePoint[2].Y := 274;
End
Else
Begin
Result := 'MiddleNE';
ReportVars[3] := ReportVars[3] + 1;
Ex := 690;
Ey := 30;
EssencePoint[0].X := 360;
EssencePoint[0].Y := 40;
EssencePoint[1].X := 450;
EssencePoint[1].Y := 100;
EssencePoint[2].X := 390;
EssencePoint[2].Y := 30;
End;
Mouse(Ex, Ey, 2, 2, True);
Wait(10);
FFlag(0);
Wait(100);
End;
Function FindEssence(Var iX, iY: Integer): Boolean;
Var
I, Tolerance : Integer;
Begin
If Not LoggedIn Then Exit;
For I := 0 To 2 Do
Begin
Tolerance := - 1;
While Tolerance < 10 Do
Begin
Tolerance := Tolerance + 1;
iX := EssencePoint[I].X;
iY := EssencePoint[I].Y;
If FindColorSpiralTolerance(iX, iY, 9539996, MSX1, MSY1, MSX2, MSY2, Tolerance) Then
Begin
If Distance(iX, iY, EssencePoint[I].X, EssencePoint[I].Y) < 80 Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpTextBlue('ssen') Then
// If IsUpTextMulti('Esse', 'une Es', 'ine') Then
Begin
GetMousePos(iX, iY);
Result := True;
If WizzyDebug Then WriteLn('Found Essence');
Exit;
End;
End;
End;
End;
End;
End;
Function ToPortal: Boolean;
Var
iX, iY, C : Integer;
Boolie : Boolean;
Begin
If Not LoggedIn Then Exit;
If FindSymbol(iX, iY, 'transportation') Then
Begin
Mouse(iX, iY, 2, 2, True);
Wait(10);
FFlag(0);
FindNormalRandoms;
iX := MSCX;
iY := MSCY;
Repeat
If Random(4) = 3 Then
Boolie := True;
If Boolie Then
Begin
Case Random(3) Of
0: MakeCompass('E');
1: MakeCompass('S');
2: MakeCompass('W');
End;
End;
Wait(50);
C := C + 1;
If FindObj(iX, iY, 'rtal', 12051688, 9) Then
Begin
Mouse(iX, iY, 0, 0, True);
Wait(10);
Result := True;
FFlag(0);
If Boolie Then MakeCompass('N');
Exit;
End;
Wait(1000);
Until C > 2;
If Boolie Then MakeCompass('N');
End;
End;
Function RunToPortal: Boolean;
Begin
MarkTime(iMark);
Repeat
If Not LoggedIn Then Break;
If (TimeFromMark(iMark) > 120000) Then
Begin
If WizzyDebug Then WriteLn('Portal Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Portal';
End;
If ToPortal Then
Begin
FFlag(0);
Wait(6000);
End
Else Wait(100);
Until Not AtMine;
Result := True;
PortalBool := True;
End;
Function OpenDoor : Boolean;
Var iX, iY,DoorClosed : Integer;
Begin
DoorClosed := DTMFromString('78DA63FCCDC0C0309F01053426CB3370016 94' +
'620FE0F048C6F808C7E5435E97E520CFC503520C0C80E644D 4055' +
'13E7218EAAE617A639E86A0097700CBE');
If Not LoggedIn Then Exit;
If FindDTM(DoorClosed, iX, iY, 140, 90, 425, 325) Then
Begin
MMouse(iX, iY, 2, 2);
GetMousePos(iX, iY);
If isUpText('pen') Then
Mouse(iX, iY, 0,0, True);
Result := True;
If Result Then Doors := Doors + 1;
End;
FreeDTM(DoorClosed);
If (((Result) And (WizzyDebug))) Then writeln('The door was closed, but now opened.')
Else If WizzyDebug Then WriteLn('The door is open');
End;
Function ToBank: Boolean;
Var
iX, iY, BankDTM, D, WalkMark, aMark : Integer;
AngleVar : Extended;
Begin
If Not LoggedIn Then Exit;
SetRun(True);
OpenDoor;
Mouse(687, 30, 4, 4, True);
Wait(100);
MarkTime(aMark);
Repeat
If Not FlagPresent Then
Begin
OpenDoor;
Mouse(687, 30, 4, 4, True);
MarkTime(WalkMark)
Repeat
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)
D := Distance(iX, iY, MMCX, MMCY);
Wait(100);
Until ((D > 15) Or (TimeFromMark(WalkMark) > 8000));
End
Else Break;
If TimeFromMark(aMark) > 120000 Then
Begin
WriteLn('ToBank took too long.. logging.');
LogOut;
Players[CurrentPlayer].Loc := 'ToBank2';
Exit;
End;
Until D > 15;
Wait(6000);
FFlag(10);
BankDTM:= DTMFromString('78DA636C666260486140016FDEBC61F80FA 41' +
'981F83F1030B603D5E4A0AA79FB96814103AA060418EB816A B251' +
'D57CFD8AAA0600B6210EA4');
If FindDTMRotated(BankDTM, iX, iY, MMX1, MMY1, MMX2, MMY2, -1.0, 2.0, 1, AngleVar) Then
Begin
Result := True;
Mouse(iX, iY + 1, 0, 0, True);
Wait(3000);
FFlag(0);
End
Else
Begin
LogOut;
Players[CurrentPlayer].Loc := 'ToBank2';
WriteLn('Bank not found');
Exit;
End;
FreeDTM(BankDTM);
SetRun(False);
End;
Function FindAuburyFloorColor(Var iX, iY: Integer): Boolean;
Var
Tol, Floor3 : Integer;
Begin
If Not LoggedIn Then Exit;
Floor3 := BitmapFromString(3, 3, 'z78DA3377333735B1302791' +
'04004AD80BFE');
If FindColoredAreaTolerance(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 16, 9) Then
Begin
RuneShopColor := GetColor(iX , iY);
If WizzyDebug Then WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
If WIzzyDebug Then WriteLn('Found with FindColoredAreaTolerance.');
Result := True;
End;
Tol := 0;
Repeat
Wait(10);
If Result Then Break;
Tol := Tol + 2;
iX := 618;
iY := 127;
If FindBitMapSpiralTolerance(Floor3, iX, iY, MMX1, MMY1, 650, 150, Tol) Then
Begin
RuneShopColor := GetColor(iX , iY);
If WizzyDebug Then WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
If WizzyDebug Then WriteLn('Found with Floor3 bmp.');
Result := True;
Break;
End;
Until Tol > 39;
FreeBitMap(Floor3);
End;
Function ToDoor: Boolean;
Var
iX, iY: Integer;
Begin
If FindColorRightTol(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 0) Then
Begin
If WizzyDebug Then WriteLn('Door found');
Result := True;
Mouse(iX - 8, iY + 20, 0, 0, True);
FFlag(0);
End;
End;
Function SpotAubury: Boolean;
// 10855856, 3005947, 2998011
Var
iX, iY, C: Integer;
Begin
Repeat
CloseWindow;
Wait(50);
If FindAuburyText Then
Begin
Result := True;
Break;
End;
iX := MSCX;
iY := MSCY;
If AtMine Then
Begin
Result := True;
Exit;
End;
If FindColorSpiralTolerance(iX, iY, 2998011, MSX1, MSY1, MSX2, MSY2, 4)
Or FindColorSpiralTolerance(iX, iY, 1888494, MSX1, MSY1, MSX2, MSY2, 4) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsupTextMulti('Talk','bury','alk-to') Then
Begin
Mouse(iX, iY, 0, 0, False);
Result := ChooseOption(iX, iY, 'eleport');
If Result Then Exit;
End;
End;
C := C + 1;
Until C > 5;
Wait(500);
If Not LoggedIn Then Exit;
End;
Function PreciseFlag(Var iX, iY: Integer):Boolean;
Begin
Result := FindColor(iX, iY, 255, 570, 5, 735, 166);
If Result Then iX := iX + 1;
If Result Then iY := iY + 14;
End;
Function ColorAroundFlag(iX, iY: Integer) : Boolean;
Begin
Result := FindColorSpiral(iX, iY, RuneShopColor, iX - 2, iY - 2, iX + 2, iY + 2)
End;
Function ToMine: Boolean;
Var
iX, iY, D, zMark : Integer;
Begin
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
If Not LoggedIn Then Exit;
FindPickHeadColor;
Mouse(663, 142, 6, 6, True);
Wait(15000+Random(4000));
FFlag(5);
If FindAuburyFloorColor(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Exact Color Found');
End
Else
Begin
LogOut;
WriteLn('Could not get the exact color.'+ Chr(13)+
'Wizzup, you should tweak your functions!');
Players[CurrentPlayer].Loc := 'NoColor';
End;
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2);
D := Distance(iX, iY, MMCX, MMCY);
If WizzyDebug Then WriteLn('Distance = '+IntToStr(D));
If D > 15 Then
Begin
iX := MMCX;
iY := MMCY;
If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
Begin
Mouse(iX, iY, 0, 0, True);
If PreciseFlag(iX, iY) Then
Begin
If ColorAroundFlag(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Walking INTO the shop now...');
End;
End;
FFlag(0);
End;
End;
iX := MMCX;
iY := MMCY;
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)
If Distance(iX, iY, MMCX, MMCY) > 10 Then
Begin
ToDoor;
OpenDoor;
If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
Begin
Mouse(iX, iY, 0, 0, True);
If PreciseFlag(iX, iY) Then
Begin
If ColorAroundFlag(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Walking INTO the shop now...');
End;
End;
FFlag(0);
End;
End;
If Random(10) = 9 Then BoredHuman;
MarkTime(zMark);
Repeat
FindNormalRandoms;
If (TimeFromMark(zMark) > 240000) Then
Begin
WriteLn('Aubury Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Aubury';
End;
If SpotAubury Then
Begin
FFlag(0);
Wait(4000);
End
Else
Begin
Wait(100);
ChooseOption(iX, iY, 'ancel');
End;
If Not LoggedIn Then Break;
Until AtMine;
Result := True;
If LoggedIn Then Players[CurrentPlayer].Loc := 'Mine';
End;
Function MyOpenBank: Boolean;
Begin
OpenBankGlass('veb',False,False);
FFlag(0);
Wait(2000);
If BankScreen Or PinScreen Then
Begin
Result := True;
If PinScreen Then InPin(Players[CurrentPlayer].String1);
Exit;
End;
If OpenBankQuiet('veb') Then Result := True;
If PinScreen Then InPin(Players[CurrentPlayer].String1);
End;
Function BankStuff: Boolean;
Var
RuneEss, PureEss: Integer;
Begin
If Not BankScreen Then Exit;
RuneEss := BitmapFromString(8, 12, 'z78DA8DCD3112C3200C44D1' +
'2BE1B02B9B1288B9FF91222315149107EFCCAFF4B08037BB5 84F0' +
'E0E6F9143D724EBAC5F79BE0F1BABF7DDCEB25374B3925858 BCC1' +
'3BBC78E82AA1DBB07EBFAAC8DA3D3130BC1B8A191DFD8F8A6 C424' +
'57515D945E1C685D35564973FA23DD4D48ED5ABACDB560092 CED4' +
'BB9DF73F7ACE7D1F');
PureEss := BitmapFromString(11, 10, 'z78DAA5CF490E03211003C' +
'02FB1B56D8E0CCBFF9F1492CC012962B2B5251F4B6E451616 192B' +
'ABC8CEA62CC771F6A120AFA638D39594B213841C342F27151 536A' +
'6994110F214A59DB9D1783032FCE39018E8CCF474BF693434 B48F' +
'9C555B1CBAF98A185050BED0963DE8B8DFA3DF689BEF90E16 70EA' +
'4994F9C65D5D38159B736596763AB5D3A362C5B46B46AF5D4 AE57' +
'BD3837C02891A6');
// FixBank;
RuneEssenceMined := RuneEssenceMined + CountItemBmpTol(RuneEss, 15);
PureEssenceMined := PureEssenceMined + CountItemBmpTol(PureEss, 15);
ReportVars[1] := ReportVars[1] + 1;
ReportVars[0] := CountItemBmpTol(RuneEss, 15) + CountItemBmpTol(PureEss, 15);
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + CountItemBmpTol(PureEss, 15) + CountItemBmpTol(RuneEss, 15);
ClickAllItemsBmpTolWait('All', RuneEss, 15, 1500);
ClickAllItemsBmpTolWait('All', PureEss, 15, 1500);
If EquipPick Then Deposit(1, 28, 2)
Else Deposit(2, 28, 2);
FreeBitMap(RuneEss);
FreeBitMap(PureEss);
If BankScreen Then CloseBank;
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
Banks := Banks + 1;
Result := True;
End;
Procedure PlayerReport;
Var
Active: String;
I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'T' Else Active := 'F';
WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
Active+ +'; Loc = '+Players[I].Loc+'; Banked: '+IntToStr(Players[I].Integer1)
+' Ess; M lvl:'+IntToStr(Players[i].Level[15]));
End;
End;
Procedure CurrentPlayerReport;
Begin
WriteLn('----------------------------------------------')
WriteLn(Players[CurrentPlayer].Name+'.');
WriteLn('Mined ' + IntToStr(Players[CurrentPlayer].Integer1) + ' Essence.');
WriteLn('Mining level is ' + IntToStr(Players[CurrentPlayer].Level[15]));
WriteLn('Location is ' + Players[CurrentPlayer].Loc+ '.');
WriteLn('----------------------------------------------')
End;
Procedure ProgressReport;
Begin
WriteLn('----------------------------------------------')
WriteLn('')
WriteLn('Essence Miner by Wizzup?.')
WriteLn('Version: '+VersionNumber)
WriteLn('')
If RuneEssenceMined > 0 Then WriteLn('Rune Essence Mined and Banked : '+IntToStr(RuneEssenceMined)+'.');
If PureEssenceMined > 0 Then WriteLn('Pure Essence Mined and Banked : '+IntToStr(PureEssenceMined)+'.');
If Abyss > 0 Then WriteLn('Solved '+IntToStr(Abyss)+' Abyssal Random Events.');
If NOAbyss > 0 Then WriteLn('Missed '+IntToStr(NoAbyss)+' Abyssal Random Events.');
If Doors > 0 Then WriteLn('Door Opened : '+IntToStr(Doors)+'.');
Writeln('Worked for '+ TimeRunning);
WriteLn('')
WriteLn('----------------------------------------------')
WriteLn('')
PlayerReport;
CurrentPlayerReport;
SRLRandomsReport;
WriteLn('')
WriteLn('----------------------------------------------')
End;
Procedure ClearVars;
Var
I : Integer;
Begin
For I := 1 To 19 Do
ReportVars[I] := 0;
End;
Procedure DoChats;
Begin
SetChat('On', 1);
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('On', 3);
SetChat('On', 3);
End;
Procedure RandomGameTab;
Begin
A := (10) + 1;
If A = 4 Then
Begin
GameTab(2);
HoverSkill('mining', False);
End
Else GameTab(a);
GameTab(4);
End;
Procedure SetupScript;
Begin
ClearDebug;
SetupSRL;
SetupSRLMining;
DeclarePlayers;
RuneShopColor := 4551800; // Temp.
Rcmaster := YourRCMASTER;
RcLoc := 'Bank';
ScriptID := '51';
ClearVars;
SRLID := YourSRLstatsID;
SRLPassword := YourSRLstatsPASS;
CurrentPlayer := StartPlayer;
LoginPlayer;
Wait(1000);
LogOut;
Wait(1000);
LoginPlayer;
Wait(1000);
DoChats;
EquipPick := Players[CurrentPlayer].Boolean1;
AuburyText := CreateBitmapMaskFromText('isthine', upchars);
BenMouse := True;
GetAllLevels;
End;
begin
ActivateClient;
SetupScript;
Repeat
MakeCompass('N');
If Players[CurrentPlayer].Loc = 'Bank' Then
Begin
ToMine;
End;
If Players[CurrentPlayer].Loc = 'Mine' Then
Begin
Wait(500);
If InAbyss Then
Begin
GuessAbyssRandom;
BoredHuman;
End;
Wait(1000);
FindNormalRandoms;
SymbolAccuracy := 0.4;
Position := GetPositionInMine;
If Position = 'Middle' Then Position := GetMiddle;
WriteLn('Our position is '+ Position+'.');
Wait(1000);
If FindEssence(X, Y) Then
Begin
Mouse(X, Y, 0, 0, True);
Wait(10);
FFlag(0);
End
Else
Begin
RunToPortal;
End;
Wait(1000);
MarkTime(IdleMark);
MarkTime(IdleMark2);
MarkTime(MiningMark);
Repeat
If Not LoggedIn Then Break;
If PortalBool Then Break;
If TimeFromMark(IdleMark) > (85000+Random(5000)) Then
Begin
BoredHuman;
WriteLn('Using BoredHuman and HoverSkill To avoid logging out.');
HoverSkill('mining', False);
MarkTime(IdleMark);
End;
If TimeFromMark(IdleMark2) > (40000+Random(5000)) Then
Begin
If WizzyDebug Then WriteLn('Gametabs to avoid logging out.');
RandomGametab;
BoredHuman;
GameTab(4);
MarkTime(IdleMark2);
End;
Wait(400);
If FindNormalRandoms Then
Begin
RunToPortal;
WriteLn('Going to Portal, FindNormalRandoms.');
End;
Wait(400);
RC;
Wait(400);
ClickToContinue;
If FindFight Then
Begin
RunToPortal;
WriteLn('Going to Portal, FindFight.');
Break;
End;
Wait(1);
Until ((InvFull) Or (TimeFromMark(MiningMark) > 1000 * 60 * MinutesPerLoad));
If Not PortalBool Then
Begin
MarkTime(iMark);
Repeat
If Not LoggedIn Then Break;
If (TimeFromMark(iMark) > 120000) Then
Begin
WriteLn('Portal Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Portal';
End;
If ToPortal Then
Begin
FFlag(0);
Wait(3000);
End
Else Wait(100);
Until Not AtMine;
End
WriteLn('Through The portal');
SymbolAccuracy := 0.8;
PortalBool := False;
Wait(500);
ToBank;
MyOpenBank;
BankStuff;
If LoggedIn Then Players[CurrentPlayer].Loc := 'Bank';
End;
ProgressReport;
If ( LoggedIn And (Players[CurrentPlayer].Banked Mod Loads = 0 )) Then
Begin
DoChats;
LogOut;
Wait(1000);
NextPlayer(True);
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
GetAllLevels;
End;
If Not LoggedIn Then
Begin
DoChats;
NextPlayer(False);
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
GetAllLevels;
End;
Until False;
end.
01.10.2007
Some might have noticed that I released SCAR 3.12b a couple of days ago,
those who got it people download the new SCAR 3.12c, 3.12b had a bug in
FindColorsTolerance. http://freddy1990.com/scar.php
If you bought SCAR, ask who you bought it from a refund NOW! SCAR is
completely FREE.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Globals.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Math.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Mouse.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Color.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Players.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Timing.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\GameTab.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Text.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Inventory.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Object.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\FlagChat.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Login.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Mapwalk.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Bitmap.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\DTM.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Bank.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\DoorProfiles.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Symbol.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\RC.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AutoColor.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Common.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Globalstats.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Setup.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AutoRespond.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Box.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Certer.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Demon.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Frog.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Quiz.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\Sandwich.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\ChatRandoms.sca r does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiRandoms\AntiRandoms.sca r does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\AntiBan.scar does not exist.
Include file C:\Program Files\SCAR 3.12\includes\SRL\Core\Amount.scar does not exist.
Failed when compiling SO its screwed but neways heres the scriptprogram EssMiner;
{.include SRL/Core/Globals.scar}
{.include SRL/Core/Math.scar}
{.include SRL/Core/Mouse.scar}
{.include SRL/Core/Color.scar}
{.include SRL/Core/Players.scar}
{.include SRL/Core/Timing.scar}
{.include SRL/Core/GameTab.scar}
{.include SRL/Core/Text.scar}
{.include SRL/Core/Inventory.scar}
{.include SRL/Core/Object.scar}
{.include SRL/Core/FlagChat.scar}
{.include SRL/Core/Login.scar}
{.include SRL/Core/Mapwalk.scar}
{.include SRL/Core/Bitmap.scar}
{.include SRL/Core/DTM.scar}
{.include SRL/Core/Bank.scar}
{.include SRL/Core/DoorProfiles.scar}
{.include SRL/Core/Symbol.scar}
{.include SRL/Core/RC.scar}
{.include SRL/Core/AutoColor.scar}
{.include SRL/Core/AntiRandoms/Common.scar}
{.include SRL/Core/Globalstats.scar}
{.include SRL/Core/Setup.scar}
{.include SRL/Core/AutoRespond.scar}
{.include SRL/Core/AntiRandoms/Box.scar}
{.include SRL/Core/AntiRandoms/Certer.scar}
{.include SRL/Core/AntiRandoms/Demon.scar}
{.include SRL/Core/AntiRandoms/Frog.scar}
{.include SRL/Core/AntiRandoms/Quiz.scar}
{.include SRL/Core/AntiRandoms/Sandwich.scar}
{.include SRL/Core/AntiRandoms/ChatRandoms.scar}
{.include SRL/Core/AntiRandoms/AntiRandoms.scar}
{.include SRL/Core/AntiBan.scar}
{.include SRL/Core/Amount.scar}
{
"Stars, Hide your fires, Let not light see my black and deep desires.
The eye wink at the hand; Yet let that be, Which the eye fears when it
is done to see"
Macbeth - Shakespeare
}
Const
StartPlayer = 0;
NumberOfUsers = 1;
MinutesPerLoad = 10;
Loads = 1000;
VersionNumber = '1.09';
YourSRLSTATSID = ''; // Stats ID.
YourSRLSTATSPASS = ''; // Stats Pass.
YourRCMASTER = 'Djmurder'; // Remote Control Master.
WizzyDebug = True;
Var
Position : String;
EssencePoint : Array [0..4] Of TPoint;
MiningMark, Abyss, NOAbyss, AuburyText, RuneShopColor,
RuneEssenceMined, PureEssenceMined, iMark, IdleMark, IdleMark2, Doors: Integer;
PortalBool, PouchBool, PouchBool2 : Boolean;
Procedure DeclarePlayers;
Begin
HowManyPlayers:= NumberOfUsers;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
Players[0].Name :='Djmurder';
Players[0].Pass :='twistid';
Players[0].Nick :='Djmu';
Players[0].Loc :='Bank';
Players[0].Active:=True;
Players[0].boolean1 : =
Players[0].boolean2 := False; // False for brightness Check Once.
Players[0].String1 := ''; // Bank PIN, If any.
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Loc :='Bank';
Players[1].Active:=True;
Players[1].Boolean[1]:= True; // Is The Pick Equipped?
Players[1].Boolean[2]:= False;//alse for brightness Check Once.
Players[1].String1 := ''; // Bank PIN, If any.
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Loc :='Bank';
Players[2].Active:=True;
Players[2].Boolean1 := True; // Is The Pick Equipped?
Players[2].Boolean2 := False; // False for brightness Check Once.
Players[2].String1 := ''; // Bank PIN, If any.
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Loc :='Bank';
Players[3].Active:=True;
Players[3].Boolean1 := True; // Is The Pick Equipped?
Players[3].Boolean2 := False; // False for brightness Check Once.
Players[3].String1 := ''; // Bank PIN, If any.
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Loc :='Bank';
Players[4].Active:=True;
Players[4].Boolean1 := True; // Is The Pick Equipped?
Players[4].Boolean2 := False; // False for brightness Check Once.
Players[4].String1 := ''; // Bank PIN, If any.
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Loc :='Bank';
Players[5].Active:=True;
Players[5].Boolean1 := True; // Is The Pick Equipped?
Players[5].Boolean2 := False; // False for brightness Check Once.
Players[5].String1 := ''; // Bank PIN, If any.
Writeln( IntToStr ( NumberOfUsers ) + ' Players' );
End;
Function HighestBrightNess: Boolean;
Begin
GameTab(11);
Wait(400);
If GetColor(712, 226) <> 16777215 Then
Begin
Mouse(712, 226, 2, 2, True);
Result := True;
Wait(200);
End;
End;
Function GetUpTextBlue:String;
Begin
Result := Trim(GetTextAtEx(7, 7, 140, upchars, true,
true, 0, 2, 14277634, 50, True, tr_AllChars));
End;
Function IsUpTextBlue(Text: String): Boolean;
Begin
Result := (Pos(Text, GetUpTextBlue) <> 0)
End;
Function FindAuburyText: Boolean; // FindTalk by Renax, but adepted.
var
ExitCond, NoMoreYellow: Boolean;
Yint, Xmin, diff, difflast, Xmax, XmidRec, Xmid: Integer;
RawMenuText: string;
begin
x := 0;
y := 0;
Xmid := 0;
Xmin := 0;
Xmax := 0;
NoMoreYellow := False;
if (FindColor(x, y, 65535, 10, 25, 511, 334)) and (not (FindColor(x, y, 65280, 220, 130, 290, 165))) then
begin
Result := False;
if (not (FindBitmapMaskTolerance(AuburyText, x, y, 0, 0, 516, 338, 0, 40)))
then
Exit;
if (FindColorSpiral(x, y, 65535, x - 10, y - 10, x + 10, y + 10)) then
begin
Wait(10);
if (GetColor(x, y) = 65535) then
begin
If WizzyDebug Then WriteLn('Spotted aubury text');
Wait(10);
NoMoreYellow := False;
Yint := 0;
repeat
Yint := Yint + 1;
y := y + Yint;
x := 0;
repeat
ExitCond := False;
x := x + 1;
Xmin := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
if (x > 500) then
begin
x := 0;
ExitCond := True;
NoMoreYellow := True;
end;
until (ExitCond);
ExitCond := False;
x := 520;
while (NoMoreYellow = False) and (ExitCond = False) do
begin
x := x - 1;
Xmax := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
end;
diff := (Xmax - Xmin);
if (diff > difflast) and (diff > 25) then
begin
XmidRec := ((diff / 2) + Xmin);
end;
difflast := diff;
until (NoMoreYellow)
x := XmidRec;
MMouse(x, y + 6, 3, 0);
Wait(100);
if IsUpTextMulti('Talk', 'lk-to', 'to') Then
begin
GetMousePos(x, y);
Mouse(x, y + 6, 0, 0, False);
if (ChooseOptionGetMenuText(RawMenuText, x, y, 'Teleport')) then
begin
If WizzyDebug Then WriteLn('Found Aubury')
FFlag(1);
Wait(1000 + Random(500))
Result := True;
Exit;
end;
end;
end;
end;
end;
end;
Function AtMine: Boolean;
Var
iX, iY: Integer;
Begin
Result := FindColoredAreaTolerance(iX, iY, 0, MMX1, MMY1, MMX2, MMY2, 100, 0);
End;
Function ScanMiniMap(iFrom, iTo, Distance: Integer): Integer;
Var
I, iX,iY: Integer;
Begin
For I := iFrom To ITo Do
Begin
iX := Round(Distance * Sin(I * Pi / 180)) + 648;
iY := Round(-Distance * Cos(I * Pi / 180)) + 80;
If GetColor(iX, iY) = 0 Then
Begin
Result := Result + 1;
End;
End;
End;
Function InAbyss: Boolean;
Var
A : Integer;
Begin
A := ScanMiniMap(0, 359, 50);
If WizzyDebug Then WriteLn('In Abyss gave '+IntToStr(A)+'.');
If A = 360 Then
Begin
Result := True;
End
End;
Function GuessAbyssRandom: Boolean;
Var
AbyssalMark, iX, iY, I, ChosenColor, Tol, Tries: Integer;
WeirdColors: Array [0..3] Of Integer;
Operate: TPoint;
Begin
WeirdColors[0] := 13751777;
WeirdColors[1] := 4953873;
WeirdColors[2] := 2509833;
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
For I := 0 To 2 Do
Begin
Tol := 0;
Repeat
Tol := Tol + 1;
iX := MSCX;
iY := MSCY;
If FindColorSpiralTolerance(iX, iY, WeirdColors[I], MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
ChosenColor := WeirdColors[I];
If (Distance (iX, iY, MSCX, MSCY) < 120) Then Break;
End;
If ChosenColor <> 0 Then Break;
Until Tol > 9;
End;
If ChosenColor <> 0 Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
End;
End;
Wait(5000+Random(500));
If Not InAbyss Then
Begin
Abyss := Abyss + 1;
ReportVars[8] := ReportVars[8] + 1;
Result := True;
Wait(1000);
ClickToContinue;
SRLRandomsReport;
Exit;
End;
Tries := Tries + 1;
If TimeFromMark(AbyssalMark) > 60000 * 5 Then Break;
Until Tries > 30;
Tries := 0;
If InAbyss Then
Begin
Repeat
Case Random(4) Of
0: Begin Operate.X := 252; Operate.Y := 150; End;
1: Begin Operate.X := 278; Operate.Y := 170; End;
2: Begin Operate.X := 238; Operate.Y := 200; End;
3: Begin Operate.X := 215; Operate.Y := 166; End;
End;
iX := Operate.X;
iY := Operate.Y;
If FindColorSpiralTolerance(iX, iY, 3393, MSX1, MSY1, MSX2, MSY2, Tol)
Or FindColorSpiralTolerance(iX, iY, 2040150, MSX1, MSY1, MSX2, MSY2, Tol) Then
Begin
If (Distance (iX, iY, MSCX, MSCY) < 80) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpText('perate') Then
Begin
GetMousePos(iX, iY);
Mouse(iX, iY, 0, 0, True);
Wait(5000+ Random(500));
If Not InAbyss Then
Begin
Abyss := Abyss + 1;
ReportVars[8] := ReportVars[8] + 1;
Result := True;
ClickToContinue;
SRLRandomsReport;
Exit;
End;
End;
End;
End;
Tries := Tries + 1;
Tol := Tol + 2;
If Tol > 20 Then Tol := 2;
Until Tries > 50;
End;
LogOut;
NOAbyss := NOAbyss + 1;
ReportVars[9] := ReportVars[9] + 1;
Players[CurrentPlayer].Loc := 'Abyss';
SRLRandomsReport;
WriteLn('Abyss Random Event.');
End;
Function GetPositionInMine: String;
Begin
MakeCompass('N');
If Not LoggedIn Then Exit;
If Not FindSymbol(x, y, 'transportation') Then
Begin
Result := 'Middle';
Exit;
End;
If ScanMiniMap(220, 240, 60) < 15 Then
Begin
Result := 'North-East';
ReportVars[5] := ReportVars[5] + 1;
EssencePoint[0].X := 340;
EssencePoint[0].Y := 61;
EssencePoint[1].X := 295;
EssencePoint[1].Y := 50;
EssencePoint[2].X := 395;
EssencePoint[2].Y := 120;
Exit;
End;
If ScanMiniMap(125,155, 60) < 20 Then
Begin
Result := 'North-West';
ReportVars[6] := ReportVars[6] + 1;
EssencePoint[0].X := 140;
EssencePoint[0].Y := 115;
EssencePoint[1].X := 18;
EssencePoint[1].Y := 70;
EssencePoint[2].X := 120;
EssencePoint[2].Y := 150;
Exit;
End;
If ScanMiniMap(290,330, 55) < 20 Then
Begin
Result := 'South-East';
ReportVars[7] := ReportVars[7] + 1;
EssencePoint[0].X := 350;
EssencePoint[0].Y := 160;
EssencePoint[1].X := 337;
EssencePoint[1].Y := 210;
EssencePoint[2].X := 362;
EssencePoint[2].Y := 125;
If (ScanMiniMap(140, 170, 55) <> 31) Then
Exit;
End;
Result := 'South-West';
ReportVars[2] := ReportVars[2] + 1;
EssencePoint[0].X := 190;
EssencePoint[0].Y := 60;
EssencePoint[1].X := 146;
EssencePoint[1].Y := 94;
EssencePoint[2].X := 285;
EssencePoint[2].Y := 54;
End;
Function GetMiddle:String;
Var
Ex, Ey: Integer;
Begin
If Not LoggedIn Then Exit;
If ScanMiniMap(330, 380, 55) < 35 Then
Begin
Result := 'MiddleSW';
ReportVars[4] := ReportVars[4] + 1;
Ex := 605;
Ey := 116;
EssencePoint[0].X := 170;
EssencePoint[0].Y := 240;
EssencePoint[1].X := 190;
EssencePoint[1].Y := 290;
EssencePoint[2].X := 254;
EssencePoint[2].Y := 274;
End
Else
Begin
Result := 'MiddleNE';
ReportVars[3] := ReportVars[3] + 1;
Ex := 690;
Ey := 30;
EssencePoint[0].X := 360;
EssencePoint[0].Y := 40;
EssencePoint[1].X := 450;
EssencePoint[1].Y := 100;
EssencePoint[2].X := 390;
EssencePoint[2].Y := 30;
End;
Mouse(Ex, Ey, 2, 2, True);
Wait(10);
FFlag(0);
Wait(100);
End;
Function FindEssence(Var iX, iY: Integer): Boolean;
Var
I, Tolerance : Integer;
Begin
If Not LoggedIn Then Exit;
For I := 0 To 2 Do
Begin
Tolerance := - 1;
While Tolerance < 10 Do
Begin
Tolerance := Tolerance + 1;
iX := EssencePoint[I].X;
iY := EssencePoint[I].Y;
If FindColorSpiralTolerance(iX, iY, 9539996, MSX1, MSY1, MSX2, MSY2, Tolerance) Then
Begin
If Distance(iX, iY, EssencePoint[I].X, EssencePoint[I].Y) < 80 Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsUpTextBlue('ssen') Then
// If IsUpTextMulti('Esse', 'une Es', 'ine') Then
Begin
GetMousePos(iX, iY);
Result := True;
If WizzyDebug Then WriteLn('Found Essence');
Exit;
End;
End;
End;
End;
End;
End;
Function ToPortal: Boolean;
Var
iX, iY, C : Integer;
Boolie : Boolean;
Begin
If Not LoggedIn Then Exit;
If FindSymbol(iX, iY, 'transportation') Then
Begin
Mouse(iX, iY, 2, 2, True);
Wait(10);
FFlag(0);
FindNormalRandoms;
iX := MSCX;
iY := MSCY;
Repeat
If Random(4) = 3 Then
Boolie := True;
If Boolie Then
Begin
Case Random(3) Of
0: MakeCompass('E');
1: MakeCompass('S');
2: MakeCompass('W');
End;
End;
Wait(50);
C := C + 1;
If FindObj(iX, iY, 'rtal', 12051688, 9) Then
Begin
Mouse(iX, iY, 0, 0, True);
Wait(10);
Result := True;
FFlag(0);
If Boolie Then MakeCompass('N');
Exit;
End;
Wait(1000);
Until C > 2;
If Boolie Then MakeCompass('N');
End;
End;
Function RunToPortal: Boolean;
Begin
MarkTime(iMark);
Repeat
If Not LoggedIn Then Break;
If (TimeFromMark(iMark) > 120000) Then
Begin
If WizzyDebug Then WriteLn('Portal Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Portal';
End;
If ToPortal Then
Begin
FFlag(0);
Wait(6000);
End
Else Wait(100);
Until Not AtMine;
Result := True;
PortalBool := True;
End;
Function OpenDoor : Boolean;
Var iX, iY,DoorClosed : Integer;
Begin
DoorClosed := DTMFromString('78DA63FCCDC0C0309F01053426CB3370016 94' +
'620FE0F048C6F808C7E5435E97E520CFC503520C0C80E644D 4055' +
'13E7218EAAE617A639E86A0097700CBE');
If Not LoggedIn Then Exit;
If FindDTM(DoorClosed, iX, iY, 140, 90, 425, 325) Then
Begin
MMouse(iX, iY, 2, 2);
GetMousePos(iX, iY);
If isUpText('pen') Then
Mouse(iX, iY, 0,0, True);
Result := True;
If Result Then Doors := Doors + 1;
End;
FreeDTM(DoorClosed);
If (((Result) And (WizzyDebug))) Then writeln('The door was closed, but now opened.')
Else If WizzyDebug Then WriteLn('The door is open');
End;
Function ToBank: Boolean;
Var
iX, iY, BankDTM, D, WalkMark, aMark : Integer;
AngleVar : Extended;
Begin
If Not LoggedIn Then Exit;
SetRun(True);
OpenDoor;
Mouse(687, 30, 4, 4, True);
Wait(100);
MarkTime(aMark);
Repeat
If Not FlagPresent Then
Begin
OpenDoor;
Mouse(687, 30, 4, 4, True);
MarkTime(WalkMark)
Repeat
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)
D := Distance(iX, iY, MMCX, MMCY);
Wait(100);
Until ((D > 15) Or (TimeFromMark(WalkMark) > 8000));
End
Else Break;
If TimeFromMark(aMark) > 120000 Then
Begin
WriteLn('ToBank took too long.. logging.');
LogOut;
Players[CurrentPlayer].Loc := 'ToBank2';
Exit;
End;
Until D > 15;
Wait(6000);
FFlag(10);
BankDTM:= DTMFromString('78DA636C666260486140016FDEBC61F80FA 41' +
'981F83F1030B603D5E4A0AA79FB96814103AA060418EB816A B251' +
'D57CFD8AAA0600B6210EA4');
If FindDTMRotated(BankDTM, iX, iY, MMX1, MMY1, MMX2, MMY2, -1.0, 2.0, 1, AngleVar) Then
Begin
Result := True;
Mouse(iX, iY + 1, 0, 0, True);
Wait(3000);
FFlag(0);
End
Else
Begin
LogOut;
Players[CurrentPlayer].Loc := 'ToBank2';
WriteLn('Bank not found');
Exit;
End;
FreeDTM(BankDTM);
SetRun(False);
End;
Function FindAuburyFloorColor(Var iX, iY: Integer): Boolean;
Var
Tol, Floor3 : Integer;
Begin
If Not LoggedIn Then Exit;
Floor3 := BitmapFromString(3, 3, 'z78DA3377333735B1302791' +
'04004AD80BFE');
If FindColoredAreaTolerance(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 16, 9) Then
Begin
RuneShopColor := GetColor(iX , iY);
If WizzyDebug Then WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
If WIzzyDebug Then WriteLn('Found with FindColoredAreaTolerance.');
Result := True;
End;
Tol := 0;
Repeat
Wait(10);
If Result Then Break;
Tol := Tol + 2;
iX := 618;
iY := 127;
If FindBitMapSpiralTolerance(Floor3, iX, iY, MMX1, MMY1, 650, 150, Tol) Then
Begin
RuneShopColor := GetColor(iX , iY);
If WizzyDebug Then WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
If WizzyDebug Then WriteLn('Found with Floor3 bmp.');
Result := True;
Break;
End;
Until Tol > 39;
FreeBitMap(Floor3);
End;
Function ToDoor: Boolean;
Var
iX, iY: Integer;
Begin
If FindColorRightTol(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 0) Then
Begin
If WizzyDebug Then WriteLn('Door found');
Result := True;
Mouse(iX - 8, iY + 20, 0, 0, True);
FFlag(0);
End;
End;
Function SpotAubury: Boolean;
// 10855856, 3005947, 2998011
Var
iX, iY, C: Integer;
Begin
Repeat
CloseWindow;
Wait(50);
If FindAuburyText Then
Begin
Result := True;
Break;
End;
iX := MSCX;
iY := MSCY;
If AtMine Then
Begin
Result := True;
Exit;
End;
If FindColorSpiralTolerance(iX, iY, 2998011, MSX1, MSY1, MSX2, MSY2, 4)
Or FindColorSpiralTolerance(iX, iY, 1888494, MSX1, MSY1, MSX2, MSY2, 4) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsupTextMulti('Talk','bury','alk-to') Then
Begin
Mouse(iX, iY, 0, 0, False);
Result := ChooseOption(iX, iY, 'eleport');
If Result Then Exit;
End;
End;
C := C + 1;
Until C > 5;
Wait(500);
If Not LoggedIn Then Exit;
End;
Function PreciseFlag(Var iX, iY: Integer):Boolean;
Begin
Result := FindColor(iX, iY, 255, 570, 5, 735, 166);
If Result Then iX := iX + 1;
If Result Then iY := iY + 14;
End;
Function ColorAroundFlag(iX, iY: Integer) : Boolean;
Begin
Result := FindColorSpiral(iX, iY, RuneShopColor, iX - 2, iY - 2, iX + 2, iY + 2)
End;
Function ToMine: Boolean;
Var
iX, iY, D, zMark : Integer;
Begin
If Not Players[CurrentPlayer].Boolean2 Then
Begin
HighestBrightness;
Players[CurrentPlayer].Boolean2 := True;
End;
If Not LoggedIn Then Exit;
FindPickHeadColor;
Mouse(663, 142, 6, 6, True);
Wait(15000+Random(4000));
FFlag(5);
If FindAuburyFloorColor(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Exact Color Found');
End
Else
Begin
LogOut;
WriteLn('Could not get the exact color.'+ Chr(13)+
'Wizzup, you should tweak your functions!');
Players[CurrentPlayer].Loc := 'NoColor';
End;
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2);
D := Distance(iX, iY, MMCX, MMCY);
If WizzyDebug Then WriteLn('Distance = '+IntToStr(D));
If D > 15 Then
Begin
iX := MMCX;
iY := MMCY;
If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
Begin
Mouse(iX, iY, 0, 0, True);
If PreciseFlag(iX, iY) Then
Begin
If ColorAroundFlag(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Walking INTO the shop now...');
End;
End;
FFlag(0);
End;
End;
iX := MMCX;
iY := MMCY;
FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)
If Distance(iX, iY, MMCX, MMCY) > 10 Then
Begin
ToDoor;
OpenDoor;
If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
Begin
Mouse(iX, iY, 0, 0, True);
If PreciseFlag(iX, iY) Then
Begin
If ColorAroundFlag(iX, iY) Then
Begin
If WizzyDebug Then WriteLn('Walking INTO the shop now...');
End;
End;
FFlag(0);
End;
End;
If Random(10) = 9 Then BoredHuman;
MarkTime(zMark);
Repeat
FindNormalRandoms;
If (TimeFromMark(zMark) > 240000) Then
Begin
WriteLn('Aubury Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Aubury';
End;
If SpotAubury Then
Begin
FFlag(0);
Wait(4000);
End
Else
Begin
Wait(100);
ChooseOption(iX, iY, 'ancel');
End;
If Not LoggedIn Then Break;
Until AtMine;
Result := True;
If LoggedIn Then Players[CurrentPlayer].Loc := 'Mine';
End;
Function MyOpenBank: Boolean;
Begin
OpenBankGlass('veb',False,False);
FFlag(0);
Wait(2000);
If BankScreen Or PinScreen Then
Begin
Result := True;
If PinScreen Then InPin(Players[CurrentPlayer].String1);
Exit;
End;
If OpenBankQuiet('veb') Then Result := True;
If PinScreen Then InPin(Players[CurrentPlayer].String1);
End;
Function BankStuff: Boolean;
Var
RuneEss, PureEss: Integer;
Begin
If Not BankScreen Then Exit;
RuneEss := BitmapFromString(8, 12, 'z78DA8DCD3112C3200C44D1' +
'2BE1B02B9B1288B9FF91222315149107EFCCAFF4B08037BB5 84F0' +
'E0E6F9143D724EBAC5F79BE0F1BABF7DDCEB25374B3925858 BCC1' +
'3BBC78E82AA1DBB07EBFAAC8DA3D3130BC1B8A191DFD8F8A6 C424' +
'57515D945E1C685D35564973FA23DD4D48ED5ABACDB560092 CED4' +
'BB9DF73F7ACE7D1F');
PureEss := BitmapFromString(11, 10, 'z78DAA5CF490E03211003C' +
'02FB1B56D8E0CCBFF9F1492CC012962B2B5251F4B6E451616 192B' +
'ABC8CEA62CC771F6A120AFA638D39594B213841C342F27151 536A' +
'6994110F214A59DB9D1783032FCE39018E8CCF474BF693434 B48F' +
'9C555B1CBAF98A185050BED0963DE8B8DFA3DF689BEF90E16 70EA' +
'4994F9C65D5D38159B736596763AB5D3A362C5B46B46AF5D4 AE57' +
'BD3837C02891A6');
// FixBank;
RuneEssenceMined := RuneEssenceMined + CountItemBmpTol(RuneEss, 15);
PureEssenceMined := PureEssenceMined + CountItemBmpTol(PureEss, 15);
ReportVars[1] := ReportVars[1] + 1;
ReportVars[0] := CountItemBmpTol(RuneEss, 15) + CountItemBmpTol(PureEss, 15);
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + CountItemBmpTol(PureEss, 15) + CountItemBmpTol(RuneEss, 15);
ClickAllItemsBmpTolWait('All', RuneEss, 15, 1500);
ClickAllItemsBmpTolWait('All', PureEss, 15, 1500);
If EquipPick Then Deposit(1, 28, 2)
Else Deposit(2, 28, 2);
FreeBitMap(RuneEss);
FreeBitMap(PureEss);
If BankScreen Then CloseBank;
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
Banks := Banks + 1;
Result := True;
End;
Procedure PlayerReport;
Var
Active: String;
I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'T' Else Active := 'F';
WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
Active+ +'; Loc = '+Players[I].Loc+'; Banked: '+IntToStr(Players[I].Integer1)
+' Ess; M lvl:'+IntToStr(Players[i].Level[15]));
End;
End;
Procedure CurrentPlayerReport;
Begin
WriteLn('----------------------------------------------')
WriteLn(Players[CurrentPlayer].Name+'.');
WriteLn('Mined ' + IntToStr(Players[CurrentPlayer].Integer1) + ' Essence.');
WriteLn('Mining level is ' + IntToStr(Players[CurrentPlayer].Level[15]));
WriteLn('Location is ' + Players[CurrentPlayer].Loc+ '.');
WriteLn('----------------------------------------------')
End;
Procedure ProgressReport;
Begin
WriteLn('----------------------------------------------')
WriteLn('')
WriteLn('Essence Miner by Wizzup?.')
WriteLn('Version: '+VersionNumber)
WriteLn('')
If RuneEssenceMined > 0 Then WriteLn('Rune Essence Mined and Banked : '+IntToStr(RuneEssenceMined)+'.');
If PureEssenceMined > 0 Then WriteLn('Pure Essence Mined and Banked : '+IntToStr(PureEssenceMined)+'.');
If Abyss > 0 Then WriteLn('Solved '+IntToStr(Abyss)+' Abyssal Random Events.');
If NOAbyss > 0 Then WriteLn('Missed '+IntToStr(NoAbyss)+' Abyssal Random Events.');
If Doors > 0 Then WriteLn('Door Opened : '+IntToStr(Doors)+'.');
Writeln('Worked for '+ TimeRunning);
WriteLn('')
WriteLn('----------------------------------------------')
WriteLn('')
PlayerReport;
CurrentPlayerReport;
SRLRandomsReport;
WriteLn('')
WriteLn('----------------------------------------------')
End;
Procedure ClearVars;
Var
I : Integer;
Begin
For I := 1 To 19 Do
ReportVars[I] := 0;
End;
Procedure DoChats;
Begin
SetChat('On', 1);
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('On', 3);
SetChat('On', 3);
End;
Procedure RandomGameTab;
Begin
A := (10) + 1;
If A = 4 Then
Begin
GameTab(2);
HoverSkill('mining', False);
End
Else GameTab(a);
GameTab(4);
End;
Procedure SetupScript;
Begin
ClearDebug;
SetupSRL;
SetupSRLMining;
DeclarePlayers;
RuneShopColor := 4551800; // Temp.
Rcmaster := YourRCMASTER;
RcLoc := 'Bank';
ScriptID := '51';
ClearVars;
SRLID := YourSRLstatsID;
SRLPassword := YourSRLstatsPASS;
CurrentPlayer := StartPlayer;
LoginPlayer;
Wait(1000);
LogOut;
Wait(1000);
LoginPlayer;
Wait(1000);
DoChats;
EquipPick := Players[CurrentPlayer].Boolean1;
AuburyText := CreateBitmapMaskFromText('isthine', upchars);
BenMouse := True;
GetAllLevels;
End;
begin
ActivateClient;
SetupScript;
Repeat
MakeCompass('N');
If Players[CurrentPlayer].Loc = 'Bank' Then
Begin
ToMine;
End;
If Players[CurrentPlayer].Loc = 'Mine' Then
Begin
Wait(500);
If InAbyss Then
Begin
GuessAbyssRandom;
BoredHuman;
End;
Wait(1000);
FindNormalRandoms;
SymbolAccuracy := 0.4;
Position := GetPositionInMine;
If Position = 'Middle' Then Position := GetMiddle;
WriteLn('Our position is '+ Position+'.');
Wait(1000);
If FindEssence(X, Y) Then
Begin
Mouse(X, Y, 0, 0, True);
Wait(10);
FFlag(0);
End
Else
Begin
RunToPortal;
End;
Wait(1000);
MarkTime(IdleMark);
MarkTime(IdleMark2);
MarkTime(MiningMark);
Repeat
If Not LoggedIn Then Break;
If PortalBool Then Break;
If TimeFromMark(IdleMark) > (85000+Random(5000)) Then
Begin
BoredHuman;
WriteLn('Using BoredHuman and HoverSkill To avoid logging out.');
HoverSkill('mining', False);
MarkTime(IdleMark);
End;
If TimeFromMark(IdleMark2) > (40000+Random(5000)) Then
Begin
If WizzyDebug Then WriteLn('Gametabs to avoid logging out.');
RandomGametab;
BoredHuman;
GameTab(4);
MarkTime(IdleMark2);
End;
Wait(400);
If FindNormalRandoms Then
Begin
RunToPortal;
WriteLn('Going to Portal, FindNormalRandoms.');
End;
Wait(400);
RC;
Wait(400);
ClickToContinue;
If FindFight Then
Begin
RunToPortal;
WriteLn('Going to Portal, FindFight.');
Break;
End;
Wait(1);
Until ((InvFull) Or (TimeFromMark(MiningMark) > 1000 * 60 * MinutesPerLoad));
If Not PortalBool Then
Begin
MarkTime(iMark);
Repeat
If Not LoggedIn Then Break;
If (TimeFromMark(iMark) > 120000) Then
Begin
WriteLn('Portal Took too long..logging');
LogOut;
Players[CurrentPlayer].Loc := 'Portal';
End;
If ToPortal Then
Begin
FFlag(0);
Wait(3000);
End
Else Wait(100);
Until Not AtMine;
End
WriteLn('Through The portal');
SymbolAccuracy := 0.8;
PortalBool := False;
Wait(500);
ToBank;
MyOpenBank;
BankStuff;
If LoggedIn Then Players[CurrentPlayer].Loc := 'Bank';
End;
ProgressReport;
If ( LoggedIn And (Players[CurrentPlayer].Banked Mod Loads = 0 )) Then
Begin
DoChats;
LogOut;
Wait(1000);
NextPlayer(True);
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
GetAllLevels;
End;
If Not LoggedIn Then
Begin
DoChats;
NextPlayer(False);
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
GetAllLevels;
End;
Until False;
end.