SCAR Code:
Program ULTRAPowerChopper;
{.Include SRL/SRL/Misc/Smart.Scar}
{.Include SRL/SRL.Scar}
//Credits To: Rasta Magician - He Standarized My Script :P.
//Credits To: N1ke - He Fixed My Script Abit.
//Fixed Up Procedure RandomlyDisguise. N1ke Fixed It.
//Fixed Up Procedure WoodcuttingTalk. Added More "Talk's" To It.
Var
TreeTypeColor : Integer;
LogsCut : Integer;
LoadsCut, PLoadsCut : Integer;
Ents : Integer;
X, Y : Integer;
Const
Yew = 2184775;
Teak = 6071180;//Members Only.
Willow = 2332288;
Oak = 2188891;
Tree = 4483941;
Version = '1.6';
{SET UP HERE}
Const
TreeTolerance = 7;//Tolerance Of The Tree.
MaxSeconds = 3;//Maximum Seconds To Wait While Cutting A Tree.
RunAwayToDirection = 's';//Direction To Run Away To If Find Ent Or Fight. LOWER CASE LETTER!
TreeType = 'Tree';//Yew, Teak, Willow, Oak, Tree. Capitalized.
SRLStatsID = '';//SRL STATS ID.
SRLStatsPW = '';//SRL STATS PASSWORD.
Procedure DeclarePlayers;
Begin
HowManyPlayers := 4;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Active := True;
Players[0].Integers[0] := 50;//Loads To Do
Players[1].Name := ''; //username
Players[1].Pass := ''; //password
Players[1].Nick := ''; //3-4 letters from your username
Players[1].Active := True;
Players[1].Integers[0] := 50;//Loads To Do
Players[2].Name := ''; //username
Players[2].Pass := ''; //password
Players[2].Nick := ''; //3-4 letters from your username
Players[2].Active := True;
Players[2].Integers[0] := 50;//Loads To Do
Players[3].Name := ''; //username
Players[3].Pass := ''; //password
Players[3].Nick := ''; //3-4 letters from your username
Players[3].Active := True;
Players[3].Integers[0] := 50;//Loads To Do
End;
{END OF SETUP}
Procedure ShowSignature;
Begin
WriteLn(' ___ ____ .____ ___________ __________ _____');
Wait(200+random(300));
WriteLn('| | \ | | \__ ___/ \______ \ / _ \');
Wait(300+random(200));
WriteLn('| | / | |___ | | | | \ / | \');
Wait(200+random(300));
WriteLn('|______/ |_______ \ |____| |____|_ / \____|__ /');
Wait(1000+random(4000));
End;
Procedure DeclareTreeType;
Begin
Case TreeType of
'Yew': TreeTypeColor := Yew;
'Teak': TreeTypeColor := Teak;
'Willow': TreeTypeColor := Willow;
'Oak': TreeTypeColor := Oak;
'Tree': TreeTypeColor := Tree;
end;
end;
{Procedure : RandomHoverMMouse)}
{Author : U L T R A.}
{Description : Randomly moves the mouse somewhere.}
Procedure RandomHoverMMouse;
Begin
Case Random(6)Of
0:MMouse(random(250), random(250), 10, 10);
1:MMouse(random(100), random(100), 50, 50);
2:MMouse(random(50), random(50), 150, 150);
3:MMouse(100, 100, 150, 150);
4:MMouse(300, 300, 100, 100);
5:MMouse(200, 200, 50, 50);
End;
End;
Procedure RandomlyDisguise;
Begin
Case Random(21)Of
0: Disguise('Windows Live Messenger');
1: Disguise('iTunes');
2: Disguise('RuneScape - the massive online adventure game by Jagex Ltd - Mozilla Firefox');
3: Disguise('RuneScape - the massive online adventure game by Jagex Ltd - Microsoft Internet Explorer');
4: Disguise('untitled - Paint');
5: Disguise('Google Tools');
6: Disguise('C:');
7: Disguise('Tip.it Runescape Help :: The Original RuneScape help site!');
8: Disguise('Rune Headquarters :.:.: Your Unfair RuneScape Advantage');
9: Disguise('C:/Program');
10: Disguise('Mozilla Firefox');
11: Disguise('My files');
12: Disguise('Rune Headquarters :.:.: Your Unfair RuneScape Advantage');
13: Disguise('RuneScape - das riesige Online-Abenteuerspiel fu"r Tausende von Spielern von Jagex Ltd.');
14: Disguise('Jagex Software :: Home');
15: Disguise('Google - Mozilla Firefox');
16: Disguise('Google - Microsoft Internet Explorer');
17: Disguise('Microsoft Internet Explorer');
18: Disguise('Video Game Cheats - Video Game Reviews - Video Game Codes - Video Game Web Site - GameFAQs');
19: Disguise('Habbo ~ Home');
20: Disguise('YouTube - Broadcast Yourself.');
End;
End;
Procedure SetUpPowerChopper;
Begin
MakeCompass('N');
GameTab(4);
If(MaxSeconds <= 1)Then
Begin
WriteLn('Maximum Seconds To Wait Is ' + IntToStr(MaxSeconds) + '! Seconds Too Low! Re-Set It To 5 to 15!');
TerminateScript;
End;
End;
Procedure URunTo(Direction : String);
Begin
Case Lowercase(Direction) of
'n': Mouse(644, 25, 5, 5, True);
'e': Mouse(703, 80, 5, 5, True);
's': Mouse(642, 139, 5, 5, True);
'w': Mouse(582, 88, 5, 5, True);
End;
FFlag(0);
End;
Procedure URunBack;
Begin
If(RunAwayToDirection = 'N')Then
Begin
URunTo('S');
End Else
If(RunAwayToDirection = 'E')Then
Begin
URunTo('W');
End Else
If(RunAwayToDirection = 'S')Then
Begin
URunTo('N');
End Else
If(RunAwayToDirection = 'W')Then
Begin
URunTo('E');
End;
End;
Function SolveEnt : Boolean;
Begin
If(FindColorTolerance(x, y, 56797, 25, 16, 99, 17, 5))And(IsUpText(TreeType))Then
Begin
WriteLn('Found Ent!');
URunTo(RunAwayToDirection);
Wait(10000+random(5000));
URunBack;
Ents := Ents + 1;
ReportVars[2] := ReportVars[2] + 1;
Result := True;
End Else
Result := False;
End;
Procedure SolveFight;
Begin
If(FindFight)Then
Begin
MakeCompass('N');
URunTo(RunAwayToDirection);
Wait(10000+random(5000));
URunBack;
End;
FindNormalRandoms;
End;
Procedure FindRandoms;
Begin
FindNormalRandoms;
SolveEnt;
SolveFight;
End;
Function WaitCount(SecondTimeOut : Integer) : Boolean;
Var
TimesCount : Integer;
Begin
TimesCount := 0;
Begin
Repeat
Wait(1000);
TimesCount := TimesCount + 1;
If(TimesCount < 10)Then WriteLn('Waited ' + IntToStr(TimesCount) + '000 M.Seconds.');
Wait(100);
If(TimesCount > 10)Then WriteLn('Waited ' + IntToStr(TimesCount) + '0000 M.Seconds.');
Wait(100);
Until(TimesCount >= SecondTimeOut)Or(SecondTimeOut >= 100)Or(FindNormalRandoms)Or(Not(LoggedIn));
If(TimesCount >= SecondTimeOut)Then Result:=True;
End;
End;
Procedure TextWait;
Begin
Repeat
Wait(500+random(500));
SolveEnt;
FindRandoms;
Until(WaitCount(MaxSeconds))Or(Not(IsUpText(TreeType)))Or(SolveEnt = True)Or(Not(LoggedIn))Or(InvFull)Or(ClickToContinue)Or(FindNormalRandoms);
If(WaitCount(MaxSeconds))Then
Exit;
End;
Procedure Cut;
Begin
If(FindObj(x, y, TreeType, TreeTypeColor, TreeTolerance))Then
Begin
Mouse(x, y, 5, 5, True);
WriteLn('Clicked The ' + TreeType + '.');
TextWait;
SolveEnt;
FindRandoms;
End;
End;
Procedure DropAllItems(StartingItem : Integer);
Var
I : Integer;
Begin
I := StartingItem;
If(I <= 0)Or(I >=28)Then Exit;
Begin
Repeat
FindRandoms;
DropItem(I);
I := I + 1;
Until(I >= 28);
End;
End;
Procedure MainCut;
Begin
Repeat
Cut;
SolveEnt;
FindRandoms;
Until(InvFull);
If(InvFull)Then
Begin
DropAllItems(1);
LogsCut := LogsCut + 27;
LoadsCut := LoadsCut + 1;
ReportVars[0] := ReportVars[0] + 27;
ReportVars[1] := ReportVars[1] + 1;
End;
End;
Procedure WoodcuttingTalk;
Begin
Case Random(31)Of
0:TypeSend('Woodcutting levels?');
1:TypeSend('Woodcutting lvls?');
2:TypeSend('Wc levels?');
3:TypeSend('Wc lvls?');
4:TypeSend('Lol');
5:TypeSend('Lmao');
6:TypeSend('Lmfao');
7:TypeSend('Rofl');
8:TypeSend('Roflmao');
9:TypeSend('Roflmfao');
10:TypeSend('So bored');
11:TypeSend('So tired');
12:TypeSend('Iam exousted');
13:TypeSend('Iam so bored');
14:TypeSend('Iam so tired');
15:TypeSend('Omg');
16:TypeSend('Omfg');
17:TypeSend('Wc ownz');
18:TypeSend('Wc pwnz');
19:TypeSend('Wc is ownage');
20:TypeSend('Wc is pwnage');
21:TypeSend('My friend is 99 wc');
22:TypeSend('I wish i was 99 wc');
23:TypeSend('I cant wait till level up!');
24:TypeSend('I vant ait till level up!');
25:TypeSend('Cmon i wanna level up!');
26:TypeSend('I need to levl up!');
27:TypeSend('I eed to lvl up!');
28:TypeSend('I neeed t o lvel up!');
29:TypeSend('My friend is getting 99 wc');
30:TypeSend('My friend is gonna get 99 wc soon');
31:TypeSend('Omg cmon i wanna level up!!!');
End;
End;
Procedure AntiBan;
Begin
Case Random(4) Of
0:Begin
RandomHoverMMouse;
WriteLn('Used Anti-Ban - Randomly Moved The Mouse.');
End;
1:Begin
Wait(1000+random(4000));
WriteLn('Used Anti-Ban - Waited 1-5 Seconds.');
End;
2:Begin
HoverSkill('random', False);
WriteLn('Used Anti-Ban - Hovered A Random Skill.');
end;
3:Begin
WoodcuttingTalk;
WriteLn('Used Anti-Ban - Talked In Woodcutting Type.');
End;
End;
End;
Procedure Report;
Begin
ClearDebug;
Begin
WriteLn('--------------------------------------------------------------------');
WriteLn('Power Chopper Version ' + Version + '.');
WriteLn('Made By U L T R A.');
WriteLn('--------------------------------------------------------------------');
WriteLn('Ran For ' + TimeRunning + '.');
WriteLn('Cut ' + IntToStr(pLoadsCut) + ' Loads.');
WriteLn('Cut ' + IntToStr(LogsCut) + ' ' + TreeType + ' Logs.');
WriteLn('Avoided ' + IntToStr(Ents) + ' Ents.');
WriteLn('--------------------------------------------------------------------');
End;
End;
Procedure SetUpSRLStats;
Begin
ScriptID := '569';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPW;
If(SRLStatsID = '')Or(SRLStatsPW = '')Then
Begin
WriteLn('Register At SRL Stats And Fill Everything! Leecher!');
TerminateScript;
End;
End;
Begin
SetUpSRL;
RandomlyDisguise;
SetUpSRLStats;
ShowSignature;
DeclarePlayers;
If(Not(LoggedIn))Then LogInPlayer;
Wait(1000+random(4000));
If(InvFull)Then DropAllItems(1);
DeclareTreeType;
SetUpPowerChopper;
Begin
repeat
Repeat
Report;
MainCut;
SolveEnt;
FindRandoms;
AntiBan;
Until(LoadsCut >= Players[CurrentPlayer].Integers[0])Or(Not(LoggedIn));
If(LoadsCut >= Players[CurrentPlayer].Integers[0])Or(Not(LoggedIn))Then
Begin
Report;
NextPlayer(False);
PLoadsCut := PLoadsCut + LoadsCut;
LoadsCut := 0;
End;
until(false);
End;
End.