SRL Archive - First Scripts

varrock west log cutter banker


benny999

2012-05-02 09:45:10

ok so my script is basic as needs work finding trees just cant get the right combination going picking trees
start it just below the cooking guild with axe even use the toolbelt one it doesnt check no real need anymore i think having the toolbelt one it cuts the logs you might need to rotate the camera it doesnt do that so many things i need to add
its far from perfect but im showing you guys because i want some help with improving it and cleaning it up etc

oh before i forget you can use simba client and you have to login your self need to set the up 2

credits to YoHoJo's video tutorial's i learned a lot well from not knowing anything to this haha

and all the other tut writers i didnt include you know who you are you'll see parts from every were in the script haha

program PowerChooper;

{$DEFINE SRL5}
//{$DEFINE SMART}

{$i SRL/srl.simba}
{$i SPS/sps.simba}


Const
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers = 1; //how how many players
StartPlayer = 0; //which player do you wanna start with 0 being the first
BreakEvery = 120; //how long till break
BreakFor = 5; //how long to break for
Version = '1.0'; //dont touch
Var
TooLong:Integer;

procedure DeclarePlayers;
var i:integer;
begin
NumberOFPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];

with Players[0] do
begin
Name := ''; //Player username
Pass := ''; //Player Password
Active := True;
Integers[1] := 4; //which ore
Integers[2] := 4; //seconds to try mining ore
end;

end;
Var
myPath:TPointArray;
myrPath:TPointArray;
Procedure Top;
begin

SPS_Setup(RUNESCAPE_SURFACE,['11_7','10_7']);
myPath := [Point(4579, 2900), Point(4581, 2909), Point(4579, 2915),
Point(4578, 2920), Point(4564, 2931), Point(4550, 2935),
Point(4539, 2936),Point(4525, 2937), Point(4505, 2942),
Point(4495, 2952), Point(4483, 2965), Point(4467, 2975),
Point(4452, 2983), Point(4437, 2981), Point(4426, 2961),
Point(4420, 2947), Point(4408, 2936), Point(4395, 2941)];
SPS_WalkPath(myPath)
end;
Procedure ReturnP;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['11_7','10_7']);
myrPath := [Point(4381, 2913), Point(4395, 2936),
Point(4409, 2948), Point(4422, 2958), Point(4427, 2970),
Point(4436, 2983), Point(4449, 2984), Point(4461, 2979),
Point(4473, 2974), Point(4486, 2966), Point(4497, 2951),
Point(4509, 2940), Point(4523, 2932), Point(4539, 2934),
Point(4554, 2935), Point(4569, 2934), Point(4577, 2927),
Point(4580, 2911), Point(4580, 2902)];
SPS_WalkPath(myrPath)
end;




Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
end;


Procedure Antiban;
Begin
Case Random(250) of
0: Begin Statsguise ('AntiBan') GameTab(tab_Stats) HoverSkill('Magic', False) GameTab(28); end;
1: Begin Statsguise ('AntiBan') SleepAndMoveMouse(7000 + Random(500)); End;
2: Begin Statsguise ('AntiBan') GameTab(tab_Inv) ExamineInv; GameTab(28); end;
3: Begin Statsguise ('AntiBan') RandomAngle(1); end;
4: Begin Statsguise ('AntiBan') GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(28); end;
5: Begin Statsguise ('AntiBan') GameTab(Tab_Stats) HoverSkill('random', False); GameTab(28); end;
end;
end;

Procedure FailSafe(Reason:String);
Begin
Players[CurrentPlayer].Loc:=Reason;
Logout;
Stats_Commit;
Writeln(Reason);
TerminateScript;
end;
function TreeColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.23, 0.84);

FindColorsSpiralTolerance(MSCX, MSCY, arP, 2833223, MSX1, MSY1, MSX2, MSY2, 6);
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 >= 2.65) and (X <= 6.64) and (Y >= 2.66) and (Y <= 6.70) and (Z >= 1.95) and (Z <= 4.70) 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 ChopDown:Boolean;
Var
xd, yd, PlusOne, TreeCounter: Integer;
begin
MarkTime(TooLong);
FindNormalRandoms;
PlusOne:= InvCount+1;
//if FindobjCustom (x, y, ['Chop', 'down'], [2042413, 1450529, 1252637, 1450786 ], 15 ) Then //moves mouse to colour
xd:=MSCX;
yd:=MSCY;
if FindObjTPA(xd, yd, TreeColor, 10, 1, 15, 100, 450, ['Cho']) Then
Begin
Writeln ('hooray we found a tree');
GetMousePos(xd, yd);

Case Random(2) Of
0: Mouse(Xd, Yd, 5, 5, True); //Left click
1: Begin
Mouse(Xd, Yd, 5, 5, False); //Right click
WaitOption('Chop', 500); //Waits for chop

end;
end;

Flag;
MarkTime(TreeCounter);
If (TimeFromMark (TooLong) > 30000) Then
FailSafe('Could Not Find Tree');

Repeat
If (TimeFromMark (TooLong) > 30000) Then
FailSafe('Could Not Find Tree');
FindNormalRandoms;
StatsGuise('Antiban and Waiting')

Antiban;
Wait(500);
if InvCount=PlusOne Then
Writeln ('we got one');
Until (InvCount=Plusone) Or (TimeFromMark(TreeCounter) > 5000) // change 10000 to make wait longer to cut tree or shorter
end;
end;


var
x, y: Integer;

function Bank(var fx, fy: Integer): Boolean;
var
arP: TPointArray;
ararP: T2DPointArray;
tmpCTS, i, arL: Integer;
P: TPoint;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.91, 3.75);

if not(FindColorsTolerance(arP, 2502979, MSX1, MSY1, MSX2, MSY2, 7)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

SortTPAFrom(arP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arP, 10, 10);
arL := High(ararP);

for i := 0 to arL do
begin
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 0, 0);
Wait(100 + Random(100));
if (IsUpText('booth')) then
begin;
Result := True;
Break;
end;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;

GetMousePos(fx, fy);
end;

Procedure DepLogs;
var
LogDtm:Integer;




Begin


LogDTM:= DTMFromString('mlwAAAHicY2dgYLBgYmCwAWIHIHYEYncg9gBiZyC+B5R/A8RPgPg1EN8G4udQfmOGJUOItRRDtKsGQ6ybJkOIvSqY7W2hyIAPMOLBUAAATNENpg==');


Begin
MouseItem(LogDTM,0);
ChooseOption('Deposit-All');
end;


end;

begin

SetupSRL;
DeclarePlayers;
SetAngle(SRL_ANGLE_LOW);

Repeat

ChopDown;
If InvFull Then
begin
ReturnP;
Bank(x, y);
Mouse(X, Y, 5, 5, True);
wait(5000);
DepLogs;
Top;
end;

Until(false);

End.

bas

2012-05-02 18:25:59

Looks very nice :) congrats on your first script.

NKN

2012-05-02 21:29:57

Don't just say you know who they are. -_-.

Credit them, they took the time to help you, you credit them in return.

Wetish

2012-05-07 17:54:11

From: NKN
Don't just say you know who they are. -_-.

Credit them, they took the time to help you, you credit them in return.


I completely agree. When following a tutorial to write a script you SHOULD give them credit.