SRL Archive - Archive

Mat - SRL Member Application


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…
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 :)

Main

2012-01-18 16:38:43

Yes, very good standards and show of skill.

Although I don't recall seeing your name, but you got decent amount of post:P

Sabzi

2012-01-18 16:41:50

That's why I hate that most of the name-changers forgets about the rule: "keep your old name in your signature for a few weeks".

Griff

2012-01-18 16:43:51

Yes! I remember because you always put -Mat at the end of your posts.

Lancelot074

2012-01-18 16:47:27

I like the activity and eagerness to learn but I see an excessive use of ACA instead of creating your own autocolor functions. Also, I didn't see any TPA's or radialwalk, only FindObjTPA and SPS for walking. DTMs are good but you shouldn't rely on them too much. Gonna hold my vote for now.

Mat

2012-01-19 01:50:49

Hey,
Sorry about the name change I had it in my sig but I changed it and forgot to re add sorry.

Mat

Sabzi

2012-01-19 06:14:48

From: Mat
Hey,
Sorry about the name change I had it in my sig but I changed it and forgot to re add sorry.

Mat


Oh, it was not towards you. Well, not only you.
You at least always used mat as your signature at the end of the posts.
I am not voting though.

WT-Fakawi

2012-01-20 08:43:44

Looks original :). Yah.

WT-Fakawi

2012-01-25 09:14:23

In.