SCAR Code:
{/////|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\\\\\
/////|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\\\\\
|||||/ \|||||
||||| PowerCutter Ver 3.5 Mikevskater |||||
||||| This ver only cuts normal, oak, and willows |||||
||||| BIG Shout Out to JAD for his great tuts and advice! |||||
||||| Thanks ALOT to pwnaz0r for fixing my cut procedure! |||||
||||| Also big thanks to Timer, as well as richk1693 for all their help |||||
|||||\ Start by a bunch of trees with axe equppied /|||||
\\\\\|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||/////
\\\\\|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||/////
}
program FirstScript;
{.include srl/srl.scar}
{.include srl/srl/skill/woodcutting.scar}
var
x, y, Logs, Clicks, TreeColor, xp: Integer;
TreeName, Log: String;
const
Treetype = 'Willow';//Valid Trees are Tree, Oak, and Willow. More to come later.
////////////////////////////////////////////////////////////////////////////////
procedure DeclarePlayers;
begin
SRLID := ''; //enter or script will terminate
SRLPassword := ''; //register at srl please if dont have one of these!
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Username';//Enter username
Players[0].Pass := 'Password';//Enter password
Players[0].Nick := 'Nick'; //Enter nickname
Players[0].Active := True;
end;
////////////////////////////////////////////////////////////////////////////////
procedure Anti;
begin
FindNormalRandoms;
if FindFight then
RunAway('N', True, 1, 9000+random(1000));
end;
////////////////////////////////////////////////////////////////////////////////
procedure Antiban;
begin
case random(20) of
0,3,6: BoredHuman;
4,7,10: RandomMovement;
8,11,14: PickUpMouse;
12,15,18: HoverSkill('woodcutting', false);
16,19: begin
Gametab(random(13+1));
wait(random(1000)+random(500));
Gametab(random(13+1));
wait(random(1000)+random(500));
Gametab(random(13+1));
wait(random(1000)+random(500));
gametab(4);
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
Function FindAxeIn: Boolean;
var
axe: Integer;
begin
axe := DTMFromString('78DA63E4626060E067400175F17C609A11CA6' +
'7640312720C688011550D0B909025A0860748B01050230E245809' +
'A81105127C04D480E439F1AB01004CBC01C4');
Gametab(5);
wait(1000);
If finddtm(axe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Axe Found');
result := true;
exit;
end;
Gametab(4);
wait(1000);
If finddtm(axe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Axe Found');
result := true;
end;
freedtm(axe);
end;
////////////////////////////////////////////////////////////////////////////////
Procedure CheckForBrokenAxe;
var
x, y, BrokenAxe: Integer;
begin
BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' +
'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' +
'5C04D4D400D5A8E05703008C0604B4');
Gametab(4);
wait(1000);
if finddtm(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
Logout;
freedtm(BrokenAxe);
end;
////////////////////////////////////////////////////////////////////////////////
procedure Cut;
var
Inv, z: Integer;
begin
repeat
CheckForBrokenAxe;
if FindColorTolerance(x , y, treecolor, MSX1, MSY1, MSX2, MSY2, 15) then
begin
mmouse(x,y,0,0);
wait(500);
if isuptext(treename) and not(findent(x, y, true)) then
begin
Inv := InvCount;
Mouse(x, y, 0, 0, True);
z := 0;
FFlag(0);
Clicks := Clicks + 1
ReportVars[1] := ReportVars[1] + 1;
Anti;
repeat
wait(250+random(250));
z := z+1;
Anti;
until(InvCount > Inv) or (z > 100) or InvFull;
Anti;
end;
end;
until(InvFull);
end;
////////////////////////////////////////////////////////////////////////////////
Procedure Drop;// By Timer150
var
i: Integer;
ItemPoint: TPoint;
begin
GameTab(4);
Wait(500 + Random(500));
for i := 1 to 28 do
if (ExistsItem(i)) then
begin
ItemPoint := ItemCoords(i);
MMouse(ItemPoint.x, ItemPoint.y, 5, 5);
Wait(250 + Random(60));
if IsUpText(Log) then
begin
Mouse(ItemPoint.x, ItemPoint.y, 5, 5, False);
Wait(250 + Random(50));
ChooseOption('rop');
logs := logs + 1;
ReportVars[0] := ReportVars[0] + 1;
case Treename of
'ree': begin
xp := xp + 25;
ReportVars[2] := ReportVars[2] + 25;
end;
'ak': begin
xp := xp + 37;
ReportVars[2] := ReportVars[2] + 37;
end;
'illow': begin
xp := xp + 67;
ReportVars[2] := ReportVars[2] + 67;
end;
end;
end;
end;
ArrangeInv;
end;
////////////////////////////////////////////////////////////////////////////////
procedure Proggy;
begin
ClearDebug;
Writeln('/-----------------------------------\');
Writeln('| PowerCutter by MikeVSkater |');
Writeln('\-----------------------------------/');
Writeln('/-----------------------------------\');
writeln('Clicks: ' + inttostr(clicks));
Writeln('Logs: ' + inttostr(logs));
Writeln('Time: ' + TimeRunning);
Writeln('Xp Gaind: ' + inttostr(xp));
Writeln('\-----------------------------------/');
end;
////////////////////////////////////////////////////////////////////////////////
procedure Signature;
begin
ClearDebug;
Writeln('PowerCutter made by Mikevskater');
wait(1000);
Writeln('This is my first script so please help me '+
'on anything you know that I dont?');
Wait(5000+random(1000))
end;
////////////////////////////////////////////////////////////////////////////////
procedure Setup;
begin
case LowerCase(TreeType) of
'Tree': begin
TreeColor := 1190181;
TreeName := 'ree';
Log := 'og';
end;
'Oak': begin
TreeColor := 2317131;
TreeName := 'ak';
Log := 'ak log';
end;
'Willow': begin
TreeColor := 5078394;
TreeName := 'illow';
Log := 'illow log';
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
begin
SetupSRL;
ScriptID := '599';
Setup;
DeclarePlayers;
Signature;
If SRLID = '' then
begin
ClearDebug;
Writeln('Register at SRL now and stop Leech`n');
Writeln('Please go to : http://www.srl-forums.com/forum/register.php');
TerminateScript;
end;
wait(100 + Random(500));
ActivateClient;
Writeln('Found RuneScape');
Wait(500 + random(50));
If (not Loggedin) then
LoginPlayer;
SetAngle(True);
MakeCompass('N');
wait(2000);
FindAxeIn;
{if FindAxein = false then
begin
Writeln('Axe not found');
Logout;
TerminateScript;
end;}
repeat
Cut;
AntiBan;
Anti;
Drop;
Anti;
AntiBan;
Proggy;
SRLRandomsReport;
until(False)
end.