Aeon C
2009-09-02 15:19:23
2 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
A little C++ and some Java, Visual Basic and I started learning Python.
Are you a member of any other communities?
No.
Tell us about yourself…
From: Aeon C
I'm a 13 year old boy living in Marseilles (southern France).
I played RuneScape before but looked for cheats and got a virus, got hacked, and then gave up RuneScape.
Played WoW for a few years and then I went back a little to RuneScape. Looking for cheats again, I was a little bit more careful and found villavu (or SRL ?).
_____________________________
The script below is my first script but I updated it with help from many sides, learning tutorials and using tools.
Thanks to all the people who helped me.
Please show us one (or multiple) of your scripts.
{
Version history :
V0.1 Beta : the first time I actually scripted.
it had nothing apart from :
logging in, chopping a tree, dropping the log.
V0.1 : The ^Updated^ version of the 0.1 Beta
included the fixes of people from Villavu
and #SRL irc channel.
V0.2 : Added some little anti randoms.
Added proper credits and some fixes to FACT
V0.3.5 : Added the Willow Chopping and banking option.
Added WTB and WTW.
Added some autocoloring which I got from Auto Color Aid v2.
Fixed a major bug.
}
program SPC;
{.include SRL/SRL.scar} //Thanks for the help ian.
{.include SRL/SRL/misc/users.scar} //Thanks for the help ian.
var
x,y,LogsCut,AxeDTM,LogDTM,ABP,TI: Integer; //Thanks for the help Sabzi for
//changing '=' to ':'.
StartTime,PL: string;
procedure Setup;
begin
Writeln('Starting up the script');
SetupSRL;
AxeDTM := DTMFromString('78DA63AC606060C86140011EF6C60CFF81342' +
'310FF0702C61220238E010D302291401A64461901350540228B80' +
'9A7C20514E404D3D904827A0A61648C4E357030056B70BE4');
LogDTM := DTMFromString('78DA637466626078CA8002FCAD1519FE03694' +
'620FE0F048C2E4035B719D000231209A42D806AEE1250630254F3' +
'84801A73A09AB704D4D803D57C20A0C607A8E60D0135814035CF8' +
'930E7217E3500A2A81037');
SRLPlayerForm(true,['Axe Equipped ?','List credits in Progress Report?','Power chop or willows ? (false = willows true = power chop)'],
['Logs to cut ?','Seconds to chop down a tree ? (Estimation)'],[],[]);
if not(Players[CurrentPlayer].Booleans[2]) then
begin
Writeln('Chopping willows in Draynor.');
PL := 'B';
end else;
begin
Writeln('Powerchopping normal trees.');
end;
LoginPlayer;
Wait(400+random(200));
FindNormalRandoms;
if not (Players[CurrentPlayer].Booleans[1]) then
begin
if FindDTM(AxeDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Writeln('Axe was found.');
end else
begin
Writeln('Axe not found. Terminating.');
TerminateScript;
end;
end else
begin
Gametab(tab_Equip);
Wait(50+random(25));
if FindDTM(AxeDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Writeln('Axe was found.');
end else
begin
Writeln('Axe not found. Terminating.');
TerminateScript;
end;
end;
end;
function AutoColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.00);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 992581, MMX1, MMY1, MMX2, MMY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 3.18) and (X <= 3.22) and (Y >= 2.60) and (Y <= 2.64) and (Z >= 0.77) and (Z <= 0.81) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function AutoColor2: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.00);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 3750206, MMX1, MMY1, MMX2, MMY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.17) and (X <= 4.21) and (Y >= 4.23) and (Y <= 4.27) and (Z >= 4.45) and (Z <= 4.49) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
procedure WTW;
begin
if not (LoggedIn) then
begin
Writeln('Not logged in...');
Writeln('Logging in player.');
LoginPlayer;
FindNormalRandoms;
Wait(300+random(100));
end;
if not(Players[CurrentPlayer].Booleans[2]) then
begin
if (PL = 'B') then
begin
MakeCompass('W');
RadialWalk(AutoColor,270,0,72,0,0);
FindNormalRandoms;
Flag;
end;
end;
PL := 'W';
end;
procedure WTB;
begin
if not (LoggedIn) then
begin
Writeln('Not logged in...');
Writeln('Logging in player.');
LoginPlayer;
FindNormalRandoms;
Wait(300+random(100));
end;
if (PL = 'W') then
begin
case random(4) of
0:
begin
MakeCompass('N');
RadialWalk(Autocolor2,0,90,72,0,0);
Flag;
repeat
OpenBankQuiet('db');
Inc(TI);
until((BankScreen)or(TI = 5));
if (TI = 5) then
begin
Writeln('Unable to open bank.');
TerminateScript;
end;
DepositAll;
CloseBank;
end;
1:
begin
MakeCompass('E');
RadialWalk(Autocolor2,250,300,72,0,0);
Flag;
repeat
OpenBankQuiet('db');
Inc(TI);
until((BankScreen)or(TI = 5));
if (TI = 5) then
begin
Writeln('Unable to open bank.');
TerminateScript;
end;
DepositAll;
CloseBank;
end;
2:
begin
MakeCompass('S');
RadialWalk(Autocolor2,160,235,72,0,0);
Flag;
repeat
OpenBankQuiet('db');
Inc(TI);
until((BankScreen)or(TI = 5));
if (TI = 5) then
begin
Writeln('Unable to open bank.');
TerminateScript;
end;
DepositAll;
CloseBank;
end;
3:
begin
MakeCompass('W');
RadialWalk(Autocolor2,70,120,72,0,0);
Flag;
repeat
OpenBankQuiet('db');
Inc(TI);
until((BankScreen)or(TI = 5));
if (TI = 5) then
begin
Writeln('Unable to open bank.');
TerminateScript;
end;
DepositAll;
CloseBank;
end;
end;
end else
begin
Writeln('Player should be at willows.');
TerminateScript;
end;
end;
procedure AB;
begin
case Random(46) of
0..10 : BoredHuman; //Fixed all the case number lines thanks to R1ch
11..17 : RandomMovement;
18..24 : HoverSkill('woodcutting',false); //Fixed with the help of Sabzi (added ",false")
25..31 : HoverSkill('random',false); //Fixed with the help of Sabzi (added ",false")
32..38 : PickUpMouse;
39..45 : MakeCompass(IntToStr(0+random(360)));
end;
Inc(ABP);
end;
procedure FACT;
begin
if not(Players[CurrentPlayer].Booleans[2]) then
exit;
TI := 0;
if not(LoggedIn) then
begin
Writeln('Something is wrong, you arent logged in for the procedure : FACT');
LoginPlayer;
FindNormalRandoms;
end;
if (FindObjCustom(x,y,['ree','Tree','Chop down Tree','down Tree'],[1192491,3431805,930345,1649980],10)) then
begin
Writeln('Tree found');
begin
if IsUpText('ree') then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true);
FindNormalRandoms;
repeat
Wait(1000+random(230));
case Random(10) of
1,2: AB
end;
Inc(TI);
until(FindDTM(LogDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (TI = Players[CurrentPlayer].Integers[1]));
Mouse(x,y,3,3,false);
ChooseOption('rop');
Disguise(IntToStr(LogsCut)+' '+IntToStr(LogsCut*25)+' '+TimeRunning);
end;
end;
end else
begin
Writeln('Did not find tree...');
TerminateScript;
end;
Inc(LogsCut); //Changed from LogsCut:=LogsCut+1 thanks for Sabzi
end;
procedure FACW;
begin
if (Players[CurrentPlayer].Booleans[2]) then
exit;
TI := 0;
if not(LoggedIn) then
begin
Writeln('Something is wrong, you arent logged in for the procedure : FACW');
LoginPlayer;
FindNormalRandoms;
end;
if (FindObjCustom(x,y,['low','Willow','Chop down Willow','down Willow'],[1451819,132356,858131,2372909],10)) then
begin
Writeln('Willow found');
begin
if IsUpText('llow') then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true);
FindNormalRandoms;
repeat
Wait(1000+random(230));
case Random(10) of
1,2: AB
end;
Inc(TI);
until(FindDTM(LogDTM,x,y,MIX1,MIY1,MIX2,MIY2) or (TI = Players[CurrentPlayer].Integers[1]));
Mouse(x,y,3,3,false);
ChooseOption('rop');
Disguise(IntToStr(LogsCut)+' '+IntToStr(LogsCut * (375/10))+' '+TimeRunning);
end;
end;
end else
begin
Writeln('Did not find Willow trees...');
TerminateScript;
end;
Inc(LogsCut); //Changed from LogsCut:=LogsCut+1 thanks for Sabzi
end;
procedure WPRT;
begin
Writeln('======================================');
Writeln(' SPC - Simple Power Cutter by Aeon C. ');
Writeln('Version : 0.2');
Writeln('======================================');
Writeln('Script started :');
Writeln(StartTime);
Writeln('Progress report written on : ');
Writeln(TheDate(3)+' '+Thetime); //Thanks for the help with TheDate and TheTime Zephyr.
Writeln('======================================');
Writeln('Script ran for : '+TimeRunning);
Writeln('You have cut : '+Inttostr(LogsCut)+' logs.');
Writeln('You have gained : '+Inttostr(LogsCut * 25)+' exp.');
Writeln('You have performed : '+Inttostr(ABP)+' antibans.');
Writeln('======================================');
end;
procedure WPRW;
begin
Writeln('======================================');
Writeln(' SPC - Simple Power Cutter by Aeon C. ');
Writeln('Version : 0.2');
Writeln('======================================');
Writeln('Script started :');
Writeln(StartTime);
Writeln('Progress report written on : ');
Writeln(TheDate(3)+' '+Thetime); //Thanks for the help with TheDate and TheTime Zephyr.
Writeln('======================================');
Writeln('Script ran for : '+TimeRunning);
Writeln('You have cut : '+Inttostr(LogsCut)+' willows.');
Writeln('You have gained : '+Inttostr(LogsCut * (375/10))+' exp.');
Writeln('You have performed : '+Inttostr(ABP)+' antibans.');
Writeln('======================================');
end;
procedure ScriptTerminate;
begin
FreeDTM(AxeDTM);
FreeDTM(LogDTM);
if (LoggedIn) then
Logout;
if not(Players[CurrentPlayer].Booleans[2])then
begin
Writeln('Hope you enjoyed SPC by Aeon C.');
WPRW;
end else
begin
Writeln('Hope you enjoyed SPC by Aeon C.');
WPRT;
end;
if (Players[CurrentPlayer].Booleans[1]) then
begin
Writeln('Simple Power Cutter written by Aeon C.');
Writeln('Alot of help from people at the #SRL irc channel.');
Writeln('Also lots of help from people on villavu.');
Writeln('======================================');
Writeln('Special Thanks :');
Writeln('Mayazcherquoi : first person I met on the forums.');
Writeln('Mayazcherquoi : for answering sooo many questions.');
Writeln('ian. fixed errors in the script.');
Writeln('Sabzi fixed errors in the script.');
Writeln('R1ch shortened the script.');
Writeln('Zephyr informed me about TheTime and TheDate.');
Writeln('======================================');
end;
end;
begin
Setup;
repeat
if (Players[CurrentPlayer].Booleans[2]) then
begin
FACT;
WPRT;
end else
begin
WTW;
FACW;
WPRW;
WTB;
end;
until(LogsCut = Players[CurrentPlayer].Integers[1]);
TerminateScript; //To make sure what's listed in ScriptTerminate happens.
end.