From: KingKong
If its ok with you, then post it here, or else PM me. Also, how long does it take to cut the 81 logs? Because if it takes more than 5 mins then you would've committed the stats to the server and then the variable is reset.
Yeah why not mate!
program VersionA;
{$DEFINE SMART}
{$i srl\srl.scar}
{$i reflection\reflection.simba}
{$i SRL\SRL\Misc\Stats.simba}
{===================================================}
{ P1nky' PowerChopper Since 11/12/07 }
{===================================================}
{
Step 1: Have a Hatchet(axe) either on FIRST SLOT or WIELDED.
Step 2: Surrond your Character around the Trees that you have chosen.
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
PowerChop = True; // DO NOT CHANGE <3
DropType = 'fast'; // Either "Smart" or "Fast"(recommended)
Loads = 50;
{===================================================}
OakColor = 1655609; //DO NOT CHANGE UNLESS TROUBLE FINDING OAK
WillowColor = 2443076; //DO NOT CHANGE UNLESS TROUBLE FINDING WILLOWS
RegTreeColor = 1525329; //DO NOT CHANGE UNLESS TROUBLE FINDING TREES
{===================================================}
TakeBreaks = True;
DoYouLoveSRL = True; // <3 Dare you to type False :)
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: [url]http://stats.villavu.com/[/url]
SRLStats_Password = ''; // Your SRL Stats Password (Optional) Register here: [url]http://stats.villavu.com/[/url]
Ver = 2.0; // Don't touch.
{===================================================}
{######## ## ## ## ## ## ## ##
## ## #### ### ## ## ## ## ##
## ## ## #### ## ## ## ####
######## ## ## ## ## ##### ##
## ## ## #### ## ## ##
## ## ## ### ## ## ##
## ###### ## ## ## ## ##}
{===================================================}
Procedure DeclarePlayerz;
begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with players[0] do
begin
Name := ''; // Username.
Pass := ''; // Password.
Active := True; // Do Not Touch.
Pin := ''; // Don't Need.
Players[0].Strings[0] := 'Willows'; //'Willows' or 'Trees' or 'Oaks'
with players[1] do
Name := '';
Pass := '';
Active := True;
Pin := '';
Players[1].Strings[0] := 'Willows'; //'Willows' or 'Trees' or 'Oaks'
end;
end;
var
Loads1,Debugged,sleeper, Breaktime,Break, x , y ,TreesChopped, Dropper, level, axe, Chopped, NextBreak : integer;
Chop: TComboBox;
Version: String;
LastestVersion: Boolean;
{
===================================================
===================================================
===================================================
===================================================
===================================================
===================================================
}
Procedure Grats;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
exit;
If (FindBlackChatMessage('Congratulations')) Or
(FindBlackChatMessage('you just advance')) Or
InChat('Congratulations') Or InChat('just advance') Or
InChat('congratulations,') Then
Begin
Writeln('Gained a levled!!!');
Begin
Case Random(18) Of
0: TypeSend('woot finnally LEVELED!!');
1: TypeSend('muwahah lvled');
2: TypeSend('leveled yay me!');
3: TypeSend('woot got wcing lvl :)');
4: TypeSend('omg.. i didnt even know i just leveld');
5: TypeSend('yay me');
6: TypeSend('w00t grats');
7: TypeSend('Dang!');
8: TypeSend('fireworks@!');
9: TypeSend('yay leveld!');
10: TypeSend('woot didnt notice since lagged lol');
11: Typesend('good i just leveld wc');
12: TypeSend('yay!');
13: TypeSend('Hleveled');
14: TypeSend('.lvld just now guys grats me jk');
15: TypeSend('lol');
16: TypeSend('lol...');
17: TypeSend('fireworkz');
End;
End;
writeln('you HAVE JUST LEVELED WOODCUTTING!');
// ReportVars[9] := ReportVars[9] + 1;
level := level + 1;
End;
End;
Procedure FindRandoms; //FINDS RANDOMS
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
Grats;
FindNormalRandoms;
wait(400)
//RunningFromFights;
FindLamp('Woodcutting');
End;
Procedure RandomButton;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
//SRLStatsNeedSent;
Grats;
Case Random(3) Of
0:
Begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
End;
1:
Begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
End;
2:
Begin
KeyDown(VK_Up);
wait(Random(600) + 500);
KeyUp(VK_Up);
End;
End;
End;
Procedure randomcompass;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
//SRLStatsNeedSent;
Grats;
Case Random(6) Of
0: makecompass('N');
1: makecompass('S');
2: makecompass('E');
3: makecompass('W');
4: setangle(true);
End;
End;
Procedure MyAntiBan;
Var
DBanMe: Integer;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
Grats;
DBanMe := Random(12);
Case DBanMe Of
0: PickUpMouse;
1: GameTab(1 + Random(15));
2: DoEmote(1 + Random(75));
3: RandomRclick;
4: randomcompass;
5: RandomButton;
7: ChooseOption('cancel');
8: MMouse(Random(MSX2), Random(MSY2), 0, 0);
9:
Begin
HoverSkill('woodcutting', false);
sleepandmovemouse(200 + Random(100));
gametab(4);
ChooseOption('Cancel');
RandomButton;
MMouse(Random(MSY1), Random(MSX1), 0, 0);
End;
10:
Begin
GameTab(1 + Random(13));
wait(1000 + Random(600));
gametab(4);
RandomButton;
ChooseOption('Cancel');
setangle(true);
End;
11:
Begin
HoverSkill('random', false);
sleepandmovemouse(200 + Random(100));
gametab(4);
RandomButton;
ChooseOption('Cancel');
setangle(true);
End;
End;
End;
Procedure ActReport(Activity: string);
Begin
end;
Procedure Report;
Begin
//SRLStatsNeedSent;
Grats;
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys Draynor ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Chopped ' + IntToStr(TreesChopped));
Writeln(' Dropped(by loads) ' + IntToStr(Dropper));
Writeln(' Broken Axes ' + IntToStr(Axe));
Writeln(' Leveled ' + IntToStr(level));
Writeln(' Sleeped ' + IntToStr(Sleeper));
Writeln('||===========================||');
Writeln('||==== By P1nky ====||');
Writeln('||===========================||');
Writeln('||===========================||');
Writeln('||=====DESTROY THE TREES=====||');
Writeln('||===========================||');
begin
Stats_Commit;
ActReport('Break in Approx:');
Debugged:= Debugged + 1;
if Debugged > 5 then
begin
Writeln(IntToStr(Loads - Loads1) + ' Loads Left Until Sleep.');
Debugged := 0;
end;
end;
Case LowerCase(Players[CurrentPlayer].Strings[1]) Of
'Oaks' , 'oaks' , 'Oak' , 'oak' : Writeln('Chopping Oaks');
'Willows' , 'Willow' , 'willows' , 'willows' : Writeln('Chopping Willows');
'Tree' , 'tree' , 'Trees', 'trees' : Writeln('Chopping Regular Trees');
end;
//Writeln('Player:' + LowerCase(Players[CurrentPlayer].Name));
//SRLStatsNeedSent;
End;
procedure GoodNight;
var
l, s, Time: integer;
begin
l := RandomRange(5, 15);
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 FindWillows:Boolean;
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);
//Send;
Makecompass('N');
Setangle(false);
repeat
{ 8428192
8955051
8560035}
{ TreeColors[0] := 1918005;
TreeColors[1] := 1918005;
TreeColors[2] := 1918005;
TreeColors[3] := 1918005;
a:=a+1;
For i := 0 To 3 Do
if FindObjTPA(x, y, TreeColors[i], MSX1, MSY1, MSX2, MSY2,50, ['hop','own','illo','willo']) then
Mouse(x,y,0,0,true);
For I := 0 To 0 Do }
if FindObj(x,y,'Willow',2443076,1) or FindObj(x,y,'Willow',1518121,1) or FindObj(x,y,'Willow',WillowColor,1)then
// If (FindColorSpiralTolerance(x, y, 4947304, MSX1, MSY1, MSX2, MSY2, 50)) or (FindColorSpiralTolerance(x, y, 4026977, MSX1, MSY1, MSX2, MSY2, 20)) then
Report;
FindRandoms;
MMouse(x,y,0,0);
//if uptext('hop down Willow') then
RandomOption := Random(3);
Case RandomOption Of
1: Mouse(x,y,0,0,true);
2:
begin
Mouse(x,y,0,0,False);
wait(700 + (232));
ChooseOption('hop down');
end;
end;
Chopped:= Chopped + 1;
wait(1675+random(654))
Fflag(0);
writeln('Success Finding Willow');
MyAntiBan;
RandomCompass;
// MovementAntiBan;
// while(TimeFromMark(Chill) <= 20000) do
begin
// MovementAntiBan;
FindRandoms;
RandomButton;
Grats;
{ if Chopped = 5 then
begin
if FindSymbol(x,y,'fish') then
begin
MMouse(x,y,0,0);
Mouse(x,y,0,0,true); }
if Chopped = 5 then
begin
Writeln('Cant find any Willows - checking every angle!');
RandomButton;
end;
end;
//end;
{ if not FindSymbol(x,y,'fish') then
begin
//BANK;
end;
//end; }
until(Invfull);
end;
Function FindOaks:Boolean;
VAR
TreeColors: Array[0..3] Of integer;
TreeTPA: TPointArray;
Chill, a, I: Integer;
begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
//Send;
Makecompass('N');
Setangle(True);
repeat
{ 8428192
8955051
8560035}
{ TreeColors[0] := 6659986;
TreeColors[1] := 6659986;
TreeColors[2] := 3697247;
TreeColors[3] := 3697247;
a:=a+1;
For i := 0 To 3 Do
if FindObjTPA(x, y, TreeColors[i], MSX1, MSY1, MSX2, MSY2,50, ['hop','own','ak','Oak']) then
For I := 0 To 0 Do }
if FindObj(x,y,'Oak',6659986,1) or FindObj(x,y,'Oak',3697247,1) or FindObj(x,y,'Oak',1655609,1) or FindObj(x,y,'Oak',1921092,1) or FindObj(x,y,'Tree',OakColor,1)then
// If (FindColorSpiralTolerance(x, y, 4947304, MSX1, MSY1, MSX2, MSY2, 50)) or (FindColorSpiralTolerance(x, y, 4026977, MSX1, MSY1, MSX2, MSY2, 20)) then
Report;
FindRandoms;
MMouse(x,y,0,0);
Mouse(x,y,0,0,true);
Chopped:= Chopped + 1;
wait(3477+random(1001))
Fflag(0);
writeln('Success Finding Oak');
MyAntiBan;
RandomCompass;
// MovementAntiBan;
// while(TimeFromMark(Chill) <= 20000) do
begin
// MovementAntiBan;
FindRandoms;
RandomButton;
Grats;
if Chopped = 5 then
begin
Writeln('Cant find any Willows - checking every angle!');
RandomButton;
end;
end;
if not FindSymbol(x,y,'fish') then
begin
//BANK;
end;
until(Invfull);
end;
procedure RegularTreeBan;
var
NoBan: Integer;
begin
// If Not (LoggedIn) Then Exit;
//SRLStatsNeedSent;
FindRandoms;
Grats;
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: makecompass('N');
7: makecompass('S');
8: makecompass('E');
9: makecompass('W');
10: setangle(true)
end;
end;
Function FindTrees:Boolean;
VAR
TreeColors: Array[0..3] Of integer;
TreeTPA: TPointArray;
Chill, a, I: Integer;
begin
if(not(loggedin))then Exit;
//Send;
Makecompass('N');
Setangle(True);
repeat
{ 8428192
8955051
8560035}
{ TreeColors[0] := 6659986;
TreeColors[1] := 6659986;
TreeColors[2] := 3697247;
TreeColors[3] := 3697247;
a:=a+1;
For i := 0 To 3 Do
if FindObjTPA(x, y, TreeColors[i], MSX1, MSY1, MSX2, MSY2,50, ['hop','own','ak','Oak']) then
For I := 0 To 0 Do }
if FindObj(x,y,'Tree',1985346,1) or FindObj(x,y,'Tree',3163479,1) or FindObj(x,y,'Tree',RegTreeColor,1) then
// If (FindColorSpiralTolerance(x, y, 4947304, MSX1, MSY1, MSX2, MSY2, 50)) or (FindColorSpiralTolerance(x, y, 4026977, MSX1, MSY1, MSX2, MSY2, 20)) then
Report;
FindRandoms;
MMouse(x,y,0,0);
Mouse(x,y,0,0,false);
Chopped:= Chopped + 1;
ChooseOption('hop down');
if not ChooseOption('hop down') then
begin
RandomButton;
writeln('Cant Find Tree... les try different Angle');
break;
end;
wait(1500+random(1001))
Fflag(0);
writeln('Success Finding Regular Tree');
RegularTreeBan;
RandomCompass;
// MovementAntiBan;
// while(TimeFromMark(Chill) <= 20000) do
begin
// MovementAntiBan;
FindRandoms;
RandomButton;
Grats;
if Chopped = 5 then
begin
Writeln('Cant find any Willows - checking every angle!');
RandomButton;
end;
end;
if not FindSymbol(x,y,'fish') then
begin
//BANK;
end;
until(Invfull);
end;
Procedure PinkyBAN;
Var
DBanMe: Integer;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
//SRLStatsNeedSent;
DBanMe := Random(12);
Case DBanMe Of
0: PickUpMouse;
1: GameTab(1 + Random(33));
2: DoEmote(1 + Random(75));
3: RandomRclick;
4: randomcompass;
5: RandomButton;
7: ChooseOption('cancel');
8: MMouse(Random(MSX2), Random(MSY2), 0, 0);
9:
Begin
HoverSkill('woodcutting', false);
sleepandmovemouse(200 + Random(100));
gametab(4);
ChooseOption('Cancel');
RandomButton;
MMouse(Random(MSY1), Random(MSX1), 0, 0);
End;
10:
Begin
GameTab(1 + Random(13));
wait(1000 + Random(600));
gametab(4);
RandomButton;
ChooseOption('Cancel');
setangle(true);
End;
11:
Begin
HoverSkill('random', false);
sleepandmovemouse(200 + Random(100));
gametab(4);
RandomButton;
ChooseOption('Cancel');
setangle(true);
End;
End;
End;
Procedure SmartDrop;
Var
logdtm: integer;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
Writeln('using Dtm (smart way) slower though but more accurate');
logdtm := DTMFromString('78DA63CC63626078C880029A536D18FE03694' +
'620FE0F048C054035EF18D000231209A463816A9E135093015473' +
'87809A3222D45413B60B0046720E26');
gametab(4);
Repeat
If finddtm(logdtm, x, y, 550, 203, 731, 464) Then
Begin
Mouse(x, y, 3, 3, false);
Begin
wait(random(400) + 100);
chooseoption('Drop');
wait(1200 + random(1000));
Case LowerCase(Players[CurrentPlayer].Strings[1]) Of
'tree': ReportVars[4] := ReportVars[4] + 28;
'oak': ReportVars[5] := ReportVars[5] + 28;
'willow': ReportVars[6] := ReportVars[6] + 28;
'all': ReportVars[7] := ReportVars[7] + 28;
End;
End;
End;
Until (Not (finddtm(logdtm, x, y, 550, 203, 731, 464)));
freedtm(logdtm);
Begin
Dropper := Dropper + 1;
TreesChopped := TreesChopped + 27;
report;
FindRandoms;
Report;
//MyAntiBan;
End;
End;
Procedure FastDrop;
Var
i: Integer;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
Writeln('Using Fast Dropping');
//SRLStatsNeedSent;
If Not (LoggedIn) Then Exit;
GameTab(4);
For i := 2 To 28 Do
Begin
If ExistsItem(i) Then
DropItem(i);
End;
Case LowerCase(Players[CurrentPlayer].Strings[1]) Of
'Tree' , 'tree' , 'Trees', 'trees' : stats_IncVariable('Normal Logs Chopped',27);
'Oaks' , 'oaks' , 'Oak' , 'oak' : stats_IncVariable('Oak Logs Chopped',27);
'Willows' , 'Willow' , 'willows' , 'willows' : stats_IncVariable('Willow Logs Chopped',27);
// 'all': ReportVars[7] := ReportVars[7] + 28;
End;
Begin
Dropper := Dropper + 1;
Loads1 := Loads1 + 1;
TreesChopped := TreesChopped + 27;
report;
FindRandoms;
Report;
if TakeBreaks then
if Loads1 > Loads then
begin
writeln('Going to Sleep');
Logout;
GoodNight;
Loads1 := 0;
end;
//MyAntiBan;
End;
End;
Procedure PinkyPowerChopper;
Begin
If Not (LoggedIn) Or Not (Players[CurrentPlayer].Active) Then
NextPlayer(false);
If (invfull) Then
Begin
Case (DropType) Of
'Smart': SmartDrop;
'Fast': FastDrop;
End;
TreesChopped := TreesChopped + 27;
stats_IncVariable('Willow Logs Chopped',27);
Stats_Commit;
report;
End;
End;
Procedure Check;
begin
WriteLn(GetPage('http://P1nky.webs.com/Version.txt'));
Version:= GetPage('http://P1nky.webs.com/Version.txt');
if Version <> '' then
// begin
// if (StrToFloat(Version) = VERSION_NUMBER) then
begin
ClearDebug;
WriteLn('');
WriteLn('Your version is not the latest. Get the latest version from:');
WriteLn('The Link To The Thread Of Your Script');
WriteLn('');
TerminateScript;
end else
Writeln('This Script is Up to Date!');
Wait(2000);
ClearDebug;
end;
Procedure Check1;
var
Version1 :string;
begin
WriteLn(GetPage('http://p1nky.webs.com/Version.txt'));
Version1:= GetPage('http://P1nky.webs.com/Version.txt');
if Version1 <> '' then
begin
if (StrToFloat(Version1) = Ver) then
begin
WriteLn('You have the lastest version of this script.');
LastestVersion := True;
end else
begin
WriteLn('There is a newer version of this script available. Get it here: http:villavu.com/forum/showthread.php?t=67367');
if MessageBox('There is a new version of this script available!'+chr(13)+'Would you like to open the download page in a new window?', 'Version alarm', 4) = 6 then
begin
OpenWebPage('http://villavu.com/forum/showthread.php?t=20826');
TerminateScript;
end;
end;
end else
begin
WriteLn('Couldn''t check the version number.');
LastestVersion := True;
end;
end;
begin
Check1;
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('P1nky PowerChopper - Since 2007 - Version A');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(230, 'Anonymous', 'anon1337')
else
SetupSRLStats(230, SRLStats_Username, SRLStats_Password);
SetupSRL;
declareplayerz;
Report;
LoginPlayer;
Dropper := 0;
TreesChopped := 0;
Report;
repeat
Case LowerCase(Players[CurrentPlayer].Strings[0]) Of
'Oaks' , 'oaks' , 'Oak' , 'oak' : FindOaks;
'Willows' , 'Willow' , 'willows' , 'willows' : FindWillows;
'Tree' , 'tree' , 'Trees', 'trees' : FindTrees;
end;
If (InvFull) Then
begin
//If PowerChop Then PinkyPowerChopper;
FastDrop;
end;
until(false);
//end;
end;
end;
end.
{ // stats_IncVariable('Total EXP Gained', Players[CurrentPlayer].Integers[21]);
_____ ______ ____ ______ _____ ____ ___ ___ ___ ___
/ ___/| T / T| T/ ___/ / T| \ | \ / _]| \
( \_ | |Y o || ( \_ Y o || \ | \ / [_ | \
\__ Tl_j l_j| |l_j l_j\__ T | || D Y| D YY _]| D Y
/ \ | | | | _ | | | / \ | | _ || || || [_ | |
\ | | | | | | | | \ | | | || || || T| |
\___j l__j l__j__j l__j \___j l__j__jl_____jl_____jl_____jl_____j
____ __ __ __ __ ___ ____ ____ ____ ______
| \ | T T | T T / \ | \ | \ l j| T
| o )| | | | l |Y Y| o )| o ) | T | |
| T| ~ | | _ || O || T| T | | l_j l_j
| O |l___, | | | || || O || O | | | | |
| || ! | | |l !| || | j l | |
l_____jl____/ l__j__j \___/ l_____jl_____j|____j l__j
}
//ASCII ART TEXt