Bionicle
2009-09-08 18:43:29
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
No
What is your general programming knowledge?
VB, Java, HTML
Are you a member of any other communities?
none
Tell us about yourself…
Please show us one (or multiple) of your scripts.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
Nope
Were you Referred to SRL?
No
What is your general programming knowledge?
VB, Java, HTML
Are you a member of any other communities?
none
Tell us about yourself…
From: bionicle1800
I'm a teenager with a lot of time on my hands, currently in high school. I enjoy runescape, autoing, guitar, programing, and pretty much anything that has to do with computers.
Please show us one (or multiple) of your scripts.
program CatherbyYewCutterAndBanker;
{.include SRL/SRL.scar}
{.include srl/srl/reflection/reflection.scar}
{==============================================================================]
[Author: Bionicle1800 ]
[Released: 09/07/2009 ]
[Made for: SCAR 3.21 ]
[Version: 1.0 ]
[Made for: Cutting yews west of Catherby ]
[==============================================================================]
[ ________ ________ ]
[ / \___________________/ \ ]
[ /____ ____\ ]
[ \ INSTRUCTIONS / ]
[ _____/ \____ ]
[ \ ___________________ / ]
[ \________/ \________/ ]
[ ]
[ ]
[ First, set up the script with your characters information and how many loads ]
[ you want, as well as if your axe is equip. Then, place your character by the ]
[ yews, drag the crosshair to a runescape window and press play! ]
[ ]
[ (BTW: the MainLoop procedure is there just for convince, so i can get to it ]
[ easy.) ]
[==============================================================================}
var
x, y, xp, logs, DDTMTolerance: Integer;
const
weild = false; //Are you weilding a hatchet?
loads = 100; //How many loads do you want this script to do?
YourPin = ''; //Your Pin, all the pin's on your accounts have to be the same.
procedure DeclarePlayers;
begin
HowManyPlayers :=3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer :=0;
with players[0] do
begin
Name := ''; //Your Username
Pass := ''; //Your Password
Nick := ''; //A nickname to call you by
Active := true; //True if you are using this account, false if not
BoxRewards := ['mote', 'ostume', 'Xp']; //Random event rewards
end;
{
}
with players[1] do
begin
Name := '';
Pass := '';
Nick := '';
Active := false;
BoxRewards := ['mote', 'ostume', 'Xp'];
end;
{
}
with players[2] do
begin
Name := '';
Pass := '';
Nick := '';
Active := false;
BoxRewards := ['mote', 'ostume', 'Xp'];
end;
end;
procedure AntiBan;
begin
case Random(60) of
0: RandomMovement;
1: BoredHuman;
2: HoverSkill('Woodcutting', false);
3: ExamineInv;
4: PickUpMouse;
5: RandomRClick;
end;
end;
function SetDDTM1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 921;
dtmMainPoint.y := 270;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 2982761;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 921;
dtmSubPoints[0].y := 270;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 2982761;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 921;
dtmSubPoints[1].y := 269;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 2982761;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 919;
dtmSubPoints[2].y := 271;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2982761;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 920;
dtmSubPoints[3].y := 271;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2982761;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 914;
dtmSubPoints[4].y := 267;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 2982761;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function SetDDTM2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 922;
dtmMainPoint.y := 215;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6907499;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 922;
dtmSubPoints[0].y := 215;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6907499;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 925;
dtmSubPoints[1].y := 220;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 6907499;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 917;
dtmSubPoints[2].y := 209;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6907499;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 918;
dtmSubPoints[3].y := 211;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6907499;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 917;
dtmSubPoints[4].y := 209;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 6907499;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function SetDDTM3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 919;
dtmMainPoint.y := 299;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6644327;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 919;
dtmSubPoints[0].y := 299;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6644327;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 921;
dtmSubPoints[1].y := 301;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 6644327;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 917;
dtmSubPoints[2].y := 302;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6644327;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 920;
dtmSubPoints[3].y := 303;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6644327;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 916;
dtmSubPoints[4].y := 298;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 6644327;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function SetDDTM4: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 265;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7038829;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 265;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7038829;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 934;
dtmSubPoints[1].y := 249;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7038829;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 930;
dtmSubPoints[2].y := 247;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7038829;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 930;
dtmSubPoints[3].y := 252;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7038829;
dtmSubPoints[3].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function SetDDTM5: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 903;
dtmMainPoint.y := 285;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7633013;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 903;
dtmSubPoints[0].y := 285;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7633013;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 908;
dtmSubPoints[1].y := 288;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7633013;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 898;
dtmSubPoints[2].y := 287;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7633013;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 907;
dtmSubPoints[3].y := 284;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7633013;
dtmSubPoints[3].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function WalkToCatherbyBankStep1: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM1;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM1;
end else
begin
Writeln('Walk To Catherby Bank step 1 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkToCatherbyBankStep2: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM2;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM2;
end else
begin
Writeln('Walk To Catherby Bank step 2 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkToCatherbyBankStep3: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM3;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM3;
end else
begin
Writeln('Walk To Catherby Bank step 3 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkToCatherbyBankStep4: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM4;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM4;
end else
begin
Writeln('Walk To Catherby Bank step 4 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkToCatherbyBankStep5: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM5;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM5;
end else
begin
Writeln('Walk To Catherby Bank step 5 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkBackToYewsStep1: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM4;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM4;
end else
begin
Writeln('Walk Back To Yews step 1 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkBackToYewsStep2: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM3;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM3;
end else
begin
Writeln('Walk Back To Yews step 2 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkBackToYewsStep3: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM2;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM2;
end else
begin
Writeln('Walk Back To Yews step 3 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkBackToYewsStep4: Boolean;
var
TheDDTM: Integer;
begin
if not loggedin then exit;
SetRun(True);
DDTMTolerance := 5;
TheDDTM := SetDDTM1;
repeat
if not DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
IncEx(DDTMTolerance, 5);
FreeDTM(TheDDTM);
TheDDTM := SetDDTM1;
end else
begin
Writeln('Walk Back To Yews step 4 successful.');
Mouse(x, y, 3, 3, true);
Result := True;
Break;
end;
until((DDTMTolerance >= 50) or not LoggedIn);
DDTMTolerance := 5;
FreeDTM(TheDDTM);
end;
function WalkToYew: Boolean;
begin
if not loggedin then exit;
SetRun(true);
R_FindRandoms;
SymbolAccuracy := 0.5;
Result := FindSymbol(x, y, 'rare trees');
if Result then;
begin
Mouse(x, y, 3, 3, true);
SymbolAccuracy := 0.5;
end;
end;
function FindYew: Boolean;
var
CTS, I, H, P, PA: Integer;
Points: TPointArray;
Pointers: T2DPointArray;
begin
if not loggedin then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(3);
FindColorsSpiralTolerance(MSCX, MSCY, Points, 1593411, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
Pointers := TPAtoATPAex(Points, 11, 11);
SortATPASize(Pointers, True);
H := High(Pointers);
for I:=0 to H do
begin
R_FindRandoms;
MiddleTPAEx(Pointers[I], x, y);
MMouse(X, Y, 0, 0);
wait(50+(50));
if IsUpText('ew') then
begin
Result := True;
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, True);
PA := I + 1;
P := H / 12 + 1;
Status('Clicked on tree '+IntToStr(PA)+', Found '+IntToStr(P)+' yews');
wait(500+random(250));
While CharacterMoving Do wait(50);
wait(800+random(200));
exit;
end;
end;
end;
procedure ChopYew;
begin
if not loggedin then exit;
repeat
FindYew;
While (CharacterAnimating or CharacterMoving) do
Begin
wait(400);
R_FindRandoms;
AntiBan;
end;
Antiban;
MMouse(704, 451, 3, 3);
if (IsUpText('ew logs')) then break;
Until(false);
end;
function BankYews: Boolean;
var
yewlogs: Integer;
exp: extended;
begin
if not loggedin then exit;
yewlogs := DTMFromString('78DA639CC0CCC030939101197898708169982' +
'8E34CA09AC9A86A60B27035F3806A161250D30354B382809A16A0' +
'9AD9F8D50000CE370690');
MakeCompass('N')
Wait (300 + random(160));
OpenBankFast('ctb');
if (PinScreen) then
InPin(YourPin);
if FindDTM(yewlogs, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 3, 3);
if IsUpText('ew logs') then
begin
Wait(80 + random(100));
Mouse(x, y, 4, 3, false);
ChooseOption('All');
end;
CloseBank;
Wait(150 + random (278));
end;
If Weild Then
logs := logs + 28
else logs := logs + 27;
R_FindRandoms;
exp := logs * 175.0
xp := round(exp);
end;
procedure ProgressReport;
begin
cleardebug;
Writeln(' _______ _______')
Writeln(' / ______\ / ______\');
Writeln(' / / / /');
Writeln(' > > > >');
Writeln(' \ \_______ \ \_______');
Writeln(' \_______/atherby \_______/utter');
wait(3000);
cleardebug;
Writeln('===============================')
Writeln('Chopped for '+TimeRunning);
Writeln('Chopped '+IntToStr(logs)+' logs');
Writeln('Gained '+IntToStr(xp)+' exp');
Writeln('===============================')
Writeln('Catherby YewCutter by: bionicle1800');
end;
procedure MainLoop;
begin
ClearDebug;
SetupSRL;
DeclarePlayers;
GraphicsSet := true;
if not loggedin then loginPlayer;
makecompass('n');
SetAngle(True);
WalkToYew;
repeat
FindYew;
ChopYew;
WalkToCatherbyBankStep1;
WalkToCatherbyBankStep2;
WalkToCatherbyBankStep3;
WalkToCatherbyBankStep4;
WalkToCatherbyBankStep5;
BankYews;
WalkBackToYewsStep1;
WalkBackToYewsStep2;
WalkBackToYewsStep3;
WalkBackToYewsStep4;
FindYew;
ProgressReport;
Until(1 = loads);
end;
begin
Mainloop;
end.