Simba Code:
program JOEbotsCatacombs;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i sps/sps.simba}
{$i ObjectDTM\ObjDTMInclude.simba}
{================================ ! 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 := '';
Pin := '';
Active := True;
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 := '';
Pin := '';
Active := True;
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;
begin
WriteLn('******************************************************************');
WriteLn('******************* JOEbots Catacombs- Enjoy! ********************');
WriteLn('******************************************************************');
end;
procedure iNotBanned;
begin
if(not LoggedIn) then Exit;
case Random(250) of
10:
begin
Hoverskill('Strength', False);
wait(1551+Random(2111));
end;
20:
begin
Hoverskill ('Attack', False);
wait(1661+Random(2221));
end;
30:
begin
Hoverskill ('Defence', False);
wait(1771+Random(2331));
end;
40: RandomRClick;
50: PickUpMouse;
end;
end;
procedure AntiRandoms;
begin
FindNormalRandoms;
LampSkill := 'Strength';
LevelUp;
end;
procedure Loot;
var
Hue, Sat: Extended;
Col, Tol: Integer;
begin
case Pickup of
'Runes' : begin
Col := 11711143;
Hue := 5.35;
Sat := 0.32;
Tol := 9;
end;
'Coins' : begin
Col := 4905207;
Hue := 0.72;
Sat := 4.24;
Tol := 2;
end;
end;
end;
procedure Monsters;
var
vDTM, Col, Tol: Integer;
Hue, Sat: Extended;
begin
case Victim of
'Warped Cockroach' : begin // 6x6
Col := 2634855;
Hue := 0.08;
Sat := 0.43;
Tol := 16;
end; // Level 1, Room 1
'Corpse Spider' : begin // 3x3
Col := 4674914;
Hue := 0.16;
Sat := 0.31;
Tol := 19;
vDTM := DTMFromString('mQwAAAHicY2ZgYNjIyMCwG4hXAvF1IP8qEF8DYksTRYbq0iiG5FBLBn4gH4YZkTAQAABUVweX');
end; // Level 3, Room 2
'Warped Fly' : begin
vDTM :=
end; // Level 5, Room 3
'Crawling Corpse Torso' : begin
vDTM := DTMFromString('mQwAAAHicY2ZgYKhkZGAoBuJaIG6C0jVAnBzrxRAV6cTQ0xTFIAJUB8OMSBgIABNBBpQ=');
end; // Level 7, Room 4
'Warped Rat' : begin //3x3
Col := 3952212;
Hue := 0.25;
Sat := 0.46;
Tol := 13;
end; // Level 9, Room 5
'Skeleton' : begin //3x3
Col := 6730715;
Hue := 0.05;
Sat := 1.84;
Tol := 21;
end; // Level 11, Room 6
'Warped Bat' : begin
// DTM
end; // Level 12, Room 7
'Corpse Archer' : begin
vDTM := DTMFromString('mWAAAAHicY2FgYHgExO+A+BkQ3wHi10D8EYi/QcWLu6IYggItGTQ1FBmCQp0YJIFiyJgRDYMAALCCC00=');
end; // Level 13, Room 8
'Skoblin' : begin //3x3
Col := 6130846;
Hue := 0.10;
Sat := 0.58;
Tol := 13;
end; // Level 14, Room 9
'Corpse Mage' : begin //3x3
Col := 6643783;
Hue := 3.44;
Sat := 0.65;
Tol := 12;
end; // Level 15, Room 10
{'Dragith Nurn' - Special}
end;
end;
procedure DragithNurner; // I got this idea from Harry's Catacomb Grabber.
var
x, y, Plinth: Integer;
GetIt: Extended;
begin
Plinth := DTMFromString('mggAAAHicY2NgYPjPyMDwC4jZmRgYmJgg/G9AHA/ECVCcBsRRQJwExFP6WjBwdWE2Ay7AiANDAAArCA/o');
if FindDTMRotated(Plinth, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
mouse(x,y,1,1,False);
ChooseOption('ouch');
end;
Wait(5000 + Random(1500));
end;
Mind you I've been working on this for about 2 days...
Simba Code:
program JOEbotsCatacombs;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i sps/sps.simba}
{$i ObjectDTM\ObjDTMInclude.simba}
// This script is made for F2P, if you want Members capabilities: Please lend me a Members account!
const
Collector = True; // True to Pick up items
Pickup = 'Coins'; // If Collector is True, then Choose what you want to Pick up (Listed Below)
Bury = True; // True to Bury Bones
Victimise = True; // True to Attack Stuff
Victim = 'Corpse Mage'; // If Victimise is True, then Choose a Monster (Listed Below and on Original Thread)
DragithNurn = False; // True to Attack Dragith Nurn instead of other Monsters
var
A, B, vDTM, Col, Tol, L1, L2, lTol, pCol, pTol: Integer;
Hue, Sat, pHue, pSat, GetIt: Extended;
{================================ ! 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 := '';
Pin := '';
Active := True;
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 := '';
Pin := '';
Active := True;
BoxRewards := ['Xp', 'ostume'];
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 ! *
{=============================================================================================}
// I'm serious, STOP.
procedure iWelcomeU;
begin
WriteLn('******************************************************************');
WriteLn('******************* JOEbots Catacombs- Enjoy! ********************');
WriteLn('******************************************************************');
end;
procedure iNotBanned;
begin
if(not LoggedIn) then Exit;
case Random(250) of
10:
begin
SetAngle(SRL_ANGLE_HIGH);
Hoverskill('Strength', False);
wait(1551+Random(2111));
end;
20:
begin
SetAngle(SRL_ANGLE_HIGH);
Hoverskill ('Attack', False);
wait(1661+Random(2221));
end;
30:
begin
Hoverskill ('Defence', False);
wait(1771+Random(2331));
end;
40: RandomRClick;
50: PickUpMouse;
end;
end;
procedure AntiRandoms;
begin
FindNormalRandoms;
LampSkill := 'Strength';
LevelUp;
end;
function InFight: Boolean;
begin
Result := srl_InFight;
end;
procedure LootType;
var
pHue, pSat: Extended;
pCol, pTol: Integer;
begin
if (Collector = True) then
begin
case Pickup of
'Runes' : begin
pCol := 11711143;
pHue := 5.35;
pSat := 0.32;
pTol := 9;
end;
'Coins' : begin
pCol := 4905207;
pHue := 0.72;
pSat := 4.24;
pTol := 2;
end;
end;
end;
end;
procedure Boner;
var
bDTM, IbDTM, x, y: Integer;
GetIt: Extended;
begin
if(Bury = True)then
begin // On the ground
bDTM := DTMFromString('mLgAAAHicY2JgYIhkZGAIBuKpQDwTiK9dPsdw7/o1Bi6gHAgzQjEDAwC2IAb5');
SetAngle(SRL_ANGLE_HIGH);
if FindDTMRotated(bDtm, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
MMouse(x, y, 1, 1);
clickMouse2(false);
ChooseOption('ake');
end;
end;
begin // Inventory
IbDTM := DTMFromString('mLgAAAHicY2JgYHjMxMDwFojnMDIwzAXiKX09DEvnzWFgBcqBMCMUMzAAAML4Bqs=');
SetAngle(SRL_ANGLE_HIGH);
if FindDTMRotated(IbDtm, x, y, MIX1, MIY1, MIX2, MIY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
MMouse(x, y, 1, 1);
clickMouse2(false);
ChooseOption('ury');
end;
end;
end;
procedure Monsters; // Got this idea from LeetzGhettoBot- Ingenius.
var
A, B, vDTM, Col, Tol, lTol, L1, L2: Integer;
Hue, Sat: Extended;
begin
if (Victimise = True) then
begin
case Victim of
'Warped Cockroach' : begin
Col := 2634855;
Hue := 0.08;
Sat := 0.43;
Tol := 16;
A := 6;
B := 6;
vDTM := DTMFromString('mLgAAAHicY2JgYFjCCMEXgOyzQDwn0AmMJYFsEGaEYgYGAKIUBXw=');
L1 := 3229093;
L2 := 2700395;
lTol := 25;
end; // Level 1, Room 1
'Corpse Spider' : begin
Col := 4674914;
Hue := 0.16;
Sat := 0.31;
Tol := 19;
A := 3;
B := 3;
vDTM := DTMFromString('mQwAAAHicY2ZgYNjIyMCwG4hXAvF1IP8qEF8DYksTRYbq0iiG5FBLBn4gH4YZkTAQAABUVweX');
L1 := 5405060;
L2 := 5928315;
lTol := 15;
end; // Level 3, Room 2
'Warped Fly' : begin
vDTM := DTMFromString('mQwAAAHicY2ZgYDjFyMBwDIi3A7EUEPMDsQAQB4UGMezdtRVMcwHVwTAjEgYCACJyBsk=');
L1 := 13028302;
L2 := 12435142;
lTol := 15;
end; // Level 5, Room 3
'Crawling Corpse Torso' : begin
vDTM := DTMFromString('mQwAAAHicY2ZgYKhkZGAoBuJaIG6C0jVAnBzrxRAV6cTQ0xTFIAJUB8OMSBgIABNBBpQ=');
L1 := 5931660;
L2 := 3231058;
lTol := 15;
end; // Level 7, Room 4
'Warped Rat' : begin
Col := 3952212;
Hue := 0.25;
Sat := 0.46;
Tol := 13;
A := 3;
B := 3;
vDTM := DTMFromString('mLgAAAHicY2JgYJBkZGAQAeLnQPZ7II4KtGQoTvRi4AeyQZgRihkYAHKOBCo=');
L1 := 3755354;
L2 := 4875635;
lTol := 15;
end; // Level 9, Room 5
'Skeleton' : begin
Col := 6730715;
Hue := 0.05;
Sat := 1.84;
Tol := 21;
A := 3;
B := 3;
vDTM := DTMFromString('mLgAAAHicY2JgYPgKxEyMDAwKQKwExNe29TAs7ctm4AeKgzAjFDMwAACKaQUV');
{vDTM := DTMFromString('mLgAAAHicY2JgYBBgYmDgAuJZjAwMk4C4ujCbwcvXi4EVKAfCjFDMwAAAX8QDkw=='); If the other one doesn't work, use this one}
L1 := 10276847;
L2 := 8694470;
lTol := 15;
end; // Level 11, Room 6
'Warped Bat' : begin
vDTM := DTMFromString('mLgAAAHicY2JgYGBhYmD4z8jAcBjI3gHELaXZDE6uTgysQDYIM0IxAwMAiwMEvQ==');
L1 := 0; // NEEDED
L2 := 0; // DEDEEN
lTol := 0; // NEEDED
end; // Level 12, Room 7
'Corpse Archer' : begin
vDTM := DTMFromString('mWAAAAHicY2FgYHgExO+A+BkQ3wHi10D8EYi/QcWLu6IYggItGTQ1FBmCQp0YJIFiyJgRDYMAALCCC00=');
L1 := 4873571;
L2 := 3230026;
lTol := 10;
end; // Level 13, Room 8
'Skoblin' : begin
Col := 6130846;
Hue := 0.10;
Sat := 0.58;
Tol := 13;
A := 3;
B := 3;
vDTM := DTMFromString('mLgAAAHicY2JgYNgCxLuAeCUQLwHivYuqGaY0JTPwA9kgzAjFDAwAsvIGMQ==');
L1 := 7048860;
L2 := 7049893;
lTol := 17;
end; // Level 14, Room 9
'Corpse Mage' : begin
Col := 6643783;
Hue := 3.44;
Sat := 0.65;
Tol := 12;
A := 3;
B := 3;
vDTM := DTMFromString('mLgAAAHicY2JgYDBgZGBQBeLXQPZLIK4ujWLoaYpi4AeyQZgRihkYAIi/BQA=');
{vDTM := DTMFromString('mLgAAAHicY2JgYOBgZGD4AaR1gLQuEHv5WjJ4hToxcIDkgJgRihkYAFodAyI='); If the other one doesn't work, use this one}
L1 := 5404027;
L2 := 5405051;
lTol := 15;
end; // Level 15, Room 10
{'Dragith Nurn' - Special}
end;
end;
end;
procedure DragithNurner; // I got this idea from Harry's Catacomb Grabber.
var
x, y, Plinth: Integer;
GetIt: Extended;
begin
if (DragithNurn = True) then
begin
Plinth := DTMFromString('mggAAAHicY2NgYPjPyMDwC4jZmRgYmJgg/G9AHA/ECVCcBsRRQJwExFP6WjBwdWE2Ay7AiANDAAArCA/o');
SetAngle(SRL_ANGLE_HIGH);
if FindDTMRotated(Plinth, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
MMouse(x,y,1,1);
ClickMouse2(False);
ChooseOption('ouch');
if (DidRedClick) then
Wait(5000 + Random(1500)); // You should be able to kill the monster by this time
end;
end;
end;
function LastStand (L1, L2, lTol: Integer): Boolean; // Simple, Easy, Solid Attack Failsafe
var
x,y: Integer;
begin
if FindObjCustom(x, y, ['att', 'ack'], [L1, L2], lTol) then
MMouse (x, y, 3, 3);
ClickMouse2 (False);
ChooseOption ('ttack');
if (DidRedClick) then
wait(5000+Random(5000));
end;
procedure Attack (Hue, Sat, GetIt: Extended; Col, Tol, vDTM: Integer);
var
tmpCTS, CTS, I, x ,y: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Hue, Sat);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, A, B);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
begin
clickMouse2(false);
chooseoption('ttack');
if (DidRedClick) then
Wait(5000 + Random(1500)); // You should be able to kill the monster by this time
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.22, 0.22);
end;
begin
SetAngle(SRL_ANGLE_HIGH);
if FindDTMRotated(vDtm, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
MMouse(x, y, 1, 1);
clickMouse2(false);
ChooseOption('ttack');
if (DidRedClick) then
Wait(5000 + Random(1500)); // You should be able to kill the monster by this time
end;
end;
if not FindDTMRotated(vDtm, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/4, Pi/4, Pi/60, GetIt) then
begin
LastStand(L1, L2, lTol);
end;
end;
end;
procedure Picker (pHue, pSat, GetIt: Extended; pCol, pTol: Integer);
var
tmpCTS, CTS, I, x ,y: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Hue, Sat);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, pCol, MSX1, MSY1, MSX2, MSY2, pTol);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
begin
clickMouse2(false);
chooseoption('ake');
if (DidRedClick) then
Wait(1000 + Random(1500));
end;
// Equip procedure for arrows and coins in developement
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.22, 0.22);
end;
begin
Smart_server := 11;
Smart_Signed := TRUE;
Smart_Members := FALSE;
Smart_SuperDetail := FALSE;
SetupSRL;
DeclarePlayers;
LoginPlayer;
Wait(2000);
iWelcomeU;
GameTab(tab_Inv);
if (not(LoggedIn)) then
if Players[CurrentPlayer].Active then
LoginPlayer;
repeat
repeat
if (not InFight) then
Attack(Hue, Sat, GetIt, Col, Tol, vDTM);
DragithNurner;
if (not InFight) then
Boner;
Picker(pHue, pSat, GetIt, pCol, pTol);
until (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active = False);
until AllPlayersInactive;
end.
{ ********=*****====*****===****=====*****=**********=================
* * * * * * * * * * * Scripts *
* * * **** **** * * * * * Scripts *
* * * * * * * * * * * * Scripts *
***** ***** ***** **** ***** * * * Scripts *}