Joe
2012-04-27 19:54:30
How Long have You Played Runescape?
5 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
In an indirect way by YoHoJo
What is your general programming knowledge?
I can script in the Pascal language that SIMBA uses, Java, and some HTML
Are you a member of any other communities?
Runescape
Tell us about yourself…
Please show us one (or multiple) of your scripts.
I also wrote:
- Joebots Falador TreeTANK
- JOEbots HighAlchPro
- I have a few more that are in developement, PM me to view them.
Thank you for voting! Please leave feedback :)
5 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
In an indirect way by YoHoJo
What is your general programming knowledge?
I can script in the Pascal language that SIMBA uses, Java, and some HTML
Are you a member of any other communities?
Runescape
Tell us about yourself…
From: JOEbot
After the botnuke, I was searching Youtube and Google for working bots. I came across one of YoHoJo's tutorials and VOILA! Here I am.
Please show us one (or multiple) of your scripts.
program JOEbotsGiants; // This is what I Named my Script
{$DEFINE SMART} // From Benland100
{$i SRL/srl.simba} // From SRL
{$i srl\srl\skill\fighting.simba}
{$i sps/sps.simba} // From Marpis (Creator of SPS) Used as a Failsafe
{$i ObjectDTM\ObjDTMInclude.simba} // From ODTM Generation Tool by Euphenism (Primary Walking Path System)
{CrashSMART is not in here because only very cocky people include CrashSMART}
//
// This Script is 100% JOEbot
// What this Script does is Kills Hill Giants in the Misthalin (Around Varrock) Hill Giants Resource Dungeon and Loots several Items
// Feel free to take anything from this script as long as you give credit where needed
// This is a VERY GOOD Script to Learn off of, as I have //'d EVERYTHING!
// Don't forget to Rep+ if you like it! Although most of you will LEACH :( Dayum Shame...
// This Script was Officially Intended for Putonajonny's Scripting Compertition, Credz to him for the motivation
//
// This Script got a 92% in BobboHobbo's Membership Application Tool
{ ALL Colors were found using the ACA Color Finder by Nielsie95 and Sumulion
This is the Colors Progress Log with Hue, Saturation, and Tolerance for Future Reference
color 1 = 7434604, hue 3.89, sat 0.16, tol 12 (Silver Clothing stuff)
color 2 = 6334413, hue 0.10, sat 1.81, tol 14 (Skin)
color 3 = 7369324, hue 5.83, sat 0.30, tol 7 (Silver Clothing backup)
color 4 = 15857114, hue 6.91, sat 6.67, tol 7 (Bones)
color 5 = 7908038, hue 7.84, sat 9.19, tol 4 (Skin backup)
color 6 = 11711143, hue 5.35, sat 0.32, tol 9 (Runes)
color 7 = 4905207, hue 0.72, sat 4.24, tol 2 (Coins)
}
const
WerePoor = True; // It's OK to admit it... Also, True = Picking up Stuff
Swag = 'Runes'; // Are you going to Pick Up 'Runes' or 'Coins' (Only ones available at the moment...) To do this, make WerePoor = True
{================================ ! FILL THIS OUT ! ==========================================}
{=============================================================================================}
{_____________________________________________________________________________________________}
{=============================================================================================}
{=============================================================================================}
procedure DeclarePlayers; // Login information. You want to play, dont you? Fancy Shmancy
begin
HowManyPlayers := 2; // You can add more if you want, Just copy and paste a Player Section and write a different number in the [0], [1], [2] Box
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Starts at Players[0]
with Players[0] do
begin
Name := ''; // Enter your username in the blue things
Pass := ''; // Enter your password in the blue things
Nick := ''; // use four characters from your username
Pin := ''; // Enter bank PIN here, leave empty if you don't have one
Active := True; // Use this Player
BoxRewards := ['Xp', 'ostume', 'aphire'];
end;
with Players[1] do // Multiplayer!
begin
Name := ''; // Enter your username in the blue things
Pass := ''; // Enter your password in the blue things
Nick := ''; // use four characters from your username
Pin := ''; // Enter bank PIN here, leave empty if you don't have one
Active := True; // Use this Player?
BoxRewards := ['Xp', 'ostume', 'aphire'];
end;
end;
{=============================================================================================}
{=============================================================================================}
{_____________________________________________________________________________________________}
{=============================================================================================}
{=============================================================================================}
{ !!!STOP!!! }
{=============================================================================================}
{ * PLEASE DO NOT EDIT ANYTHING BEYOND THIS POINT *
{ * UNLESS YOU KNOW WHAT YOU ARE DOING *
( * OR WISH TO BORROW SOMETHING FROM THE SCRIPT *
( * IF THERE IS A PROBLEM OR A BUG WITH THE SCRIPT *
( * LET ME KNOW SO I CAN FIX IT *
( * IF YOU HAVE ANY ADVICE OR SUGGESTIONS *
( * POST THEM ON THE ORIGINAL THREAD OR PM ME *
( * ! THANK YOU AND ENJOY ! *
{=============================================================================================}
procedure iWelcomeU; // Everyone deserves a warm welcome!
begin
WriteLn('******************************************************************');
WriteLn('********************* JOEbots Giants- Enjoy! *********************');
WriteLn('******************************************************************');
end;
procedure iNotBanned; // You won't get banned while this is around
begin
if(not LoggedIn) then Exit; // If you aren't Logged In then it Exits the Procedure to move on to Multiplayer
case Random(250) of // Yay 100 Lines!!!
10:
begin
Hoverskill('Strength', False); // Hovers over the Strength Skill
wait(1551+Random(2111));
end;
20:
begin
Hoverskill ('Attack', False); // Hovers over the Attack Skill
wait(1661+Random(2221));
end;
30:
begin
Hoverskill ('Defence', False); // Hovers over the Defence Skill
wait(1771+Random(2331));
end;
40: RandomRClick; // Randomly Right Clicks (Anywhere)
50: PickUpMouse; // Simulates a human Picking Up a Mouse
end;
end;
procedure AntiRandoms; // Senses and completes random events. Failure isn't my fault.
begin
FindNormalRandoms; // Searches the area for Random Events
LampSkill := 'Strength'; // Puts the Random Event Rewards towards Strength Exprience
LevelUp; // Checks if you levelled up
end;
procedure KillHill; // Finds the Giants
var
x, y, a, tmpCTS, HillGiant: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit; // If you aren't Logged In then it Exits (To get to a Multiplayer Change)
if (InvFull) then Exit; // If your Inventory is Full then it Exits (To get to a Banking Loop)
iNotBanned; // So you don't get Banned
AntiRandoms; // Finds Random Events
tmpCTS := GetColorToleranceSpeed; // Gets the CTS
ColorToleranceSpeed(2); // This is the CTS I used in the ACA Color Finder by Nielsie95 and Sumulion
SetColorSpeed2Modifiers(0.10, 1.81); // The Hue and Saturation Modifiers
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2108978, MSX1, MSY1, MSX2, MSY2, 14); // Finds the Hill Giant in the Runescape Mainscreen at a Tolerance of 14
SortTPAFrom(TPA, Point(MSCX, MSCY)); // Sorts the TPA
ATPA := TPAtoATPAEx(TPA, 3, 3); // Finds the Hill Giant using a Box of 3x3 Pixels of the same Color
for a := 0 to High(ATPA) do
begin
if (IsUpTextMultiCustom(['ttack', 'ill', 'iant'])) then // The multiple possibilities of Uptext
begin
mouse(x,y,1,1,False); // Right Clicks rather than Left Clicks
ChooseOption('ttack'); // Chooses the Option 'Attack'
Break; // Straightforward...
inc(HillGiant); // Adds to the Amount of Hill Giants the Script has Killed by 1
end;
end;
ColorToleranceSpeed(tmpCTS); // Defaults the CTS
SetColorSpeed2Modifiers(0.22, 0.22); // Resets the Hue and Saturation Modifiers
end;
function Boner (var x, y : Integer): Boolean; // Need I say more?
var
a, Bones, tmpCTS: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
GetIt : Extended;
begin
if(not(LoggedIn))then Exit; // If you aren't Logged In, then it Exits (To get to a Multiplayer Change)
iNotBanned; // So you don't get Banned
AntiRandoms; // Finds Random Events
tmpCTS := GetColorToleranceSpeed; // Gets the CTS
ColorToleranceSpeed(2); // This is the CTS I used to find the Color in ACA Color Finder by Nielsie95 and Sumulion
SetColorSpeed2Modifiers(6.91, 6.67); // Hue and Saturation Modifiers
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 15857114, MSX1, MSY1, MSX2, MSY2, 7); // Finds the Bones in the Runescape Mainscreen at a Tolerance of 7
SortTPAFrom(TPA, Point(MSCX, MSCY)); // Sorts the TPA out
ATPA := TPAtoATPAEx(TPA, 2, 2); // Finds the Bones using a Box of 2x2 Pixels of the same Color
for a := 0 to High(ATPA) do
begin
if (IsUpTextMultiCustom(['ake', 'ig', 'bones'])) then // The multiple possibilities that the Uptext may find
begin
result := True; // If it finds the Bones...
mouse(x,y,1,1,False); // Right Clicks rather than Left Click
ChooseOption('ake'); // Chooses the Option 'Take'
Break; // Straightforward...
WriteLn('We picked up some Big Bones!'); // If it doesn't say this, something went Wrong
end;
end;
ColorToleranceSpeed(tmpCTS); // Defaults the CTS
SetColorSpeed2Modifiers(0.22, 0.22); // Resets the Hue and Saturation Modifiers
// Yay 200 Lines!!!
begin // Buries the Big Bones in your Inventory
Bones := DTMFromString('mbQAAAHicY2VgYPjBxMDwDoj/AvE/IP4MxF5A7AvEAUDsCcQuQJydmc2QnZrMsHTWHIbqwmKGYiDGBhixYDAAANV5DWo='); // The DTM I used for Bones is from the SIMBA DTM Editor by Nielsie95
if(InvFull) then // If your Inventory is Full then...
begin
repeat // Keeps Burying Bones until your Inventory is Empty
if FindDTMRotated(Bones, x, y, MIX1, MIY1, MIX2, MIY2, -Pi/4, Pi/4, Pi/60, GetIt) then
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('ury') // Chooses the Option 'Bury'
inc(Bones); // Adds to the Amount of Bones the Script has Buried by 1
Until not(IsUpTextMultiCustom(['ury', 'ig', 'bones'])or(InvEmpty)) // If there is no UpText for the Bones or our Inventory is Empty then it is finished
end;
FreeDTM(Bones);
end;
end;
function BankStroll: Boolean; // Super tricky Walking Path from the Resource Dungeon to the Bank
var
a, tmpCTS, cx, cy, x, y, Ladder, Door, Bwalk: Integer;
myPath:TPointArray;
TPA: TPointArray;
ATPA: T2DPointArray;
GetIt: Extended;
begin
if(not(LoggedIn))then Exit; // If you aren't Logged In it Exits (To get to a Multiplayer Change)
if(InvFull) then // If your Inventory is Full, then it Starts Walking to the Bank
begin // Inside the Resource Dungeon at by the Entrance Yay 300 Lines!!!
if ObjDTM_Find ('85:82:3:10:7:41:108:10:7:49:97:10:7:68:111:5:57:67:89:31:131:99:63:148:3:74', cx, cy, True) then // If it Finds my Points for the ODTM then...
begin
WriteLn('We will now walk to the Bank!'); // If it doesn't say This, Something went Wrong
ObjDTM_Walk ('85:82:3:10:7:41:108:10:7:49:97:10:7:68:111:5:57:67:89:31:131:99:63:148:3:74', 2, 102, 8, True); // This Walks the ODTM Path generated with Euphenism's ODTM Path Generator
end;
end;
begin // Resource Dungeon Exiter
tmpCTS := GetColorToleranceSpeed; // Gets the CTS
ColorToleranceSpeed(2); // We click 2 in the ACA Color Finder
SetColorSpeed2Modifiers(0.81, 0.16); // Hue then Saturation Modifiers
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2171937, MSX1, MSY1, MSX2, MSY2, 13); // Finds the Resource Dungeon Entrance in the Runescape Mainscreen at a Tolerance of 13
SortTPAFrom(TPA, Point(MSCX, MSCY)); // Sorts the TPA
ATPA := TPAtoATPAEx(TPA, 4, 4); // Finds the Door using a Box of 4x4 Pixels of the same Color
for a := 0 to High(ATPA) do
begin
if (IsUpTextMultiCustom(['xit', 'ysterious', 'oor'])) then // Multiple possibilities of Uptext for the Door
begin
AntiRandoms; // Finds Random Events
iNotBanned; // So you don't get Banned
result := True; // If it finds the Door then...
mouse(x,y,1,1,False); // Right Clicks rather than Left Clicks
ChooseOption('xit'); // Chooses the Option 'Take'
Break; // Straightforward...
WriteLn('We have Left the Resource Dungeon!'); // If it doesn't say this, something went wrong
end;
end;
ColorToleranceSpeed(tmpCTS); // Defaults the CTS
SetColorSpeed2Modifiers(0.22, 0.22); // Resets the Hue and Saturation Modifiers
begin // Inside of the Misthalin Underground by the Ladder
SPS_Setup(RUNESCAPE_SURFACE,['0_3','0_2']); // From Wolygon's Path Creator
myPath := [Point(248, 1275), Point(260, 1254), Point(275, 1244), Point(292, 1228), Point(291, 1214), Point(292, 1200), Point(292, 1183), Point(293, 1166)]; // From Wolygon's Path Creator
SPS_WalkPath(myPath); // From Wolygon's Path Creator
FFlag(2); // When your Character is 2 Pixels away from the Flag, it Clicks the Next SPS Point
end;
begin // Ladder Leaver
Ladder := DTMFromString('mbQAAAHicY2VgYEhghOA4II4F4nggLgDiBiCeC8QngfgFEHs5GjIkhzoxeNkYMjhZaDI4mWgyMAH1o2NGLBgMAIFQCOY='); // DTM I used to Find the Ladder was Found using the SIMBA DTM Editor by Nielsie95
if FindDTMRotated(Ladder, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('limb-up') // Chooses the Option 'Climb-up'
end;
end;
begin // Door Exiter
Door := DTMFromString('mggAAAHicY2NgYIhiZGAoBmIbILYDYg9GiFg0lO0LxEFAbA/FigoSDIoqEgyWFpYMEhISDJoaimAxZqBZ2DAjDgwBADFoBkc=');
if FindDTMRotated(Door, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('pen') // Chooses the Option 'Open'
end;
begin
SPS_Setup(RUNESCAPE_SURFACE,['10_7','11_7']); // Outside the Door to the Misthalin Underground
myPath := [Point(4301, 2860), Point(4319, 2880), Point(4330, 2897), Point(4341, 2916), Point(4359, 2931), Point(4376, 2945), Point(4394, 2961), Point(4417, 2977), Point(4451, 2983), Point(4485, 2970), Point(4494, 2953), Point(4512, 2939), Point(4538, 2939), Point(4573, 2931), Point(4580, 2909), Point(4576, 2899)];
SPS_WalkPath(myPath); // From Wolygon's Path Creator
FFlag(2); // When your Character is 2 Pixels away, it Clicks the Next SPS Point
end;
end;
begin // Little Debug Failsafe
if FindSymbol (x,y,'bank') then
WriteLn('We are at the Bank fo shizzle');
end;
inc(Bwalk); // Adds to the Amount of BankWalks the Script has Completed by 1
FreeDTM(Ladder);
FreeDTM(Door);
end;
end;
function Bankinator: Boolean;
var
Banked, Key, x, y: Integer;
GetIt: Extended;
begin
Key := DTMFromString('mQwAAAHicY2ZgYFjCxMCwDohnAPEURgaGHiCeB8QtsQIMW5skwDQyYETCQAAANAEG6Q=='); // My DTM for the Brass Key
if (not Loggedin) then Exit;
if (invFull) then
begin
AntiRandoms; // Looks for Random Events
iNotBanned; // Does something Human like
if not OpenBankFast('veb') then // If it can't find the counter...
OpenBankNPC // Then if it can't find the banker...
else
Bankinator; // Then it uses my own function. TRIPLE FAILSAFE!
if BankScreen then // If it is at the Bankscreen the...
DepositAll; // Deposits EVERYTHING
if PinScreen then // If you have a Pin then...
InPin(Players[CurrentPlayer].Pin); // It Enters your PIN
Result := True; // It happened.
if FindDTMRotated(Key, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin // This takes the Key out the the Bank after Everything is Deposited
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('ake') // Chooses the Option 'Take'
end;
end;
inc(Banked); // Adds to the Amount of Loads the Script has Banked by 1
end;
procedure DungeonStroll; // Another tricky Walking Path from the Bank to the Resource Dungeon
var
myPath:TPointArray;
x,y, cx, cy, Door, LadderIn, Entrance, Dwalk: Integer;
GetIt: Extended;
begin
if(InvEmpty) then // Makes sure the Inventory is Empty before Walking Back Yay 400 Lines!!!
begin
SPS_Setup(RUNESCAPE_SURFACE,['11_7','10_7']); // Outside of the Door to the Misthalin Underground
myPath := [Point(4578, 2909), Point(4564, 2932), Point(4539, 2935), Point(4515, 2938), Point(4494, 2956), Point(4485, 2970), Point(4467, 2976), Point(4445, 2985), Point(4432, 2973), Point(4405, 2962), Point(4380, 2946), Point(4354, 2923), Point(4341, 2913), Point(4325, 2894), Point(4324, 2875), Point(4309, 2868), Point(4299, 2856)];
SPS_WalkPath(myPath); // From Wolygon's Path Creator
FFlag(2); // When your Character is 2 Pixels away, it Clicks the Next SPS Point
end;
begin //Door Opener (From BankStroll)
Door := DTMFromString('mggAAAHicY2NgYIhiZGAoBmIbILYDYg9GiFg0lO0LxEFAbA/FigoSDIoqEgyWFpYMEhISDJoaimAxZqBZ2DAjDgwBADFoBkc=');
if FindDTMRotated(Door, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('pen') // Chooses the Option 'Open'
end;
end;
begin // Ladder Enterer
iNotBanned; // So you don't get Banned
AntiRandoms; // Finds Random Events
LadderIn := DTMFromString('mWAAAAHicY2FgYFjAyMAwC4gPMELYDkAcC6XVgZiDh4PByUKAwclEgCHI15CBCagHGTOiYRAAAGUgBbM=');
if FindDTMRotated(LadderIn, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('limb-down') // Chooses the Option 'Climb-down'
end;
end;
begin // Would've used ODTM, But there is absolutely nothing down there to Use as Points
SPS_Setup(RUNESCAPE_SURFACE,['0_2','0_3']); // Inside the Misthalin Underground
myPath := [Point(289, 1169), Point(288, 1187), Point(285, 1204), Point(277, 1221), Point(263, 1236), Point(253, 1254), Point(246, 1270), Point(237, 1273)];
SPS_WalkPath(myPath); // From Wolygon's Path Creator
FFlag(2); // When your Character is 2 Pixels away, it Clicks the Next SPS Point
end;
begin // Entrance Enterer
Entrance := DTMFromString('mWAAAAHicY2FgYKhiZGCYAcRxQFwOxN5A7AfErkAcAMR7TTQZkhOjGHq6WhiCQoMYWIF6kDEjGgYBALyhCAU=');
if FindDTMRotated(Entrance, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then // If it Finds my DTM at any Angle, then...
begin
mouse(x,y,1,1,False); // Left Clicks rather than Right Click
ChooseOption('nter') // Chooses the Option 'Enter'
end;
end;
begin // In the Middle of the Resource Dungeon
if ObjDTM_Find ('26:118:3:10:7:60:116:10:7:68:92:10:7:48:92:5:86:37:4:79:29:137:101:137:122:56', cx, cy, True) then // If it Finds my Points for the ODTM then...
begin
WriteLn('We will now walk to the Center of the Dungeon! Dah Dun Dun Dahhhhhh!'); // If it doesn't say This, Something went Wrong
ObjDTM_Walk ('26:118:3:10:7:60:116:10:7:68:92:10:7:48:92:5:86:37:4:79:29:137:101:137:122:56', 2, 102, 8, True); // This Walks the ODTM Path generated with Euphenism's ODTM Path Generator
end;
end;
inc(Dwalk); // Adds to the Amount of DungeonStrolls the Script has Completed by 1
FreeDTM(Door);
FreeDTM(LadderIn);
FreeDTM(Entrance);
end;
procedure Progress;
var
Bones, HillGiant, Dwalk, Bwalk, Loot, Banked, Time: Integer;
begin // This gives the User a Debug Box of what the Script has Completed (Please Post These on the Original Thread!)
Time := GetTimeRunning div 1000; // Gets the Time the Script has been Running and Divides it by 1000 to make it in Seconds rather than Miliseconds
WriteLn('*************************** ! JOEbots Giants ! *********************************');
WriteLn('Loads Banked:' + IntToStr(Banked)); // Writes in the Debug Box how many Loads the Script has Banked
WriteLn('Bones Buried:' + IntToStr(Bones)); // Writes in the Debug Box how many Bones the Script has Buried
WriteLn('Hill Giants Killed:' + IntToStr(HillGiant)); // Writes in the Debug Box how many Hill Giants the Script has Killed
WriteLn('Successful Bank Walks:' + IntToStr(Bwalk)); // Writes in the Debug Box how many Bank Walks the Script has Completed
WriteLn('Successful Dungeon Walks:' + IntToStr(Dwalk)); // Writes in the Debug Box how many Dungeon Walks the Script has Completed
WriteLn('Swag Picked:' + IntToStr(Loot)); // Writes in the Debug Box how much Loot the Script has Picked Up
WriteLn('Time Running:'+ IntToStr(Time)); // Writes in the Debug Box how Long the Script has been Running (in Seconds)
WriteLn('*************************** ! JOEbots Giants ! *********************************');
end;
procedure Inventory; // Checks to see if your Inventory is Full to initiate the Bank Loop
begin
if(InvFull) then // If your Inventory is Full, then it Initiates this
begin
WriteLn('Well be stepping out to catch some air now...'); // If it doesn't say this then you either don't have a Full Inventory, or something went Wrong
BankStroll; // Walks to the Bank
Wait(1000 + Random(1500)); // Waits.
Bankinator; // Banks your Swag
Wait(1000 + Random(1500)); // Waits..
DungeonStroll; // Walks back to the Dungeon
Wait(1000 + Random(1500)); // Waits...
Progress;
end;
end;
function SwagPicker: Boolean; // Picks Up: Runes (all of them) and Coins (all stacks) -> Working on more
var
Hue, Sat: Extended;
col, tol, a, x, y, tmpCTS, Loot: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if (WerePoor = True) then // If you selected True up in the Const, then you will be Picking Up Items off of the Ground
begin // All of this is from ACA Color Finder by Nielsie95 and Sumulion
case Swag of
'Runes' : begin // Sorry, but it's just more convenient (linewise) to pick them all up
Col := 11711143; // Color
Hue := 5.35; // Hue
Sat := 0.32; // Saturation
Tol := 9; // Tolerance
end;
'Coins' : begin // Whether it be 2GP or 3M it should pick it up...
Col := 4905207; // Color
Hue := 0.72; // Hue
Sat := 4.24; // Saturation
Tol := 2; // Tolerance
end;
end; // Until I can get around the finicky Colors of these other Items
{ 'Iron Kite' : begin
Col :=
Hue :=
Sat :=
Tol :=
end;
'Stell Helm' : begin
Col :=
Hue :=
Sat :=
Tol :=
end;
'Limpwurt Root' : begin
Col :=
Hue :=
Sat :=
Tol :=
end;
IN DEVELOPEMENT
}
end;
begin
if(not(LoggedIn))then Exit; // If you aren't Logged In it Exits (To get to a Multiplayer Change)
if (invfull) then Exit; // If your Inventory is Full then it Exits (To get to a Banking Loop)
iNotBanned; // So you don't get Banned
AntiRandoms; // Finds Random Events
tmpCTS := GetColorToleranceSpeed; // Gets the CTS
ColorToleranceSpeed(2); // We click 2 in the ACA Color Finder
SetColorSpeed2Modifiers(Hue, Sat); // Hue then Saturation Modifiers
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol); // Finds the Swag in the Runescape Mainscreen (Varied Tolerance)
SortTPAFrom(TPA, Point(MSCX, MSCY)) // Sorts the TPA
ATPA := TPAtoATPAEx(TPA, 2, 2); // Finds the Swag using a Box of 2x2 Pixels of the same Color
for a := 0 to High(ATPA) do
begin
if (IsUpTextMultiCustom(['ake', 'oins', 'unes'])) then // Multiple possibilities of Uptext for the Swag
begin
result := True; // If it finds the Swag then...
mouse(x,y,1,1,False); // Right Clicks rather than Left Clicks
ChooseOption('ake'); // Chooses the Option 'Take'
Break; // Straightforward...
WriteLn('We picked up some Swag!'); // If it doesn't say this, something went wrong
inc(Loot); // Adds to the Amount of Swag the Script has Looted by 1
Inventory; // Checks to see if your Inventory is Full (to Initiate a Banking Loop)
end;
end;
ColorToleranceSpeed(tmpCTS); // Defaults the CTS
SetColorSpeed2Modifiers(0.22, 0.22); // Resets the Hue and Saturation Modifiers
end;
end;
begin // Mainloop
Smart_server := 11; // Server 11 (Change if you want)
Smart_Signed := TRUE; // We have a Signed Applet
Smart_Members := FALSE; // We are not SRL Members and cannot use This
Smart_SuperDetail := FALSE; // Not using High Detail
SetupSRL; // Gets the SRL Variables and Stuff
ObjDTM_Setup; // Sets up the ODTM Walking
DeclarePlayers; // Gets you Login Information
LoginPlayer; // Logs you In
Wait(2000); // A moment to Adjust to Lag
iWelcomeU; // Welcome Message
GameTab(tab_Inv); // Clicks the Inventory Tab
if (not(LoggedIn)) then // If you aren't Logged In...
if Players[CurrentPlayer].Active then // And your Player is Active...
LoginPlayer; // Then it Logs You In
repeat
repeat
KillHill; // Kills Hill Giants
SwagPicker; // Finds the Loot on the Ground and Picks it Up
until (not LoggedIn); // Until You aren't Logged In
NextPlayer(Players[CurrentPlayer].Active = False); // Then goes on to the Next Player and Sets the Current Player to Inactive
until AllPlayersInactive; // Until ALL Players are Inactive
end.
// Thank you for using this script!
// Post Any and All Bugs, Proggies, Advice, or Suggestions on the Thread where you Downloaded this Script!
// LOLgoose.
// 500 lines. 24245 Characters I also wrote:
- Joebots Falador TreeTANK
- JOEbots HighAlchPro
- I have a few more that are in developement, PM me to view them.
Thank you for voting! Please leave feedback :)