Simba Code:
program P1nkys_IvyChopper;
{$DEFINE SMART}
{$i srl\srl.simba}
{$i SRL/SRL/misc/paintsmart.simba}
{===================================================}
{ P1nky's IvyChopper! }
{===================================================}
{
Step 1: Have a Hatchet(axe).
Step 2: Have your Character beside Ivy.
Step 3: Start the script.
Step 4: Watch the script run for a good Minute.
Step 5: Enjoy The Script. Also, Please post PROGGIES keep the Thread Alive <3.
{===================================================}
//\\ Make Sure To Progress Reports on The Thread! //\\
{===================================================}
const
{===================================================}
TakeBreaks = False; // Take Breaks ?(Less Random Chances)
AntiBan = False; // Antiban will make the character more active.
DoYouLoveSRL = True;
SRLStats_Username = '';
SRLStats_Password = '';
{===================================================}
{######## ## ## ## ## ## ## ##
## ## #### ### ## ## ## ## ##
## ## ## #### ## ## ## ####
######## ## ## ## ## ##### ##
## ## ## #### ## ## ##
## ## ## ### ## ## ##
## ###### ## ## ## ## ##}
{===================================================}
procedure DeclarePlayerz;
begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[1].Name := ''; //Your Runescape username
Players[1].Pass := ''; //Your Runescape password
Players[1].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
end;
{===================================================}
{ THANK YOU FOR USING P1NKY'S POWERCHOPPER }
{===================================================}
{ Since 2007 }
{===================================================}
{ Do Not Touch Below. }
{===================================================}
var
PowerChopper : TForm;
WhatTree : TComboBox;
CompassStay, WCIvy,Answer,WCEXP, Experience, DTM4, FailFind, e, PLANBB, Burned, DTM3, SPOTCDTM, WCLVL, Loads1, Debugged, sleeper, Breaktime, Break, x, y, TreesChopped, Dropper, level, axe, Chopped, NextBreak, DTMSPOT, DTM1, DTM2: integer;
Chop: TComboBox;
Version: string;
LastestVersion: Boolean;
const
ScriptVersion ='5.2';
UseAutoChecker = True;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(false);
Status('Looking For Randoms');
FindNormalRandoms;
end;
procedure MyAntiBan;
var
DBanMe: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(false);
Status('Performing P1nkys AntiBan');
DBanMe := Random(12);
case DBanMe of
0: PickUpMouse;
1: GameTab(1 + Random(15));
2: DoEmote(1 + Random(15));
3: RandomRclick;
7: ChooseOption('cancel');
8: MMouse(Random(MSX2), Random(MSY2), 0, 0);
9:
begin
HoverSkill('woodcutting', false);
sleepandmovemouse(200 + Random(100));
gametab(4);
ChooseOption('Cancel');
MMouse(Random(MSY1), Random(MSX1), 0, 0);
end;
10:
begin
GameTab(1 + Random(13));
wait(1000 + Random(600));
gametab(4);
ChooseOption('Cancel');
setangle(1);
end;
11:
begin
HoverSkill('random', false);
sleepandmovemouse(200 + Random(100));
ChooseOption('Cancel');
setangle(1);
end;
end;
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, 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, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys IvyChopper', '', 'Worked For ' + TimeRunning, '', 'Experience Gained ' + IntToStr(Answer), ''], Point(350, 223), 255);
end;
procedure ActReport(Activity: string);
begin
end;
Procedure ExpGain;
begin
WCIvy := getXP('Woodcutting');
Answer := (WCIvy-WCEXP);
stats_IncVariable('Total EXP Gained', Answer);
end;
procedure Report;
var
ExpCheck, ExpIvy, WC: Integer;
begin
cleardebug;
ReportSmart;
Writeln('||===========================||');
Writeln('|| P1nkys IvyChopper ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Experience Gained ' + IntToStr(Answer));
Writeln(' Sleeped ' + IntToStr(Sleeper));
Writeln(' WoodCutting level ' + IntToStr(WCLVL));
Writeln('||===========================||');
Writeln('||==== By P1nky ====||');
Writeln('||===========================||');
Writeln('||===========================||');
Writeln('||=====DESTROY THE IVYS=====||');
Writeln('||===========================||');
begin
Stats_Commit;
Disguise('P1nky Ivy ' + TimeRunning);
ActReport('Break in Approx:');
Debugged := Debugged + 1;
ExpCheck := ExpCheck + 1;
if ExpCheck > random(10) then
begin
Writeln('Checking if everything is okay.');
setangle(0);
ExpGain;
ExpCheck :=0;
end;
if TakeBreaks then
if Debugged > 5 then
begin
// Writeln(IntToStr(Loads - Loads1) + ' Loads Left Until Sleep.');
Debugged := 0;
end;
end;
end;
procedure GoodNight;
var
l, s, Time: integer;
begin
l := RandomRange(5, 7);
s := l;
Status('Sleeping');
MarkTime(Time);
Sleeper := Sleeper + 1;
repeat
Disguise('Sleeping For ' + IntToStr(l) + ' minutes');
Writeln('Break Time: ' + IntToStr(l) + ' minutes left until Login.');
Wait(1000 * 60 * 1);
l := l - 1;
until (TimeFromMark(Time) > 1000 * 60 * s);
if not (LoggedIn) then
NextPlayer(true);
LoginPlayer;
end;
function IvyColor(Tolerance : Integer): Boolean;
var
CTS, I, timer: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
repeat
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.09, 1.48);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4817765, 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(IsUpTextMultiCustom(['hop'])) then
begin
mouse(x,y,0,0,false);
if waitOption('hop',1000) then
result := true;
wait(100);
exit
// while Ismoving do wait(100);
// If (result) then exit;
end;
end;
Until(Result);
end;
Function LocateIvys : string;
begin
ClickNorth(0);
wait(1500 + Random(1000));
If (FindObjCustom(x,y,['Ivy','vy','Ivy'], [4949351,4553567], 3)) Then Result := 'north';
MakeCompass('W');
wait(1500 + Random(1000));
If (FindObjCustom(x,y,['Ivy','vy','Ivy'], [4949351,4553567], 3)) Then Result := 'west';
MakeCompass('E');
wait(1500 + Random(1000));
If (FindObjCustom(x,y,['Ivy','vy','Ivy'], [4949351,4553567], 3)) Then Result := 'east';
MakeCompass('S');
wait(1500 + Random(1000));
If (FindObjCustom(x,y,['Ivy','vy','Ivy'], [4949351,4553567], 3)) Then Result := 'south';
Writeln(Result); {
If (Result := 'south') then
case (Result) of
'south':
begin
CompassStay := MakeCompass('S');
end;
'north':
If ('north') then
begin
CompassStay = MakeCompass('N');
end;
'east':
If ('east') then
begin
CompassStay = MakeCompass('E');
end;
'west':
If ('west') then
begin
CompassStay = MakeCompass('W');
end; }
end;
Procedure Ivys;
var
TreeColors: array [0..3] of integer;
TreeTPA: TPointArray;
RandomOption, Chill, a, I: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(false);
SetAngle(0);
repeat
//If (FindObjCustom(x,y,['Ivy','vy','Ivy'], [4949351,4553567], 3)) Then
if IvyColor(2) then
Report;
FindRandoms;
Chopped := Chopped + 1;
wait(1675 + random(654)) Fflag(0);
writeln('Success Finding Ivy');
FindNormalRandoms;
if AntiBan then
begin
MyAntiBan;
end;
begin
FindRandoms;
Wait(13500 + Random(5000));
if Chopped = 5 then
begin
Writeln('Cant find any Ivy - checking every angle!');
Setangle(0);
KeyDown(VK_Down);
wait(Random(1000) + 500);
KeyUp(VK_Down);
Chopped := 0;
SetAngle(0);
end;
end;
until (false);
Experience := Experience + 1809;
end;
procedure PinkyIvyChopper;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(false);
begin
Case Lowercase(LocateIvys) of
'west': MakeCompass('w');
'east': MakeCompass('e');
'south': MakeCompass('s');
'north': MakeCompass('n');
end;
end;
begin
Ivys;
end;
report;
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.');
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;
begin
Disguise('P1nkys IvyChopper!');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
if (SRLStats_Username = '') then
SetupSRLStats(1081, 'Anonymous', 'anon1337')
else
SetupSRLStats(1081, SRLStats_Username, SRLStats_Password);
end;
SetupSRL;
declareplayerz;
LoginPlayer;
Dropper := 0;
TreesChopped := 0;
WCLVL := GetSkillInfo('Woodcutting', true);
WCEXP := getXP('Woodcutting');
SetAngle(0);
repeat
PinkyIvyChopper;
until (false);
end.