Mat
2012-01-18 15:24:48
How Long have You Played Runescape?
5 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
What is your general programming knowledge?
Java, Html & PHP.
Are you a member of any other communities?
RsBots, PowerBan, RiD & Sythe
Tell us about yourself…
Please show us one (or multiple) of your scripts.
5 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
What is your general programming knowledge?
Java, Html & PHP.
Are you a member of any other communities?
RsBots, PowerBan, RiD & Sythe
Tell us about yourself…
From: Mat
I'm 15 Live in the UK and enjoy botting RS and Flying Rc Helis :)
Please show us one (or multiple) of your scripts.
//Astral Crafter Pro Script 1!
program AlignsAstralCrafterPro;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$i SRL/SRL/misc/paintsmart.scar}
Var
Runs ,X ,Y ,Ess ,mx ,my ,RuneCount:integer;
ToAltar: TPointArray;
ToBank: TPointArray;
Clock: TIntegerArray;
ActionText: TStringArray;
Const
UsePouches = ('Yes'); //Using Pouches? Yes or No?
Summoning = ('No');
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Number of Players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Player to start with, first one is 0
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True; // True if you are using this player
Players[0].Pin := ''; // Bank Pin. Leave it if you don't have one.
Players[0].Integers[1] := 10000; // Number of loads
end;
Function AstralCounter: Integer;
Var
Astral, Count:Integer;
begin
Astral := BitmapFromString(4, 6, 'meJw7tf7UKQyUkZELYaSkZAARhJ2Q' +
'kJKUlAZkxMQkxMUlAblAdlRUHIQLAKx3KfU=');
If FindBitMapTolerancein(Astral, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
Count := GetAmount(X,Y);
Result:= Count;
FreeBitMap(Astral);
end;
procedure SMART_ClearCanvas;
begin
{$IFDEF SMART}
if (not SMART_DebugSetup) then
SMART_SetupDebug();
ClearRSCanvas(SMART_Canvas.canvas);
{$ENDIF}
end;
Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,1118738);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, 16777215);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
Procedure DoThePainting;
begin
Clock := [0,0,0];
ConvertTime(GetTimeRunning,Clock[0],Clock[1],Clock[2]);
PrintOnSmart(['AlignsAstralCrafter', 'Time Ran: '+tostr(Clock[0])+':'+tostr(Clock[1])+':'+tostr(Clock[2])
, 'Astrals Made: '+IntToStr(RuneCount)], Point(10, 285), 255);
end;
procedure SmallReport(Action: Integer);
begin
ClearDebug;
ActionText := ['Banking','Running to Altar','Crafting', 'Teleporting', 'Resting'];
Clock := [0,0,0];
ConvertTime(GetTimeRunning,Clock[0],Clock[1],Clock[2]);
writeln('-*-*-*-*-*-*AlignsAstralCrafter-*-*-*-*-*-*');
Writeln('Time Running ' +tostr(Clock[0])+':'+tostr(Clock[1])+':'+tostr(Clock[2]));
writeln('Current Process: '+ActionText[Action]);
Writeln('Runs Done:' +IntToStr(runs));
Writeln('Astrals Made:' +IntToStr(RuneCount));
SMART_ClearCanvas;
DoThePainting;
end;
Procedure Shutdown;
begin
Writeln('Bot Shutting Down');
Wait(RandomRange(1000,1300));
CloseBank;
Logout;
TerminateScript;
end;
Function TeleHome: Boolean;
Var
TeleHomeIcon:integer;
begin
GameTab(Tab_Magic);
Wait(RandomRange(600, 700));
TeleHomeIcon := BitmapFromString(5, 5, 'meJxL0/VJVnL4dGSfvowcEAHZEK48' +
'q0SAtDGE+3TvSggXSEJEgAjIXRoYCxSBCwIAb/gU8A==');
If FindBitMapTolerancein(TeleHomeIcon, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(True);
GameTab(Tab_Inv);
Wait(RandomRange(12000, 13500));
end else
begin
FreeBitMap(TeleHomeIcon);
ShutDown;
end;
FreeBitMap(TeleHomeIcon);
end;
Function TeleToBank: Boolean;
Var
Tele:Integer;
begin
Tele := BitmapFromString(8, 6, 'meJxLSko6cexIe3vbyqULgQw4SoKJ' +
'b922DSICVDBl6lS4OJANEQcyIOJAlUAEZEBkgQygFm8fn4qycoghQ' +
'EG4gYwMDKq6unApOAIAWNtXbw==');
If (LoggedIn) then
begin
If Not FindNormalRandoms then
begin
GameTab(Tab_Magic);
Wait(400);
If FindBitMapTolerancein(Tele,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
SmallReport(3);
MMouse(x,y,5,5);
Wait(RandomRange(600, 800));
ClickMouse2(True);
end else
begin
ShutDown;
FreeBitMap(Tele);
end;
GameTab(Tab_Inv);
FreeBitMap(Tele);
end;
Wait(RandomRange(4000, 4800));
end;
end;
Function EnergyChecker: Boolean;
begin
If FindColorSpiralTolerance(X, Y, 255, 736, 104, 761, 121, 10)then
begin
SmallReport(4);
Wait(Randomrange(300, 321));
RestUntil(RandomRange(80,90));
end;
end;
Function WalkingToBank: Boolean;
begin
If (LoggedIn) then
begin
If Not FindNormalRandoms then
begin
SmallReport(0);
SPS_Setup(RUNESCAPE_SURFACE,['0_1','0_2','0_3','1_1','1_2']);
ToBank := [Point(241, 973), Point(238, 952)];
SPS_WalkPath(ToBank);
Wait(RandomRange(1000, 1200));
end;
end;
end;
function BankboothColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.31, 0.25);
if not (FindColorsTolerance(arP, 5925493, MSX1, MSY1, MSX2, MSY2, 2)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Procedure FindMoonBank;
begin
If (LoggedIn) then
begin
If Not FindNormalRandoms then
begin
Wait(RandomRange(700, 800));
If FindObjTPA(X,Y,BankboothColor,5,1,30,20,100,['booth']) then
begin
MMouse(x, y, 3, 3);
ClickMouse2(False);
Wait(RandomRange(400, 500));
ChooseOption('Use-quickly');
Wait(RandomRange(2500, 2600));
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
If BankScreen then
begin
end else
begin
FindMoonBank;
end;
end else
FindMoonBank;
end;
end;
end;
Function DepositEss: Boolean;
begin
Wait(RandomRange(700, 800));
Ess := BitmapFromString(9, 11, 'meJx1zNEKgCAQRNGfDBMRERHbysq' +
'I/r+BIQmWYN7O3RXZRLZlObBaz32/sNZurJQVkzeAMgDlPGM6gMaY' +
'U5owBt/nISQog64MvI9Ufetc+FPQV/tnkLVeK8kYp5U/h2GkMoDyJ' +
'+gB5qx01w==');
If FindBitMapTolerancein(Ess, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(Randomrange(100, 200));
ChooseOption('Deposit-5');
Wait(RandomRange(400, 600));
end;
FreeBitMap(Ess);
end;
Function DepositAstrals: Boolean;
Var
Astral:integer;
begin
Wait(RandomRange(500, 600));
Astral := BitmapFromString(4, 6, 'meJw7tf7UKQyUkZELYaSkZAARhJ2Q' +
'kJKUlAZkxMQkxMUlAblAdlRUHIQLAKx3KfU=');
If FindBitMapTolerancein(Astral, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(Randomrange(100, 200));
ChooseOption('Deposit-All');
Wait(RandomRange(400, 600));
end;
FreeBitMap(Astral);
end;
Procedure Eating;
Var
MonkFish, Eatingfood:Integer;
begin
MonkFish := BitmapFromString(7, 5, 'meJzr6V/k6hfl7BPu5BUKRA4ewUCy' +
'tn7R5Omr+iYu6eieCxevqV1Q17DEL6A0IKisqXUaUMTOLQAoCFTs5' +
'ZPv41fYP2lpbcMEGxe/yuq5FZWzgSREtqFxKZANAPTVLcc=');
Repeat
Inc(Eatingfood);
If FindBitMapTolerancein(MonkFish, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
ChooseOption('Eat');
Wait(RandomRange(850, 921));
end;
Until(Eatingfood = 4);
FreeBitMap(MonkFish);
end;
Function WithdrawEss: Boolean;
begin
Ess := BitmapFromString(9, 11, 'meJx1zNEKgCAQRNGfDBMRERHbysq' +
'I/r+BIQmWYN7O3RXZRLZlObBaz32/sNZurJQVkzeAMgDlPGM6gMaY' +
'U5owBt/nISQog64MvI9Ufetc+FPQV/tnkLVeK8kYp5U/h2GkMoDyJ' +
'+gB5qx01w==');
Wait(RandomRange(600, 700));
if BankScreen then
begin
if FindBitmapToleranceIn(Ess, X, Y, 35, 85, 480, 295, 20) then
begin
MMouse(X, Y, 5, 5);
ClickMouse2(False);
Wait(RandomRange(300, 400));
ChooseOption('All');
end else
begin
Writeln('No Ess Found');
ShutDown;
end;
end else
begin
WriteLn('No Bank Screen How Shit');
ShutDown;
end;
FreeBitMap(Ess);
end;
Function HealthChecker: Boolean;
Var
MonkFish, Eat:Integer;
begin
If FindColorSpiralTolerance(X, Y, 2070783, 720, 25, 745, 40, 20) then
begin
MonkFish := BitmapFromString(7, 5, 'meJzr6V/k6hfl7BPu5BUKRA4ewUCy' +
'tn7R5Omr+iYu6eieCxevqV1Q17DEL6A0IKisqXUaUMTOLQAoCFTs5' +
'ZPv41fYP2lpbcMEGxe/yuq5FZWzgSREtqFxKZANAPTVLcc=');
Wait(RandomRange(300, 500));
DepositEss;
If FindBitMapTolerancein(MonkFish, X, Y, MSX1, MSY1, MSX2, MSY2, 45) then
begin
Repeat
Inc(Eat);
MMouse(X, Y, 7, 7);
ClickMouse2(True);
Wait(RandomRange(400, 500));
Until(Eat = 4);
Wait(randomrange(200, 300));
Eating;
repeat
If FindBitMapTolerancein(MonkFish, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X,Y,7,7);
ClickMouse2(True);
Wait(randomRange(300, 321));
end;
until(not FindBitMapTolerancein(MonkFish, X, Y, MIX1, MIY1, MIX2, MIY2, 45));
Wait(RandomRange(800, 1000));
FreeBitMap(MonkFish);
end;
Wait(RandomRange(400, 600));
WithdrawEss;
CloseBank;
end;
end;
Procedure WalkingToAltar;
begin
if (LoggedIn) then
begin
SmallReport(1);
SPS_Setup(RUNESCAPE_SURFACE,['0_1','0_2','0_3','1_1','1_2']);
ToAltar :=[Point(244, 972), Point(253, 972), Point(261, 972),
Point(269, 971), Point(278, 971), Point(285, 971),
Point(287, 979), Point(287, 993), Point(287, 1003), Point(287, 1013),
Point(287, 1022), Point(288, 1032), Point(291, 1042), Point(292, 1048),
Point(293, 1055), Point(293, 1064), Point(297, 1072), Point(303, 1077),
Point(311, 1082), Point(314, 1087), Point(324, 1096), Point(328, 1099),
Point(334, 1104), Point(345, 1111), Point(356, 1125), Point(365, 1130),
Point(373, 1143), Point(376, 1151), Point(376, 1162), Point(379, 1181),
Point(379, 1188), Point(388, 1191), Point(398, 1191), Point(406, 1192),
Point(413, 1192), Point(434, 1188), Point(448, 1187), Point(458, 1184),
Point(460, 1176)];
SPS_WalkPath(ToAltar);
Wait(RandomRange(300, 400));
If Not (SPS_WalkPath(ToAltar)) then
begin
TeleToBank;
WalkingToAltar;
end;
end else
ShutDown;
end;
function AltarColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.50);
if not (FindColorsTolerance(arP, 9081233, MSX1, MSY1, MSX2, MSY2, 1)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 25.25) and (X <= 27.29) and (Y >= 26.85) and (Y <= 29.01) and (Z >= 27.12) and (Z <= 29.37) then
begin
Result := arC[i];
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Function FindingAltar: Boolean;
begin
If (LoggedIn) then
begin
Wait(RandomRange(300, 400));
If FindObjTPA(X,Y,AltarColor,5,1,90,80,500,['Altar']) then
begin
MMouse(X, Y, 5, 5);
ClickMouse2(True);
Wait(RandomRange(600,700));
end else
FindingAltar;
end;
end;
Function AstralChecker: Boolean;
Var
Astral:integer;
begin
Astral := BitmapFromString(4, 6, 'meJw7tf7UKQyUkZELYaSkZAARhJ2Q' +
'kJKUlAZkxMQkxMUlAblAdlRUHIQLAKx3KfU=');
If Not FindBitMapTolerancein(Astral, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
Wait(RandomRange(400, 500));
FindingAltar;
FreeBitMap(Astral);
end else
begin
FreeBitMap(Astral);
WriteLn('Found the Astrals');
end;
end;
Function EssChecker: Boolean;
Var
Ess:Integer;
begin
Ess := BitmapFromString(9, 11, 'meJx1zNEKgCAQRNGfDBMRERHbysq' +
'I/r+BIQmWYN7O3RXZRLZlObBaz32/sNZurJQVkzeAMgDlPGM6gMaY' +
'U5owBt/nISQog64MvI9Ufetc+FPQV/tnkLVeK8kYp5U/h2GkMoDyJ' +
'+gB5qx01w==');
if FindBitMapToleranceIn(Ess,X,Y,MIX1,MIY1,MIX2,MIY2,45)then
begin
FindingAltar;
Wait(RandomRange(700, 843));
EssChecker;
end;
FreeBitMap(Ess);
end;
Function WithDrawingEss:Boolean;
begin
MMouse(710, 140, 4,4);//Summoning Icon
ClickMouse2(False);
Wait(RandomRange(100, 200));
ChooseOption('Take BoB');
end;
Function CraftingRunes: Boolean;
Var
Giant, Large, Medium,Small:Integer;
AltarSpot:TPoint;
begin
SmallReport(2);
If UsePouches = ('Yes') then
begin
Giant := BitmapFromString(9, 7, 'meJxLy8z29Q/08PZx8/B0dHFhYmAw' +
'sHICIkNrp4TklLjEpJCwcKCsi5s7UAoua+nsGRUbFxEdAyS1jc01D' +
'UzlVTUhCoBS5o7upvYuxjZO+ha2tvb2QFkVbX0JGXkrVx9kWaB2e0' +
'cniKyNux+abGBIKNBSoKydVyCmbFhEFNDBAIyLLPk=');
Large := BitmapFromString(11, 7, 'meJwzsHIyACNDa2cgycTAYAATMUC' +
'SAiKgFBDp2blAGMgqIVwTdz8hRU1BOTU4gqt0jU1zDE+wCYyy9A1F' +
'UwNEEMOBapyjU5wik+yCY4DKgOJAlRAEcQNQjY27H1AB0CigGqBp1' +
'v7hQJVAhOwSoBqgAvvQOKAaoAIIAgCPCyuY');
Medium := BitmapFromString(11, 5, 'meJwztnc3cfAAIiYGBmRkbO9uYOU' +
'EREAGEAFFhBQ14UjT3BZZpaG1M5AhrKyDrAaOILLW/uFABVjVAGXd' +
'4jOcIpPsQ+MgytAUAADxCRav');
Small := BitmapFromString(8, 6, 'meJyzDY6xCYyCICv/cEvfUG1jCyYG' +
'Bht3v5j4BN+AQG9fP09vH6AIEBkbGwPFLZy9DK0cNA1NlTR1pRVVx' +
'KRlgVJ2XoFAcVN7V6B6CytrBTUtiBRcHKjFzdMLqAUi5eATDBQ3d3' +
'Q3tnUKDAkFagFKyamoAwAPTh7y');
FindingAltar;
Wait(RandomRange(600, 700));
AstralChecker;
If (LoggedIn) then
begin
If FindBitMapTolerancein(Giant,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 421));
ChooseOption('Empty');
end;
If FindBitMapTolerancein(Large,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 421));
ChooseOption('Empty');
end;
FindingAltar;
Wait(RandomRange(800, 900));
EssChecker;
If FindBitMapTolerancein(Medium,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 421));
ChooseOption('Empty');
end;
If FindBitMapTolerancein(Small,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 421));
ChooseOption('Empty');
If Summoning = ('Yes') then
WithDrawingEss;
end;
FindingAltar;
Wait(RandomRange(700, 800));
EssChecker;
AstralChecker;
EnergyChecker;
FreeBitMap(Giant);
FreeBitMap(Large);
FreeBitMap(Medium);
FreeBitMap(Small);
TeleToBank;
end;
end else
If UsePouches =('No') then
begin
FindingAltar;
Wait(Randomrange(300, 321));
EssChecker;
EnergyChecker;
TeleToBank;
end;
end;
Function NPCContact: Boolean;
Var
Cosmic, NPCSpell, DarkMage, Air, Astral, Chat, Chat2:Integer;
begin
Cosmic := BitmapFromString(9, 8, 'meJxTuH5TARUVF1cAUWlpFbJgTk5h' +
'Xl5xfkFpYVE5UBYunpGRm5WVjyybkJACkUpLy0aTjYtLAoonJaWlp' +
'GQgywIFY2ISgLJAvciyEHOiouLQZOG2R0TEoMnCtQMAH95kyw==');
Air := BitmapFromString(10, 5, 'meJy7fv3B9esPMjJyr4MZEFRYVF5' +
'cXAFEQHZKSgayVF5ecX5BKYSdkJCCLJWVlZ+TUwjnxsUlwdlpadlo' +
'VsTEJAAVAE1ISkpDswKIAPPuZ90=');
NPCSpell := BitmapFromString(10, 7, 'meJx79fr1Kxzo19ODyAhN6tOh+it' +
'LFYAkBMEVQKQYGRiQEVAlxBAgA8g1sHICIWtnCAOiAGIOQhaiAIzg' +
'hqArQDUEggAzAmlG');
DarkMage := BitmapFromString(7, 7, 'meJzj4wOBzmVnIKhrxVkg4kMShIhA' +
'BNFEIIJwdvfK80DUs+oCUBDIEA5vgaKINiAXKCgUWCXoX4GMgIKC3' +
'sXy5i5AJGvqBEEALNs97Q==');
Astral := BitmapFromString(4, 6, 'meJw7tf7UKQyUkZELYaSkZAARhJ2Q' +
'kJKUlAZkxMQkxMUlAblAdlRUHIQLAKx3KfU=');
DepositEss;
Wait(RandomRange(300, 400));
If FindBitMapTolerancein(Cosmic,x,y,MSX1,MSY1,MSX2,MSY2,45)then
begin
MMouse(X,Y,7,7);
ClickMouse2(True);
Wait(RandomRange(400, 500));
If FindBitMapTolerancein(Astral,x,y,MSX1,MSY1,MSX2,MSY2,45) then
begin
MMouse(X,Y,7,7);
ClickMouse2(True);
Wait(RandomRange(400, 500));
end else
ShutDown;
If FindBitMapTolerancein(Air,X,Y,MSX1,MSY1,MSX2,MSY2,55)then
begin
MMouse(X,Y,7,7);
ClickMouse2(True);
Wait(RandomRange(100, 300));
ClickMouse2(True);
end;
end;
CloseBank;
Wait(RandomRange(1000, 1200));
GameTab(Tab_Magic);
Wait(RandomRange(800, 921));
If FindBitMapTolerancein(NPCSpell,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
MMouse(x,y,4,4);
ClickMouse2(True);
GameTab(Tab_Inv);
Wait(Randomrange(1200, 1300));
MMouse(460, 240, 10, 10);
ClickMouse2(True);
Wait(RandomRange(300, 400));
If FindBitMapTolerancein(DarkMage,X,Y,MSX1,MSY1,MSX2,MSY2,45)then
begin
MMouse(x,y,5,5);
ClickMouse2(True);
Wait(RandomRange(6600,6700));
Repeat
Inc(Chat2);
ClickContinue(True,True);
FindNPCChatText('repair',Clickleft);
Wait(RandomRange(400, 500));
ClickContinue(True,True);
Until(Chat2 = 12);
end;
end;
FindMoonBank;
WithDrawEss;
FreeBitMap(Astral);
FreeBitMap(Cosmic);
FreeBitMap(Air);
FreeBitMap(DarkMage);
FreeBitMap(NPCSpell);
end;
Function Checker: Boolean;
Var
Law:Integer;
begin
Law := BitmapFromString(7, 6, 'meJzLzi64oSyXn19SWFhWXFwBZMNR' +
'dnYBLvHc3CKIFFwwMysPLo6sGC6OLJiekQMRBwCtoDKH');
If FindBitMapTolerancein(Law, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
end else
begin
WriteLn('No Laws');
FreeBitMap(Law);
ShutDown;
end;
FreeBitMap(Law);
end;
Function PouchBank: Boolean;
Var
Large, Giant, Medium,GiantDeg, LargeDeg, Small:Integer;
begin
If UsePouches =('Yes') then
begin
Giant := BitmapFromString(9, 7, 'meJxLy8z29Q/08PZx8/B0dHFhYmAw' +
'sHICIkNrp4TklLjEpJCwcKCsi5s7UAoua+nsGRUbFxEdAyS1jc01D' +
'UzlVTUhCoBS5o7upvYuxjZO+ha2tvb2QFkVbX0JGXkrVx9kWaB2e0' +
'cniKyNux+abGBIKNBSoKydVyCmbFhEFNDBAIyLLPk=');
Large := BitmapFromString(11, 7, 'meJwzsHIyACNDa2cgycTAYAATMUC' +
'SAiKgFBDp2blAGMgqIVwTdz8hRU1BOTU4gqt0jU1zDE+wCYyy9A1F' +
'UwNEEMOBapyjU5wik+yCY4DKgOJAlRAEcQNQjY27H1AB0CigGqBp1' +
'v7hQJVAhOwSoBqgAvvQOKAaoAIIAgCPCyuY');
Medium := BitmapFromString(11, 5, 'meJwztnc3cfAAIiYGBmRkbO9uYOU' +
'EREAGEAFFhBQ14UjT3BZZpaG1M5AhrKyDrAaOILLW/uFABVjVAGXd' +
'4jOcIpPsQ+MgytAUAADxCRav');
Small := BitmapFromString(8, 6, 'meJyzDY6xCYyCICv/cEvfUG1jCyYG' +
'Bht3v5j4BN+AQG9fP09vH6AIEBkbGwPFLZy9DK0cNA1NlTR1pRVVx' +
'KRlgVJ2XoFAcVN7V6B6CytrBTUtiBRcHKjFzdMLqAUi5eATDBQ3d3' +
'Q3tnUKDAkFagFKyamoAwAPTh7y');
GiantDeg := BitmapFromString(10, 8, 'meJx1juEKgjAYRcXXiNAQBiOZc7S' +
'Gk2GskRpjFCJS7/8g3hhIBMFlP3YO936sluwrBaGHgqRJkuccuc/z' +
'ME0uBOt965zqOqF1pHV79cuypbFWGgPKlYLAtQ2vN/5jw+3xNH0fB' +
'dCPcFKYO1YCQfllHPFiGtntM9BNoGWFEFriNiYlBHHWkf4IaMA66D' +
'8BN6xpjDC+');
LargeDeg := BitmapFromString(9, 9, 'meJzTNTRxDQhw9PY2srJSUFYVl5Rm' +
'YmAwsHICIl1DE209Q3tPT1s3d21DQ1kFJSkZOaAsEEGkNLT11DS1I' +
'RohsiKi4shS1i4uBubmQCmILEQKIgu00czeHm4sshRQI9BSExsbDT' +
'09oCxQCtlMZCkDY3NkKYiZWKWc/fwgUkCnAgDtUirq');
If (LoggedIn) then
begin
If Not FindNormalRandoms then
begin
If FindBitMapTolerancein(Giant,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end else
begin
If FindBitMapTolerancein(GiantDeg,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
NPCContact;
end else
begin
end;
If FindBitMapTolerancein(Giant,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end;
end;
If FindBitMapTolerancein(Large,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end else
begin
If FindBitMapTolerancein(LargeDeg,X,Y,MIX1,MIY1,MIX2,MIY2,25)then
begin
NPCContact;
end else
begin
end;
If FindBitMapTolerancein(Large,x,y,MIX1,MIY1,MIX2,MIY2,25)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end;
end;
WithdrawEss;
If FindBitMapTolerancein(Medium,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end;
If FindBitMapTolerancein(Small,x,y,MIX1,MIY1,MIX2,MIY2,45)then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(RandomRange(300, 321));
ChooseOption('Fill');
end;
WithdrawEss;
end else
ShutDown;
end else
ShutDown;
FreeBitMap(Small);
FreeBitMap(Giant);
FreeBitMap(Large);
FreeBitMap(Medium);
FreeBitMap(GiantDeg);
FreeBitMap(LargeDeg);
end else
If UsePouches = ('No') then
begin
end else
ShutDown;
end;
Function CheckerSum:Boolean;
Var
AbyssPouch,SummoningPot, EmptyPot, Pot:Integer;
begin
If FindColorSpiralTolerance(x,y ,6322435 ,690 ,130 , 750, 160, 25) then
begin
Writeln('Summoning Full Nothing Summoned');
AbyssPouch := BitmapFromString(6, 6, 'meJyr753cPGlGff/kpknTmqfMEFP1' +
'buifWt3dDxTRdusFIqBIRUcPkIRwISIQhEcEqyAArGMj1w==');
If findBitMapTolerancein(AbyssPouch,x,y,MIX1,MIY1,MIX2,MIY2, 45)then
begin
MMouse(x,y,6,6);
ClickMouse2(False);
Wait(RandomRange(100, 200));
ChooseOption('Summon');
FreeBitMap(AbyssPouch);
end else
begin
FindMoonBank;
Wait(RandomRange(1200, 1400));
If BankScreen then
begin
If FindBitMapTolerancein(AbyssPouch,x,y,MSX1,MSY1,MSX2,MSY2, 45) then
begin
MMouse(X,y,5,5);
ClickMouse2(True);
CloseBank;
FreeBitMap(AbyssPouch);
Wait(RandomRange(600, 800));
CheckerSum;
end;
end;
end;
end else
If FindColorSpiralTolerance(x,y, 12309391,690, 130, 750, 160, 25) then
begin
Writeln('Summoned');
end else
If FindColorSpiralTolerance(x,y,3623936,690, 130, 750, 160, 25) then
begin
Writeln('Need to Renew Points');
SummoningPot := BitmapFromString(5, 6, 'meJzTNrTQNrRgYmC4e00eiJDZmFxk' +
'NkEuACs2JsU=');
EmptyPot := BitmapFromString(10, 7, 'meJxdjEEOgDAIBEnf401PvkQjLbT' +
'V/3/BRSJpSiYcmAmJiM/jVh15qiF8JSLsLgKmRpmXbUfgdmrC1pxb' +
'MbqUD2twhPUA/xHj4iUabLceBJ6NFqz/RPYC1gE51A==');
FindMoonBank;
Wait(RandomRange(400, 600));
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
If BankScreen then
begin
DepositEss;
If FindBitMapToleranceIn(SummoningPot,x,y,MSX1,MSY1,MSX2,MSY2, 45) then
begin
MMouse(X,y,6,6);
ClickMouse2(True);
CloseBank;
end;
end;
Wait(500+Random(300));
If FindBitMapToleranceIn(SummoningPot,x,y,MIX1,MIY1,MIX2,MIY2, 45) then
begin
MMouse(X,y,6,6);
Repeat
inc(Pot);
ClickMouse2(True);
Wait(RandomRange(900, 1200));
Until(Pot = 4);
end;
If FindBitMapTolerancein(EmptyPot,x,y,MIX1,MIY1,MIX2,MIY2, 45) then
begin
MMouse(X,y,6,6);
ClickMouse2(False);
Wait(RandomRange(100, 200));
ChooseOption('Drop');
end else
begin
If FindBitMapToleranceIn(SummoningPot,x,y,MIX1,MIY1,MIX2,MIY2, 45) then
begin
MMouse(X,y,6,6);
ClickMouse2(False);
Wait(RandomRange(100, 200));
ChooseOption('Drop');
end;
end;
FreeBitMap(SummoningPot);
FreeBitMap(EmptyPot);
CheckerSum;
end;
end;
Function Storing:Boolean;
Var
Ess,x,y:Integer;
begin
MMouse(710, 140, 4,4);//Summoning Icon
ClickMouse2(True);
Wait(RandomRange(900, 1000));
FindNPCChatText('Store',ClickLeft);
ClickMouse2(True);
Wait(RandomRange(1200, 1400));
Ess := BitmapFromString(9, 11, 'meJx1zNEKgCAQRNGfDBMRERHbysq' +
'I/r+BIQmWYN7O3RXZRLZlObBaz32/sNZurJQVkzeAMgDlPGM6gMaY' +
'U5owBt/nISQog64MvI9Ufetc+FPQV/tnkLVeK8kYp5U/h2GkMoDyJ' +
'+gB5qx01w==');
If FindBitMapTolerancein(Ess, X, Y, MIX1, MIY1, MIX2, MIY2, 45) then
begin
MMouse(X, Y, 7, 7);
ClickMouse2(False);
Wait(Randomrange(100, 200));
ChooseOption('Store-All');
Wait(RandomRange(900, 1000));
CloseWindow;
end;
Wait(RandomRange(300, 400));
FindMoonBank;
WithdrawEss;
FreeBitMap(Ess);
end;
Procedure Bank;
begin
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
If BankScreen then
begin
DepositAstrals;
Wait(RandomRange(300, 400));
WithdrawEss;
Wait(RandomRange(300, 400));
PouchBank;
end;
end;
begin
MouseSpeed := RandomRange(14,16);
smart_server := 16;
smart_members := false;
smart_signed := true;
smart_superDetail := false;
ClearDebug;
SetupSRL;
SMART_ClearCanvas;
DeclarePlayers;
LoginPlayer;
MakeCompass('W');
SetAngle(True);
CloseWindow;
CloseBank;
If Not (GameTab(Tab_inv)) then
GameTab(Tab_Inv);
DoThePainting;
SMART_ClearCanvas;
Repeat
DoThePainting;
Checker;
EnergyChecker;
WalkingToBank;
If Summoning = ('Yes') then
CheckerSum;
FindMoonBank;
Bank;
If Summoning = ('Yes') then
Storing;
HealthChecker;
Wait(RandomRange(1300, 1600));
WalkingToAltar;
Wait(RandomRange(1600, 1700));
CraftingRunes;
Inc(Runs);
IncEx(RuneCount, AstralCounter);
SMART_ClearCanvas;
Until(Not (Loggedin));
SPS_Continue := true;
end.
//Script 2 Chin Hunter.
program ChinHunterBotFull;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}
Var
X,Y, ChinCount:Integer;
aFound:Extended;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Number of Players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Player to start with, first one is 0
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True; // True if you are using this player
Players[0].Pin := ''; // Bank Pin. Leave it if you don't have one.
Players[0].Integers[1] := 10000; // Number of loads
end;
Procedure AntiBan;
begin
if(not(LoggedIn))then
LogInPlayer;
case Random(1500) of
0..50:begin
HoverSkill('Hunter', false);
wait(2453+Random(432));
end;
75..125: RandomRClick;
420..460: PickUpMouse;
800..825: begin
RandomMovement;
ClickNorth(Srl_Angle_High);
end;
end;
end;
Function ChinAmount: Integer;
Var
Chin, Count:Integer;
begin
Chin := BitmapFromString(5, 4, 'meJzrn7+UWyOAS9WHS9mdU8l1ytI1' +
'PFqhEBEgd9rytUARbs1gOHf6ivU82uFABUAuACLgEi4=');
If FindBitMapTolerancein(Chin, X, Y, MIX1, MIY1, MIX2, MIY2, 95) then
begin
Count := GetAmount(X,Y);
Result:= Count;
end;
FreeBitMap(Chin);
end;
procedure SmallReport;
Var
Clock: TIntegerArray;
begin
ClearDebug;
ChinAmount;
Clock := [0,0,0];
ConvertTime(GetTimeRunning,Clock[0],Clock[1],Clock[2]);
writeln('-*-*-*-*-*-*AlignsChinHunter-*-*-*-*-*-*');
Writeln('-*-*-*-*-*-*By AlignDude(Mat)-*-*-*-*-*-*');
Writeln('Time Running ' +tostr(Clock[0])+':'+tostr(Clock[1])+':'+tostr(Clock[2]));
Writeln('Chins Caught:' +IntToStr(ChinAmount));
end;
Procedure StartTrapLayer;
Var
Trap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
Trap := BitmapFromString(8, 5, 'meJwzcfBgYmAAIm3/JA2vGDW3CCBb' +
'QcEASOoGpSna+kBkZYwdIOLJTVPia/tjq7ojS9tCCxpkTZ0VrL2AU' +
'nHVvUDBqPL2iOIWoHhIfp2qS6h/Rll4UROQHZxbE5BVAeT6pBR7Je' +
'ZHV3QCAE/5IfI=');
//Trap 1
If FindBitMapTolerancein(Trap,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
begin
MMouse(X,Y,4,4);
Wait(100+Random(50));
If IsUpText('Box trap') then
ClickMouse2(True);
Wait(4000+Random(100))
end;
//Trap 2
If FindBitMapTolerancein(Trap,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
begin
MMouse(240, 210, 5,5);
ClickMouse2(True);
Wait(1000+Random(300));
MMouse(X,Y,4,4);
Wait(100+Random(50));
If IsUpText('Box trap') then
ClickMouse2(True);
Wait(3800+Random(100));
MMouse(250, 140, 5,5);
ClickMouse2(True);
Wait(500+Random(50));
end;
//Trap 3
If FindBitMapTolerancein(Trap,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
begin
Wait(1000+Random(300));
MMouse(X,Y,4,4);
Wait(100+Random(50));
If IsUpText('Box trap') then
ClickMouse2(True);
Wait(3400+Random(100));
MMouse(280, 140, 5,5);
Wait(200+Random(50));
ClickMouse2(True);
end;
//Trap 4
If FindBitMapTolerancein(Trap,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
begin
Wait(1000+Random(300));
MMouse(X,Y,4,4);
Wait(100+Random(50));
If IsUpText('Box trap') then
ClickMouse2(True);
Wait(3400+Random(100));
MMouse(320, 200, 5,5);
Wait(200+Random(50));
ClickMouse2(True);
end;
Wait(4000+Random(200));
FreeBitMap(Trap);
end;
Procedure TrapLayer;
Var
Trap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
Trap := BitmapFromString(8, 5, 'meJwzcfBgYmAAIm3/JA2vGDW3CCBb' +
'QcEASOoGpSna+kBkZYwdIOLJTVPia/tjq7ojS9tCCxpkTZ0VrL2AU' +
'nHVvUDBqPL2iOIWoHhIfp2qS6h/Rll4UROQHZxbE5BVAeT6pBR7Je' +
'ZHV3QCAE/5IfI=');
If FindBitMapTolerancein(Trap,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
begin
MMouse(X,Y,4,4);
Wait(100+Random(50));
If IsUpText('Box trap') then
ClickMouse2(True);
end;
Wait(4000+Random(200));
FreeBitMap(Trap);
end;
Procedure TrapChecker2;
Var
OpenTrap, ClosedTrap, DroppedTrap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
ClosedTrap := DTMFromString('mlwAAAHicY2dgYGBngABuKGaC8rmAmAWIOYCYDSrHA8TMUPn2pkaG9bNKGTbOLgPTW+ZVMJTGGjPMbEtj4AfKsyJhfiTMiAdDAQCmFAvL');
OpenTrap := DTMFromString('mggAAAHicY2NgYBBggAAeKJYAYj4g5oZiNiCWBGIuqLpVU4sYtsyrYJjS18ewc1E1mA/C/EA5bJgRB4YAAAbUC1c=');
DroppedTrap := DTMFromString('mggAAAHicY2NgYDBjZGBQBGJbIDYGYhsgNgXilUC5tUC8CIgXA/EGKJ4+KZWhs7WZobk+nGFSbyLDtEnFDEsX1jPwA+WwYUYcGAIAgVgO+A==');
//Trap 2
if FindDTMRotated(OpenTrap, x, y, 210, 150, 280, 250, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Writeln('Found Open Trap 2');
end else
if FindDTMRotated(ClosedTrap, x, y, 220, 160, 280, 250, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
wait(200+Random(200));
If IsUpText('hakin') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
ClickMouse2(True);
TrapLayer;
MMouse(300, 130, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end else
begin
Wait(200+Random(100));
If IsUpText('ism') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
MMouse(300, 130, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end else
TrapChecker2;
end;
Wait(1500+Random(100));
end else
If FindDTMRotated(DroppedTrap, x, y, 210, 150, 280, 250, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
Wait(200+Random(100));
If IsUpText('Take Box trap') then
ClickMouse2(True);
Wait(RandomRange(3500, 3700));
TrapLayer;
Wait(300+Random(50));
MMouse(300, 130, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end;
FreeDtm(ClosedTrap);
FreeDTM(OpenTrap);
FreeDTM(DroppedTrap);
end;
Procedure TrapChecker3;
Var
OpenTrap, ClosedTrap, DroppedTrap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
ClosedTrap := DTMFromString('mlwAAAHicY2dgYGBngABuKGaC8rmAmAWIOYCYDSrHA8TMUPn2pkaG9bNKGTbOLgPTW+ZVMJTGGjPMbEtj4AfKsyJhfiTMiAdDAQCmFAvL');
OpenTrap := DTMFromString('mggAAAHicY2NgYBBggAAeKJYAYj4g5oZiNiCWBGIuqLpVU4sYtsyrYJjS18ewc1E1mA/C/EA5bJgRB4YAAAbUC1c=');
DroppedTrap := DTMFromString('mggAAAHicY2NgYDBjZGBQBGJbIDYGYhsgNgXilUC5tUC8CIgXA/EGKJ4+KZWhs7WZobk+nGFSbyLDtEnFDEsX1jPwA+WwYUYcGAIAgVgO+A==');
//Trap 3
if FindDTMRotated(OpenTrap, x, y, 190, 150, 255, 195, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Writeln('Found Open Trap Number 3');
end else
if FindDTMRotated(ClosedTrap, x, y, 200, 160, 250, 190, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
wait(200+Random(200));
If IsUpText('hakin') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
MMouse(330, 170, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
ClickMouse2(True);
end;
end else
begin
Wait(200+Random(100));
If IsUpText('ism') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
MMouse(330, 170, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end else
TrapChecker3;
end;
Wait(1500+Random(100));
end else
If FindDTMRotated(DroppedTrap, x, y, 190, 150, 255, 195, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
Wait(200+Random(100));
If IsUpText('Take Box trap') then
ClickMouse2(True);
Wait(RandomRange(3500, 3700));
TrapLayer;
Wait(300+Random(50));
MMouse(330, 170, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end;
FreeDtm(ClosedTrap);
FreeDTM(OpenTrap);
FreeDTM(DroppedTrap);
end;
Procedure TrapChecker4;
Var
OpenTrap, ClosedTrap, DroppedTrap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
ClosedTrap := DTMFromString('mlwAAAHicY2dgYGBngABuKGaC8rmAmAWIOYCYDSrHA8TMUPn2pkaG9bNKGTbOLgPTW+ZVMJTGGjPMbEtj4AfKsyJhfiTMiAdDAQCmFAvL');
OpenTrap := DTMFromString('mggAAAHicY2NgYBBggAAeKJYAYj4g5oZiNiCWBGIuqLpVU4sYtsyrYJjS18ewc1E1mA/C/EA5bJgRB4YAAAbUC1c=');
DroppedTrap := DTMFromString('mggAAAHicY2NgYDBjZGBQBGJbIDYGYhsgNgXilUC5tUC8CIgXA/EGKJ4+KZWhs7WZobk+nGFSbyLDtEnFDEsX1jPwA+WwYUYcGAIAgVgO+A==');
//Trap 4
if FindDTMRotated(OpenTrap, x, y, 130, 70, 260, 170, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Writeln('Found Open Trap 4');
end else
if FindDTMRotated(ClosedTrap, x, y, 200, 130, 250, 160, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
wait(200+Random(200));
If IsUpText('hakin') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
MMouse(260, 130, 5,5);
Wait(600+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
MMouse(325, 200, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end else
begin
Wait(200+Random(100));
If IsUpText('ism') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
MMouse(260, 130, 5,5);
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
Wait(300+Random(50));
MMouse(325, 200, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end else
TrapChecker4;
end;
Wait(1500+Random(100));
end else
If FindDTMRotated(DroppedTrap, x, y, 130, 70, 260, 170, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
Wait(200+Random(100));
If IsUpText('Take Box trap') then
ClickMouse2(True);
Wait(RandomRange(3500, 3700));
TrapLayer;
Wait(300+Random(50));
MMouse(325, 200, 5,5);
Wait(400+Random(50));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
end;
FreeDtm(ClosedTrap);
FreeDTM(OpenTrap);
FreeDTM(DroppedTrap);
end;
Procedure TrapChecker;
Var
OpenTrap, ClosedTrap, DroppedTrap:Integer;
begin
If FindNormalRandoms then
begin
Logout;
TerminateScript;
end else
ClosedTrap := DTMFromString('mlwAAAHicY2dgYGBngABuKGaC8rmAmAWIOYCYDSrHA8TMUPn2pkaG9bNKGTbOLgPTW+ZVMJTGGjPMbEtj4AfKsyJhfiTMiAdDAQCmFAvL');
OpenTrap := DTMFromString('mggAAAHicY2NgYBBggAAeKJYAYj4g5oZiNiCWBGIuqLpVU4sYtsyrYJjS18ewc1E1mA/C/EA5bJgRB4YAAAbUC1c=');
DroppedTrap := DTMFromString('mggAAAHicY2NgYDBjZGBQBGJbIDYGYhsgNgXilUC5tUC8CIgXA/EGKJ4+KZWhs7WZobk+nGFSbyLDtEnFDEsX1jPwA+WwYUYcGAIAgVgO+A==');
//Trap 1
if FindDTMRotated(OpenTrap, x, y, 250, 120, 310, 220, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Writeln('Found Trap 1 Open');
end else
if FindDTMRotated(ClosedTrap, x, y, 280, 160, 310, 200, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
wait(100+Random(200));
If IsUpText('hakin') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
end else
begin
If IsUpText('ism') then
begin
ClickMouse2(True);
Wait(3200+Random(200));
if not IsUpText('ttack') then
ClickMouse2(True)
else
begin
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('alk here');
end;
TrapLayer;
end else
TrapChecker;
end;
Wait(1500+Random(100));
end else
If FindDTMRotated(DroppedTrap, x, y, 200, 100, 340, 240, -Pi/4, Pi/4, Pi/60, aFound) then
begin
MMouse(X,Y,5,5);
Wait(200+Random(100));
If IsUpText('Take Box trap') then
ClickMouse2(True);
Wait(RandomRange(3500, 3700));
TrapLayer;
end;
FreeDtm(ClosedTrap);
FreeDTM(OpenTrap);
FreeDTM(DroppedTrap);
end;
begin
MouseSpeed := RandomRange(19,24);
smart_server := 19;
smart_members := false;
smart_signed := true;
smart_superDetail := false;
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
ClickNorth(SRL_ANGLE_None);
SetAngle(SRL_ANGLE_HIGH);
StartTrapLayer;
Repeat
SmallReport;
TrapChecker;
TrapChecker2;
TrapChecker3;
TrapChecker4;
AntiBan;
SmallReport;
Until(Not Loggedin);
end.
//Script 3 Oak Larder
program Lader;
{$DEFINE SMART}
{$i SRL\SRL.simba}
Var
X, Y, run, Building:Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Number of Players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Player to start with, first one is 0
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True; // True if you are using this player
Players[0].Integers[1] := 10000; // Number of loads
end;
function LaderColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.26, 0.59);
if not (FindColorsTolerance(arP, 9608881, 250, 70, 280, 150, 19)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ButtlerColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.24, 1.55);
if not (FindColorsTolerance(arP, 1121358, MSX1, MSY1, MSX2, MSY2, 15)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function LaderBuildColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.05, 0.21);
if not (FindColorsTolerance(arP, 2376274, MSX1, MSY1, MSX2, MSY2, 6)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Procedure Builder;
begin
If FindObjTpa(X,Y,LaderBuildColor,5,1,30, 20, 120, ['arder']) then
begin
MMouse(X,Y,5,5);
ClickMouse2(False);
Wait(150+Random(50));
ChooseOption('Remove');
ClickContinue(True,True);
Wait(1200+Random(50));
FindNPCChatText('Yes',Clickleft);
Wait(2000+Random(50));
end else
If FindObjTPA(X,Y,laderColor,10,1,30, 70, 40,['2 more']) then
begin
MMouse(X,Y,5,5);
ClickMouse2(False);
wait(150+Random(50));
If ChooseOption('Build') then
begin
Wait(1200+Random(50));
MMouse(110, 140, 5, 5);
ClickMouse2(True);
Wait(2300+Random(50));
end;
end else
Builder;
end;
Procedure ButlerHandeler;
begin
If FindObjTPA(X,Y,buttlercolor,10,1,10,10,10,['utler']) then
begin
MMouse(X,Y,4,4);
ClickMouse2(False);
Wait(150+Random(50));
ChooseOption('etch');
wait(2000+Random(50));
If (ClickContinue(True, True)) then
begin
FindNPCChatText('5000 coins.',Clickleft);
ButlerHandeler;
end else
FindNPCChatText('another',Clickleft);
Wait(700+Random(50));
If FindText(X,Y,'regretfully',UpChars,MCX1,MCY1,MCX2,MCY2) then
begin
Writeln('Stopping out of planks');
Logout;
TerminateScript;
end else
Wait(8000+Random(50));
end;
end;
begin
MouseSpeed := RandomRange(19,24);
smart_server := 19;
smart_members := false;
smart_signed := true;
smart_superDetail := false;
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
ClickNorth(SRL_Angle_High);
repeat
ClickContinue(True,True);
Repeat
inc(Building);
ClickContinue(True,True);
Builder;
Writeln('Till Butler: '+inttostr(Building));
ClickContinue(True,True);
Until(building = 5);
ButlerHandeler;
Building := 0;
Until(Not Loggedin);
end.
//Last Script GAltar Bot :)
program MatsGuildAltarPro;
{$DEFINE SMART}
{$i srl/srl.Simba}
{$i sps/sps.simba}
Var
GAltar,InfernAsh,Herb,IncenseRight,IncenseLeft,MountGlory,x,y,Bone,Bones:Integer;
AFound:Extended;
Const
BoneType =(''); //Bones Or Ashes?
Procedure WalkingtoBank;
Var
ToBank:TPoint;
Begin
SPS_Setup(RUNESCAPE_SURFACE,['10_6','11_6','10_7','11_7','10_5']);
ToBank := Point(4209, 2679);
SPS_WalkToPos(ToBank);
End;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Number of Players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Player to start with, first one is 0
Players[0].Name := ''; // Username
Players[0].Pass := '' // Password
Players[0].Active := True; // True if you are using this player
Players[0].Pin := ''; // Bank Pin. Leave it if you don't have one.
Players[0].Integers[1] := 10000; // Number of loads
end;
function BankerNPC: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.12, 0.46);
if not (FindColorsTolerance(arP, 4006954, MSX1, MSY1, MSX2, MSY2, 14)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Procedure Banking;
Var
HerbRun,TeleTab:Integer;
Begin
If FindNormalRandoms then
Begin
Logout;
TerminateScript;
End else
TeleTab := DTMFromString('mwQAAAHic42RgYHBhYmBwA+JAIPYBYlMgtgFiL6gYCD8CqrsOxE+h9AMg/gTFr4D4LhCvWrwISDLhxZIMhAEjERgOAPw+DME=');
InfernAsh := DTMFromString('mrAAAAHic42BgYEgC4nQgzoLiOCCOAOJYIE4B4iNAvB9KH4BiEPs0EJ8AYl52ViDJhBNLMuAHjAQwDAAA4VsJgw==');
Bones := DTMFromString('mlwAAAHicY2dgYMhkZGBIBeJiIE4B4lggLgHiQiCeDpSfDcRTgLgXiGcA8TwgngnEpQUFQJIJK5ZkwA0Y8WAoAADMCQiZ');
Herb := DTMFromString('mlwAAAHicY2dgYDjCyMCwFYjPM0LYZ4F4NxCfBOLpQPkZQDwRiOdB2ZOAeC4Q80TyAUkmrFiSATdgxIOhAADKQAow');
If FindObjTPA(X,Y,BankerNPC,10,1,20,25 ,20,['ank'])then
Begin
MMouse(X,y,5,5);
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('Bank Banker');
Wait(4000+Random(50));
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
if BankScreen then
Begin
If FindDTM(Herb,X,Y,MBX1,MBY1,MBX2,MBY2)then
Begin
MMouse(X,Y,5,5);
Repeat
Inc(HerbRun);
ClickMouse2(True);
Wait(300+Random(50));
Until(HerbRun = 2);
End;
FreeDTM(Herb);
If BoneType = ('Ash') then
Bone := InfernAsh else
Bone := Bones;
If FindDTM(Bone,X,Y,MBX1,MBY1,MBX2,MBY2)then
Begin
MMouse(X,Y,5,5);
ClickMouse2(False);
Wait(100+Random(50));
ChooseOption('All');
End;
FreeDTM(InfernAsh);
FreeDTM(Bones);
CloseBank;
If FindDTM(TeleTab,X,Y,MIX1,MIY1,MIX2,MIY2)then
Begin
MMouse(X,Y,5,5);
ClickMouse2(True);
Wait(7000+Random(50));
end;
FreeDTM(TeleTab);
end else
Banking;
End else
Banking;
end;
Procedure OpeningDoor;
Var
Door:Integer;
Begin
If FindNormalRandoms then
Begin
Logout;
TerminateScript;
End else
Door := DTMFromString('m6wAAAHic42ZgYJBgZGD4AaQtgbQkEItB+cZAWh+I9YCYCYj/A8U8QeqA2ApKRwBxJJR2AWI/KO0LxNHBbgyNuWEM1RlBDLGh7gyRgS4MFan+DEUJ3gxlyX4MJUm+YDkQWxKonljMSAJGAgCPcxSX');
If FindDTMRotated(Door,X,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound)then
Begin
MMouse(X,y,5,5);
Wait(100+Random(50));
If IsUpText('Door') then
CLickMouse2(True);
Wait(3000+Random(50));
End else
OpeningDoor;
FreeDTM(Door);
RadialWalkTolerance(8230043,-1,1,25,-1,0,15);
Flag;
Wait(600+random(50));
end;
Procedure Using;
Begin
InfernAsh := DTMFromString('mrAAAAHic42BgYEgC4nQgzoLiOCCOAOJYIE4B4iNAvB9KH4BiEPs0EJ8AYl52ViDJhBNLMuAHjAQwDAAA4VsJgw==');
GAltar := DTMFromString('mlwAAAHicY2dgYHgPxBeBmJsRwr4MZb8D0h1AXAHFk4B4FhBPB+JqIL6xS47h6eN7DK9ePWd4/foVQ4iDPoOnuQbDokWrGCSB8rgwIx4MBQA0YRYm');
Bones := DTMFromString('mlwAAAHicY2dgYMhkZGBIBeJiIE4B4lggLgHiQiCeDpSfDcRTgLgXiGcA8TwgngnEpQUFQJIJK5ZkwA0Y8WAoAADMCQiZ');
If BoneType = ('Ash') then
Bone := InfernAsh else
Bone := Bones;
If FindDTM(Bone,x,y,MIX1,MIY1,MIX2,MIY2)then
Begin
MMouse(X,y,5,5);
Wait(150+Random(50));
If IsUpText('ashes') or IsUpText('one') then
ClickMouse2(False);
Wait(250+Random(50));
ChooseOption('se I');
Wait(121+Random(52));
end;
FreeDTM(InfernAsh);
FreeDTM(Bones);
If FindDTMRotated(GAltar,X,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound)then
Begin
MMouse(X,y,5,5);
CLickMouse2(True);
End;
FreeDTM(GAltar);
Wait(2300+Random(50));
End;
Procedure Glory;
Begin
MountGlory := DTMFromString('mggAAAHicY2NgYPAFYj8gDgJiDyjtBcSaQKwLxBpQrAfE2kC8qC+X4e8vVYaKRDMwG4YlgXLYMCMODAEA1LwNEg==');
If FindDTMRotated(MountGlory,X,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound)then
Begin
MMouse(X,y,5,5);
Wait(100+Random(50));
If IsUpText('let') then
ClickMouse2(True);
End;
FreeDTM(MountGlory);
Wait(5000+Random(200));
If Not FindNPCChatText('Edgeville',ClickLeft) then
Glory else
Wait(4000+Random(100));
End;
Procedure Giving;
Begin
Using;
InfernAsh := DTMFromString('mrAAAAHic42BgYEgC4nQgzoLiOCCOAOJYIE4B4iNAvB9KH4BiEPs0EJ8AYl52ViDJhBNLMuAHjAQwDAAA4VsJgw==');
Bones := DTMFromString('mlwAAAHicY2dgYMhkZGBIBeJiIE4B4lggLgHiQiCeDpSfDcRTgLgXiGcA8TwgngnEpQUFQJIJK5ZkwA0Y8WAoAADMCQiZ');
If BoneType = ('Ash') then
Bone := InfernAsh else
Bone := Bones;
If FindDTM(Bone,x,y,McX1,McY1,McX2,McY2)then
Begin
MMouse(X,y,5,5);
Wait(100+Random(50));
If IsUpText('Offer All') then
ClickMouse2(True);
end else
Giving;
FreeDTM(InfernAsh);
FreeDTM(Bones);
End;
function Praying: Boolean;
begin
InfernAsh := DTMFromString('mrAAAAHic42BgYEgC4nQgzoLiOCCOAOJYIE4B4iNAvB9KH4BiEPs0EJ8AYl52ViDJhBNLMuAHjAQwDAAA4VsJgw==');
Bones := DTMFromString('mlwAAAHicY2dgYMhkZGBIBeJiIE4B4lggLgHiQiCeDpSfDcRTgLgXiGcA8TwgngnEpQUFQJIJK5ZkwA0Y8WAoAADMCQiZ');
If BoneType = ('Ash') then
Bone := InfernAsh else
Bone := Bones;
if FindDTM(Bone,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
If ClickContinue(True,True)then
Begin
Giving;
End;
Result:= True
end else
begin
Wait(1000);
if FindDTM(Bone,x,y,MIX1,MIY1,MIX2,MIY2) then
Result:= True else Result:= False;
end;
FreeDTM(InfernAsh);
FreeDTM(Bones);
end;
Procedure WastingLotsofGPs;
Begin
If FindNormalRandoms then
Begin
Logout;
TerminateScript;
End else
IncenseRight := DTMFromString('mlwAAAHicY2dgYGAHYi4GCOAEYj4gZoHSgkAsAcTiQMwKxBwMCPDm9QuGr58/MNy7dYrh62ElBk9zDQYXYzUGewNlBkmgPC7MiAdDAQA01g0P');
IncenseLeft := DTMFromString('mrAAAAHic42BgYOCEYn4gZgdiISBmZYAALiAWBmIZIJYEYnEgFgBiNqg8ExA/f/6MIdzRgOHbl08MX169ZJg0oY3h3gZ5BnsDZTCWhOrFhRkJYBgAAIBxDzE=');
If FindDTMRotated(IncenseRight,X,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound)then
Begin
MMouse(X,y,5,5);
Wait(150+Random(50));
If IsUpText('Light') then
CLickMouse2(True);
End;
FreeDTM(IncenseRight);
Wait(3000+Random(50));
If FindDTMRotated(IncenseLeft,X,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound)then
Begin
MMouse(X,y,5,5);
Wait(150+Random(50));
If IsUpText('Light') then
CLickMouse2(True);
End;
FreeDTM(IncenseLeft);
Wait(3000+Random(50));
Giving;
Wait(1000+Random(50));
If Praying then
Begin
Repeat
Wait(1200+Random(50));
Writeln('Giving Bones');
Until(Not(Praying));
end;
Glory;
end;
begin
MouseSpeed := RandomRange(14,16);
smart_server := 16;
smart_members := false;
smart_signed := true;
smart_superDetail := false;
SetupSRL;
DeclarePlayers;
LoginPlayer;
ClickNorth(SRL_ANGLE_HIGH);
Repeat
WalkingtoBank;
Banking;
OpeningDoor;
WastingLotsofGPs;
Until(Not Loggedin);
end.
//That's All People :)