Simba Code:
program P1nkyCaves;
{$i SRL/SRL.simba}
{$i P07Include.simba}
var
CharacterIsInCave: boolean;
logged,A,casted, caveEntrances,progress: integer;
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
Thank You for choosing P1nkys FightCaver.
I will be keeping this script updated and make sure it is
running perfectly fine, all I ask from the Users is
keep my thread alive, post BUGS, post PROGGIES.
-P1nky
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
NOTE: I have not inputted any Anti-Leeching,
BOT AWAY!
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{ SETUP }
const
mage = false;
flame1 = 1322364;
flame2 = 1732294;
Casts = 27000;
caveTol = 5;
EntranceCol = 8684945;
EntranceTol = 20;
EntranceHue = 0.07;
EntranceSat = 0.12;
BankSymbol =5563892; ////BANK COLOR HERE BANK COLOR
DoYouLoveSRL = True;
Antiban = True; //True or False
Range = false; // True or False (If you are using a backpack, I'd KEEP this False)
CombatStyle = 'str';
{
'str' : strenght |rapid
'att' : attack |Accurate
'def' : defence |Longrange
}
Procedure DeclarePlayerz;
begin
P07_PlayerName:='';
P07_PlayerPass:='';
end;
{END OF SETUP}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}
var
x, y, Entered : integer;
caveEntranceWhite: TIntegerArray;
Function WeLogout : Boolean;
var
bank, minigame : Integer;
begin
begin
if findcolorspiraltolerance(x,y,6778216,71,276,97,301,5) then
Begin
result := True;
writeln('Oh NO we are logged off!');
P07_LogInPlayer;
logged := Logged + 1;
exit;
end else
result := false;
exit;
end;
end;
function P07FindBankSymbol: boolean;
var
bank: TPointArray;
begin
WeLogout;
If (Not P07_LoggedIn) Then
begin
exit;
end;
if (findcolors(bank, BankSymbol, MMX1, MMY1, MMX2, MMY2)) then
begin
CharacterIsIncave := false;
result := true;
end
else
begin
CharacterIsInCave := true;
result := false;
end;
end;
Function FightCaveSleep(sleepx, sleepy: Integer; retaliate: Boolean): Boolean;
Var
counter, x , y, sleepTime: Integer;
loop : Boolean;
Begin
WeLogout;
loop := true;
counter := 0;
sleepTime := RandomRange(sleepx, sleepy);
While loop Do
Begin
If FindObjCustom(x, y, [' '], caveEntranceWhite, caveTol) Then
Begin
Result := false;
loop := false;
WriteLn('We see cave entrance!');
End Else If (not (InRange(Length(GetFightBarTPA(IntToBox(MSX1, MSY1, MSX2, MSY2))), 30, 150))) and (retaliate) Then
Begin
Result := false;
loop := false;
End Else If (sleepTime - counter > 0) and loop = true Then
Begin
wait(10);
counter := (counter + 10);
End Else
Begin
Result := True;
loop := False;
End;
End;
End;
Procedure FightCaveLoop;
Var
x, y : Integer;
Begin
WeLogout;
If FindObjCustom(x, y, ['nter'], caveEntranceWhite, caveTol) Then
Begin
WriteLn('Found correct cave!');
ClickMouse2(True);
While FindObjCustom(x, y, ['nter'], caveEntranceWhite, caveTol) Do
Begin
mouse(x,y,0,0,false);
P07_WaitOptionMulti(['Enter'],1000);
Wait(RandomRange(300, 1100));
End;
If RandomRange(1, 10) > 8 Then
Begin
SetRun(true);
GameTab(tab_Stats);
End;
caveEntrances := (caveEntrances + 1);
WriteLn('Entered cave.');
ClearDebug;
WriteLn('-* ');
WriteLn('-* Entered: ' + intToStr(caveEntrances));
WriteLn('-* Runtime: ' + TimeRunning);
Wait(RandomRange(4000, 5000));
SetAngle(0);
End Else
If (Not FindObjCustom(x, y, ['nter'], caveEntranceWhite, caveTol)) and (CountDots('yellow') > 0) Then
Begin
FightCaveSleep(200,500,False);
If InRange(Length(GetFightBarTPA(IntToBox(MSX1, MSY1, MSX2, MSY2))), 30, 150) Then
Begin
If (FightCaveSleep(3000,5000,True)) Then
Begin
If InRange(Length(GetFightBarTPA(IntToBox(MSX1, MSY1, MSX2, MSY2))), 30, 150) Then
Begin
Retaliate(False);
Wait(RandomRange(500,700));
Retaliate(True);
GameTab(tab_Stats);
FightCaveSleep(3000,5000,False);
End;
End;
End;
End Else P07_MakeCompassSouth;
End;
Function Symbol : Boolean;
var
bank, minigame : Integer;
begin
begin
WeLogout;
If (Not P07_LoggedIn) Then
exit;
end;
//bank := DTMFromString('mlwAAAHicY2dgYMhgYmBIAuI0IM4B4hQoPxeIk4HycUAcA6XTGCBiINxezMtw8dxJhqPrfVBoEMYHGPFgKAAA5FsTug==');
//minigame := DTMFromString('mwQAAAHic42RgYChnYmAoBuIyIK6C0kVAXAjE1VAxX6A6HyB2Z4CwA6HYA4pB7Isi/Az3fb3A+F5WKsNVa0OGi+dOomBiACMRGA4AlRIXaw==');
begin
if findcolorspiraltolerance(x,y,BankSymbol,MMX1,MMY1,MMX2,MMY2,15) then
// findcolorspiraltolerance(x,y,4869599,MMX1,MMY1,MMX2,MMY2,4) then
Begin
result := True;
{ P07_MakeCameraAngleHigh;
P07_MakeCompassSouth; }
end else
exit;
end;
end;
procedure Report;
begin
WeLogout;
cleardebug;
Writeln('||===========================||');
Writeln('|| P1nkys FightCaver ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
writeln(' Logged ' + IntToStr(logged));
if Range then
begin
Writeln('||Range Option is turned ON!!||');
end;
if mage then
begin
Writeln(' Casted ' + IntToStr(casted));
end;
Writeln('||===========================||');
Writeln('||==== By P1nky ====||');
Writeln('||===========================||');
begin
Disguise('P1nky FightCaver ' + TimeRunning);
end;
end;
procedure StayActive;
var
logged: Integer;
begin
WeLogout;
logged := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(200)));
2: MMouse(x, y, (10 + random(100)), (10 + random(200)));
3: MMouse(x, y, (10 + random(300)), (10 + random(200)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
end;
end;
procedure CastCurse;
begin
WeLogout;
if P07_TabInventoryTab(7) then
begin
//P07_MouseBox(661, 258, 673, 269, mouse_left)
MMouse(667, 263, RandomRange(3, 5), RandomRange(3, 5));
Wait(RandomRange(50, 100));
ClickMouse2(mouse_left);
if (symbol) then
begin
Mouse(265,185,randomRange(2,4),randomrange(2,4),true);
exit;
end;
end;
end;
procedure cast;
begin
repeat
WeLogout;
//P07_MakeCompassDegree(20);
//P07_MakeCameraAngleLow;
WriteLn('You have choosen to curse Skeletons at the Varrock sewer');
begin
Wait(RandomRange(200, 350));
//P07_CastSpell(12);
CastCurse;
Wait(randomRange(1000, 452));
if P07_FindObjCustom(x, y, ['-Kih', 'z-', 'z-K', 'z-Ki', 'z-Kih'{,'Kek','Tz-Kek'}], [flame1, flame2{3939153}], 5) then
begin
ClickMouse2(mouse_left);
Wait(RandomRange(400, 600));
casted := casted + 1;
if casted > Casts then
begin
writeln('finished all casts');
logout;
terminatescript;
end;
A := A + 1;
// Inc(CastsDone);
end
(* else
(begin
Wait(RandomRange(1034, 1503));
if (Not P07_FindObjCustom(x, y, ['Skeleton', 'Ske', 'ton', 'Skelet', 'leton'], [8885140, 9804448], 14)) then
WriteLn('NPC Not found, terminating script...');
Wait(RandomRange(100, 300));
Mouse(992, 293, random(5), random(5), true);
Wait(RandomRange(500, 1000));
LogOutPlayer;
Wait(RandomRange(500, 1000));
TerminateScript;
end; *)
end;
report;
if A < 5 then
begin
stayactive;
A := 0;
end;
// Inc(I);
until(Symbol);
KeyDown(VK_down);
wait(Random(500));
KeyUp(VK_down);
begin
Mouse(265,185,randomRange(2,4),randomrange(2,4),true);
end;
// until(I = Casts);
end;
procedure CheckIfStuck;
var
TPA: TPointArray;
Waiting: integer;
begin
WeLogout;
while (CharacterIsInCave) do
begin
if (P07FindBankSymbol) then
CharacterIsIncave := false;
if (Waiting > 8) then
begin
logout;
terminatescript;
end;
writeln('<unstable> Unstucking!');
Mouse(652, 19, 3, 10, 1);
Wait(RandomRange(10000, 12000));
Waiting := 0;
break;
end;
if (FindColors(TPA, 65280, MSX1, MSY1, MSX2, MSY2)) then
begin
Waiting := 0;
end
else
begin
Inc(Waiting);
Wait(RandomRange(950, 1050));
end;
end;
function PickArrows : Boolean;
begin
begin
WeLogout;
If (Not P07_LoggedIn) Then
exit;
end;
StayActive;
wait(2500 + (random(1211)));
if findcolorspiraltolerance(x,y,603222,msx1,msy1,msx2,msy2,3) then
MMouse(x,y,0,0);
wait(2000);
Mouse(x,y,0,0,false);
P07_ChooseOptionMulti(['Take']);
result := True;
Report;
end;
Procedure Equip;
begin
begin
WeLogout;
If (Not P07_LoggedIn) Then
exit;
end;
if findcolorspiraltolerance(x,y,603222,mix1,miy1,mix2,miy2,3) then
begin
MMouse(x, y, 0, 0);
ClickMouse2(false);
wait(500);
P07_ChooseOptionMulti(['Wield']);
end else
exit;
end;
procedure FindEntrance;
var
TPA: TPointArray;
ATPA: T2DPointArray;
TPABox: TBox;
AverageTBoxX: integer;
i, tmpCTS: integer;
begin
WeLogout;
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(EntranceHue, EntranceSat);
CheckIfStuck;
if (P07FindBankSymbol) then
begin
if (FindColorsTolerance(TPA, EntranceCol, MSX1, MSY1, MSX2, MSY2, EntranceTol)) then
begin
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
SplitTPAWrap(TPA, 20, ATPA);
SortATPASize(ATPA, true);
for i := 0 to high(ATPA) do
begin
TPABox := GetTPABounds(ATPA[i]);
AverageTBoxX := (TPABox.X2 - TPABox.X1);
Mouse(ATPA[i][0].x, ATPA[i][0].y, (random(AverageTBoxX)), 0, 1);
CharacterIsIncave := true;
Inc(Progress);
report;
wait(2000 + random(100));
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
break;
end;
end;
end;
end;
function Entry(Tolerance : Integer): Boolean;
var
CTS, I, timer: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
WeLogout;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.09, 1.48);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 6447722, MSX1, MSY1, MSX2, MSY2, Tolerance);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 40, 20);
If Length(tpa) = 0 then exit;
For I := 0 to high(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
wait(20+random(10));
If I > 10 then break;
If(P07_IsUpTextMultiCustom(['Enter'])) then
begin
mouse(x,y,0,0,false);
if P07_WaitOptionMulti(['Enter'],1000) then
result := true;
wait(100);
exit;
If (result) then exit;
end;
end;
end;
function EntranceAndFight: Boolean;
var
TreeColors: array [0..3] of integer;
TreeTPA: TPointArray;
Chill, a, I: Integer;
begin
repeat
WeLogout;
Report;
P07_MakeCompassSouth;
// if findcolorspiraltolerance(x,y,3815999,msx1,msy1,msx2,msy2,15) then
Entry(2);
{ MMouse(x, y, 0, 0);
ClickMouse2(false);
Entered := Entered + 1;
wait(500);
P07_ChooseOptionMulti(['Enter']);
P07_FFlag;
wait(500); }
wait(2000 +random(434));
writeln('Found Entrance!');
until not (symbol);
writeln('Entered Entrance!');
P07_MakeCameraAngleHigh;
wait(20000 + random(1001));
if AntiBan then
begin
if mage then
begin
cast;
end else
If Range then begin
repeat
PickArrows;
wait(6500 + random(2000));
until(Symbol);
end else
repeat
Report;
StayActive;
wait(4000 + random(2000));
If InRange(Length(GetFightBarTPA(IntToBox(MSX1, MSY1, MSX2, MSY2))), 30, 150) Then
repeat
WeLogout;
stayactive;
wait(4000 + random(2000));
until not (InRange(Length(GetFightBarTPA(IntToBox(MSX1, MSY1, MSX2, MSY2))), 30, 150));
until(symbol);
if range then
begin
Equip;
end;
KeyDown(VK_down);
wait(Random(500));
KeyUp(VK_down);
end;
end;
begin
if not DoYouLoveSRL then
begin
writeln('Sorry, Terminating Script. Love SRL or GTFO.');
wait(500);
writeln('Sorry, Terminating Script. Love SRL or GTFO.');
wait(500);
writeln('Sorry, Terminating Script. Love SRL or GTFO.');
wait(500);
writeln('Sorry, Terminating Script. Love SRL or GTFO.');
TerminateScript;
end;
Disguise('P1nkys FightCaver!');
ClearDebug;
Writeln('Thank You for supporting P1nkys FightCaver');
DeclarePlayerz;
SetupP07Include;
ActivateClient; Wait(2000);
If (Not P07_LoggedIn) Then
P07_LogInPlayer;
if not mage then
begin
caveEntranceWhite := [7763583, 8553356];
P07_AutoRetaliate(true);
Case Lowercase(CombatStyle) of
'str','rapid' : P07_CombatStance(2);
'att','accurate' : P07_CombatStance(1);
'def','longrange' : P07_CombatStance(3);
end;
end;
begin
Mouse(640,181,0,0,true); //inv
repeat
WeLogout;
EntranceAndFight;
until(False);
end;
end.