SRL Archive - Archive

Sockz - SRL Member Application


Sockz

2012-04-27 10:10:11

New script which uses custom object finding and tpas, have a look :D Sorry, shouldv'e psoted it earlier :D

How Long have You Played Runescape?
2 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
I dunno the username sorry, was somebody from sythe a while back.


What is your general programming knowledge?
I've only ever had a bit of a play around in software class with html, javascript and c++ I think it was called.


Are you a member of any other communities?
Runescape :D


Tell us about yourself…
From: Sockz
Well I'm from Australia, sydney area if you guys know where that is :P There isn't much to tell about myself, school takes up most of my life. Finishing off my last year now!

I'm into computer, maths, problems solving and stuff like that. I also like to, when I get the chance, keep fit (doesn't always go to plan but :P)

I dunno what else to say :/ Umm I got into stuff like this from doing software devlopment at school. They pretty much teach us how to program without doing any programming. I found this community to be very inviting and it was a good chance to put my theoretical skills to the test. I like a challenge, to solve a problem, or well.. to make a problem and then solve it :p

Thanks for taking a look at my application and any constructive criticism on my scripts will be appreciated, thankyou :D

Take note that the G altar was my first major script that I wrote and the other one has better standards and is more efficient which i fixed up based on some of the feedback of my altar script.

To use the altar script you can have a look at my thread for setup and to sue the other script just start at the west bank in Falador :D



Newly added script below this message :D
program new;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i srl/srl.simba}

Var
BankTol, StairsTol, SpinningWheelTol, FlaxTol, Trips, TripsCompleted: Integer;

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Trips:= 10000; //How many trips do you wanna do?
Players[0].Name :=''; //Username
Players[0].Pass :=''; //Password
Players[0].pin:= ''; //Bankpin
Trips := 10000 //How many trips do you wish to completed before logging out?
Players[0].Active:=True;
LoginPlayer;


procedure AntiBan;
begin
case Random(2500) of
1..25: begin
PickUpMouse; SleepAndMoveMouse(200 + Random(3000));
Antibans:= Antibans + 1;
end;
25..50: begin
PickUpMouse;
Antibans:= Antibans + 1;
end;
50..70: begin
BoredHuman;
Antibans:= Antibans + 1;
end;
70..90: begin
RandomMovement;
Antibans:= Antibans + 1;
end;
90..10: begin
RandomRclick
Antibans:= Antibans + 1;
end;
end;
end;

Procedure Proggy;
var
ph, comit: Integer;

begin
ph:= Round((TripsCompleted * 28 * 3600) / (GetTimeRunning / 1000));
Writeln('');
Writeln('');
Writeln('Sockz"z Bowstringer')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
Writeln('Time running: ' + TimeRunning);
Writeln('Trips done: ' + IntToStr(TripsCompleted));
Writeln('Bowstrings made: ' + IntToStr(TripsCompleted * 28));
Writeln('Dwarven Stouts p/h: ' + IntToStr(ph));
Writeln('Antibans done: ' + IntToStr(Antibans))
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
end; ;

function Find(var x, y: Integer; object: String): Boolean;
var
CTS, I, colour, t, tol, randomization: Integer;
hue, sat: Extended;
upText: String;
TPA: TPointArray;
ATPA: Array of TPointArray;

begin
randomization := 2
case object of
'bank': begin
hue := 0.75;
sat := 0.16;
colour := 9080984;
uptext := 'ank';
tol := BankTol;
end;
'flax': begin
hue := 0.03;
sat := 1.04;
colour := 11975870;
uptext := 'lax';
tol := FlaxTol;
randomization := 4
end;
'stairs': begin
hue := 0;
sat := 0;
colour := 11778491;
uptext := 'taircase';
tol := StairsTol;
end;
'deposit': begin
hue := 0.08;
sat := 0.38;
colour := 1854078;
uptext := 'eposit';
tol := 5
randomization := 5
end;
'spinning wheel': begin
hue := 0.16;
sat := 0.33;
colour := 6586005;
uptext := 'pinning';
tol := SpinningWheelTol;
end;
end;


CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(hue, sat);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, colour, MSX1, MSY1, MSX2, MSY2, tol);
ColorToleranceSpeed(CTS); //note: text finding doesn't work with CTS 2, hence the change back.
ATPA := TPAToATPAEx(TPA, 20, 20);

For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, randomization, randomization);
MarkTime(t);
Repeat
If(IsUpTextMultiCustom([uptext])) then
begin
Result := True;
GetMousePos(x, y);
Exit;
SetColorSpeed2Modifiers(0.2, 0.2);
end;
Until(TimeFromMark(t) > 200);
Writeln('Unable to find ' + Object);
end;

case object of
//'bank': Inc(BankTol);
'flax': Inc(FlaxTol);
'stairs': Inc(StairsTol);
'spinning wheel': Inc(SPinningWheelTol);
end;
SetColorSpeed2Modifiers(0.2, 0.2);
end;

Procedure Stairs(direction: Boolean);
//false is downwards, true is upwards
var
x, y, i, t: Integer;

begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('S');
Repeat
if Find(x, y, 'stairs') and direction = true then
begin
Mouse(x, y, 0, 0, false);
WaitOption('up', 200);
end else
begin
Mouse(x, y, 0, 0, True);
end;

MarkTime(t);
Repeat
if TimeFromMark(t) > 6000 then
Break;
case direction of
true: if FindSymbol(x, y, 'bank') then
Exit;
false: if not FindSymbol(x, y, 'bank') then
Exit;
end;
Until(false);

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
i := i + 1
if i = 5 then
begin
Writeln('Unable to use stairs, Logging Out');
Logout;
TerminateScript;
end;
Until(false)
end;


Procedure InventorySetup;
var
x, y, t, i, j, flax: Integer;

begin
Repeat
Find(x, y, 'deposit');
Mouse(x, y, 0, 0, True);
Find(x, y, 'flax');
Mouse(x, y, 0, 0, False);
WaitOption('All', 200);
MarkTIme(t)
While(not ExistsItem(1)) do
begin
wait(1);
if TimeFromMark(t) > 3000 then
break;
end;

flax := DTMFromString('mbQAAAHicY2VgYDjAxMBwBIiPA/FuKOZmZGDgB2ImIGYBYkEgBvLg2GvpSgY2Aw4GLiAPHTNiwWAAAOoPBho=');
If ExistsItemDTM(flax, x, y) then
begin
FreeDTM(flax);
Exit;
end;

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
i := i + 1
if i = 5 then
begin
FreeDTM(flax);
Writeln('Unable to setup inventory, Logging Out');
Logout;
TerminateScript;
end;
Until(false);
end;

Procedure Bank;
var
x, y, i, t: Integer;

begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('S');
RadialWalk(2413294, 315,45,70,1,-1)
While(IsMoving) do
wait(1);

Repeat
Find(x, y, 'bank');
Mouse(x, y, 0, 0, True);
MarkTIme(t);
Repeat
wait(RandomRange(5,10));
if TimeFromMark(t) > 5000 then
Break;
Until(BankScreen);

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
i := i + 1
if i = 5 then
begin
Writeln('Unable to open bank, Logging Out');
Logout;
TerminateScript;
end;
Until(BankScreen);

InventorySetup;
RadialWalk(8554890, 0,45, 200,1,-1)
While(IsMoving) do
wait(1);
end;

Procedure SpinFlax;
var
x, y, i, t, flax: Integer;

begin
Repeat
Find(x, y, 'spinning wheel')
Mouse(x, y, 0, 0, 1);
MouseBox(249, 401, 346, 459, 3);
If WaitUpText('ake', 5000) then
begin
i := 0;
ClickMouse2(1);
Break;
end;

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
i := i + 1
if i = 5 then
begin
Writeln('Unable to open bank, Logging Out');
Logout;
TerminateScript;
end;
i := 0
until(false);

flax := DTMFromString('mbQAAAHicY2VgYDjAxMBwBIiPA/FuKOZmZGDgB2ImIGYBYkEgBvLg2GvpSgY2Aw4GLiAPHTNiwWAAAOoPBho=');
MarkTime(t);
Repeat
Antiban;
Wait(RandomRange(0, 1500));
uf TimeFromMark(t) > 120000 then
break;
if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
Until(not ExistsItemDTM(flax, x, y))
end;


begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetUpSRL;
BankTol := 5;
SpinningWheelTol := 2;
StairsTol := 5;
FlaxTol := 7
ActivateClient;
DeclarePlayers;
LogInPlayer;
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('S')

Repeat
Bank;
Stairs(false);
SpinFlax;
Stairs(true);
Inc(TripsCompleted);
Until(TripsCompleted = Trips)

Writeln('Jobs Completed');

end.



program new;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}

Const
//Please enter SRLStats password and username.
SRLStats_Username = '';
SRLStats_Password = '';

Var
Loads, Antibans, LoadsCompleted: Integer;

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Loads:= 10000; //How many trips do you wanna do?
Players[0].Name :=''; //Username
Players[0].Pass :=''; //Password
Players[0].pin:= ''; //Bankpin
Players[0].Active:=True;
LoginPlayer;
Loads := 10000 //How many loads do you wish to do before logging out?
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure AntiBan;
begin
case Random(2800) of
1..25: begin
PickUpMouse; SleepAndMoveMouse(200 + Random(3000));
Antibans:= Antibans + 1;
end;
25..50: begin
PickUpMouse;
Antibans:= Antibans + 1;
end;
50..70: begin
BoredHuman;
Antibans:= Antibans + 1;
end;
70..90: begin
RandomMovement;
Antibans:= Antibans + 1;
end;
90..10: begin
RandomRclick
Antibans:= Antibans + 1;
end;
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure Proggy;
var
ph, comit: Integer;

begin
ph:= Round((LoadsCompleted * 28 * 3600) / (GetTimeRunning / 1000));
Writeln('');
Writeln('');
Writeln('Sockz"z Dwarven Stout Buyer V 0.0')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
Writeln('Time running: ' + TimeRunning);
Writeln('Loads done: ' + IntToStr(LoadsCompleted));
Writeln('Dwarven Stouts bought: ' + IntToStr(LoadsCompleted * 28));
Writeln('Dwarven Stouts p/h: ' + IntToStr(ph));
Writeln('Antibans done: ' + IntToStr(Antibans))
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
stats_IncVariable('Items (Bought)', 28);
Stats_Commit;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure Walk(place: string);
var
x, y: Integer;
path: TPointArray;

begin
case place of
'bank': path := [Point(3665, 3164), Point(3664, 3161), Point(3663, 3148), Point(3662, 3139), Point(3658, 3130), Point(3645, 3137), Point(3640, 3144), Point(3630, 3152), Point(3619, 3157), Point(3619, 3166), Point(3619, 3173), Point(3619, 3177), Point(3621, 3181)];
'tavern': path := [Point(3617, 3167), Point(3619, 3166), Point(3622, 3154), Point(3632, 3154), Point(3638, 3148), Point(3647, 3140), Point(3656, 3134), Point(3660, 3134), Point(3663, 3141), Point(3664, 3151), Point(3664, 3158), Point(3664, 3160)];
end;
SPS_WalkPath(path);

While(IsMoving) do
wait(Randomrange(5,10));
end;

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//Credits to Nielsie95 and Sumilion for ACA v2, awesome tool!
function Emily(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.13, 0.53);

if not(FindColorsTolerance(arP, 3587256, MSX1, MSY1, MSX2, MSY2, 6)) then
begin
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);

for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 27.39) and (X <= 47.48) and (Y >= 33.48) and (Y <= 56.08) and (Z >= 8.13) and (Z <= 13.22) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;

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

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

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

if (i = arL + 1) then
begin
Exit;
end;

GetMousePos(fx, fy);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function FindEmily: Boolean;
var
x, y, t: Integer;

begin
result:= true;
if Emily(x, y) then
mouse(x, y, 0, 0, 1)
else
result := false;

if result = true then
begin
MarkTime(t);
Repeat
wait(RandomRange(5, 10));
if TimeFromMark(t) > 1000 then
begin
result:= false;
Exit;
end;
While(isMoving) do
wait(RandomRange(5,10));
Until(ClickCOntinue(false, true));
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure BuyaBeer;
var
i, t: Integer;

begin
MouseSpeed := RandomRange(15,17);
While(not FindEmily) do
begin
i:= i + 1
if i > 4 then
wait(RandomRange(500, 1000));
if i = 5 then
Walk('tavern');
if i = 7 then
mousebox(268, 244, 300, 305, 1);
if i = 10 then
Walk('tavern');
if i = 13 then
begin
Writeln('Unable to find Emily, Logging Out');
Logout;
TerminateScript;
end;
end;
Repeat
Until(ClickContinue(false, true) = false);
MouseBox(234, 425, 296, 440, 1);
MarkTime(t);
Repeat
wait(RandomRange(5, 10));
if TimeFromMark(t) > 2000 then
Exit;
Until(ClickCOntinue(false, true));
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure FillInventory;
var
t, i: Integer;

begin
While(not InvFull) do
begin
BuyaBeer;
AntiBan;
if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure Bank;
var
i: Integer;

begin
While(InvFull) do
begin
if FindNormalRandoms then
if not LoggedIn then
TerminateScript
Walk('bank');
if OpenBankFast('fwb') then
DepositAll;
i := i + 1
if i = 5 then
begin
Writeln('Unable to bank, Logging Out');
Logout;
TerminateScript;
end;
end;
Walk('tavern');
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sockz%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetUpSRL;
SPS_Setup(RUNESCAPE_SURFACE, ['9_7','8_7','8_8','9_8']);
SetupSRLStats(1028, SRLStats_Username, SRLStats_Password);
ActivateClient;
DeclarePlayers;
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('N');
Walk('tavern');
Repeat
FillInventory;
Bank;
LoadsCompleted := LoadsCompleted + 1
Proggy
Until(LoadsCompleted = Loads);
Writeln('~~JOB COMPLETED~~');
LogOut;
TerminaateScript;
end.


Please show us one (or multiple) of your scripts.
program New;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i srl/srl.simba}
//{$i sps/sps.simba}
{$i ObjectDTM\ObjDTMInclude.simba}

Const
//Please enter SRLStats password and username.
SRLStats_Username = '';
SRLStats_Password = '';

Var
TabC, Herb1C, Herb2C, BonesC: Boolean;
TripsDone, Trips, InitialXP, CurrentXP, Antibans: Integer;

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Trips:= 10000; //How many trips do you wanna do?
Players[0].Name :=''; //Username
Players[0].Pass :=''; //Password
Players[0].pin:= ''; //Bankpin
Players[0].Active:=True;
LoginPlayer;
InitialXp:= GetXPBarTotal;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure AntiBan;
begin
case Random(10000) of
1..20: begin
PickUpMouse; SleepAndMoveMouse(200 + Random(3000));
Antibans:= Antibans + 1;
end;
20..40: begin
HoverSkill('Prayer', false);
GameTab(tab_Inv);
Antibans:= Antibans + 1;
end;
40..60: begin
PickUpMouse;
Antibans:= Antibans + 1;
end;
60..80: begin
BoredHuman;
Antibans:= Antibans + 1;
end;
80..100: begin
RandomMovement;
Antibans:= Antibans + 1;
end;
100..110: begin
RandomRclick
Antibans:= Antibans + 1;
end;
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure Proggy;
var
xpgained, ph, comit: Integer;

begin
CurrentXp:= GetXPBarTotal;
xpgained:= CurrentXp - InitialXp
ph:= Round((xpgained * 3600) / (GetTimeRunning / 1000));
Writeln('');
Writeln('');
Writeln('Sockz"z G Altar V 1.0')
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
Writeln('Time running: ' + TimeRunning);
Writeln('Trips done: ' + IntToStr(TripsDone));
Writeln('EXP gained: ' + IntToStr(xpgained));
Writeln('EXP/H: ' + IntToStr(ph));
Writeln('Antibans done: ' + IntToStr(Antibans))
Writeln('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
comit:= (xpgained - comit);
stats_IncVariable('Prayer EXP (Gained)', comit);
Stats_Commit;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function WalkBank: Boolean;
var
myPath:TPointArray;
x, y: Integer;

begin
if FindSymbol(x, y, 'Water') then
begin
myPath := [Point(4337, 2618), Point(4148, 2573), Point(4089, 2630),
Point(4082, 2792), Point(4348, 2824), Point(4345, 2742),
Point(4181, 2670), Point(4190, 2680), Point(4201, 2683),
Point(4211, 2686)]
//SPS_WalkPath(myPath);
FindNormalRandoms
AntiBan;
Result:= True
end else
begin
Result:= False
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function WalkBank2: Boolean;
var
myPath:TPointArray;
x, y: Integer;

begin
x:= 504;
y:= 342;
if FindObjTPA(x, y, 593476, 7, 1, 10, 10, 50, ['alk here']) then
begin
Mouse(x, y, 4, 4, 1);
wait(1000);
Repeat
wait(1);
Until(not IsMoving);
Result:= True
end else
begin
Result:= False
end;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function HomeScreen: Boolean;
begin
result := findTextTPA(16777215, 20, 239, 270, 279, 289, 'place', upCharsEx, nothing);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function bones: Boolean;
begin
result := IsUpTextMultiCustom(['ffer']);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Function InvCheck: Boolean;
var
tab, herb, check, x, y, i: Integer;

begin
tab:= DTMFromString('mbQAAAHicY2VgYLjGysDwAIpPA/EZIJ7KyMCwCIinQfESIF69ZAlDgI8PGMsonmfISU9nEAHqR8eMWDAYAADxdQ3K');
herb:= DTMFromString('mbQAAAHicY2VgYMhlYmAoBeIcJgg7GYgfM0DwbSB+DsRPgJjbm4eBP00QQmcIMnC5cDNwAcXRMSMWDAYAqc4I/A==');
Herb1C:= False
Herb2C:= False
if FindDTM(tab, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
check:= check + 1;
end else
begin
Writeln('No tabs present, Logging Out');
Logout;
TerminateScript;
end;
if FindDTM(herb, x, y, 601, 216, 644, 247) then
begin
Herb1C:= True
check:= check + 1;
end;
if FindDTM(herb, x, y, 642, 212, 683, 243) then
begin
Herb2C:= True
check:= check + 1;
end;
if InvFull then
check:= check + 1;
If Check = 4 then
Result:= True;
FreeDtm(tab);
FreeDtm(herb);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure TeleBank;
var
x, y, t, i: integer;

begin
Repeat
FindNormalRandoms;
if FindObjTPA(x, y, 7048352, 8, 1, 10, 10, 25, ['mulet']) then

begin
mouse(x, y, 2, 2, 1);
Wait(1400 + RandomRange(200, 300));
Flag;
Antiban;
While(IsMoving) do
begin
wait(1);
end;
FindNPCChatText('dgeville', Clickleft);
end;
MarkTime(t);
Repeat
if WalkBank2 then
Exit;
Until(TimeFromMark(t) > 10000);
Inc(i);
Until(i = 5);
WriteLn('Unable to locate bank, Logging Out');
LogOut;
TerminateScript;
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure OBank;
var
i, t: integer;

begin
Repeat
if (i = 2) then
MouseBox(239, 233, 306, 305, 1);
OpenBankNPC
AntiBan;
FindNormalRandoms;
MarkTime(t);
Repeat
If TimeFromMark(t) > 3500 then
break;
If TimeFromMark(t) > 2500 then
OpenBankNPC ;
Wait(1);
Until(BankScreen);
Inc(i);
if (i = 7) then
begin
WriteLn('Unable to open bank, Logging Out');
Logout;
TerminateScript;
end;
Until(BankScreen);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure CBank;
var
i, t: integer;

begin
Repeat
CloseBank;
AntiBan;
MarkTime(t);
Repeat
If TimeFromMark(t) > 5000 then
break;
Wait(1);
Until(not Bankscreen);
Inc(i);
if (i = 5) then
begin
WriteLn('Unable to close bank, Logging Out');
Logout;
TerminateScript;
end;
Until(not BankScreen);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure Bank;
var
i, t: integer;

begin
Repeat
OBank;
if InvCheck then
Exit;
Wait(RandomRange(500,550));
If Herb1C = False then
begin
If ExistsItem(2) then
begin
InvMouse(2, 1)
Wait(RandomRange(1200,1300));
end;
Withdraw(9, 0, 1);
end;
If Herb2C = False then
begin
If ExistsItem(3) then
begin
InvMouse(3, 1)
Wait(RandomRange(1200,1300));
end ;
Withdraw(9, 0, 1);
end;
Wait(RandomRange(1200,1300));
MouseBankSlot(9, mouse_Right);
WaitOption('All', 200);
CBank;
Wait(RandomRange(750, 1000));
Inc(i);
if (i = 5) then
begin
WriteLn('Unable to withdraw correct items, Logging Out');
Logout;
TerminateScript;
end;
Until(InvCheck);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure TeleHouse;
var
i, t: integer;

begin
Repeat
CBank
InvMouse(1, 1);
MarkTime(t);
FindNormalRandoms;
AntiBan;
Repeat
wait(10);
if TimeFromMark(t) > 7000 then
break;
Until(HomeScreen)
Inc(i);
if (i = 5) then
begin
WriteLn('Unable to find house, Logging Out');
Logout;
TerminateScript;
end;
Until(HomeScreen);
Repeat
wait(10);
Until(not HomeScreen);
Wait(RandomRange(400, 500));
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure ToAltar;
var
x, y, i, door: Integer;

begin
door:= DTMFromString('mbQAAAHicY2VgYGBiZGDgguLfQP4vIPYC4hggtoLiaBAOdmWozghkKE/xZyhN9mMI83di4AeKo2NGLBgMAGenCTc=');
Repeat
FindNormalRandoms;
if FindDTM(door, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 4, 4, true);
Antiban;
Repeat
wait(1)
Until(not FindDTM(door, x, y, MSX1, MSY1, MSX2, MSY2));
Break;
end else
begin
TeleHouse;
Inc(i);
end;
if (i = 5) then
begin
WriteLn('Unable to find door, Logging Out');
Logout;
TerminateScript;
end;
Until(false);
MouseBox(178, 24, 252, 59, 1);
Flag;
wait(RandomRange(400, 500));
Repeat
wait(1);
Until(IsMoving = false);
FreeDTM(door);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure LightBurner1;
var
burner, x, y, i, t: Integer;

begin
burner:= DTMFromString('mbQAAAHicY2VgYGBiZGBgA2J2IP4P5P8D4hogbgDiKiCuhLI/H1Bk8LbQZHA0VAFjXyttBn6gODpmxILBAACEcwky');
Repeat
FindNormalRandoms;
if FindDTM (burner, x, y, 109, 14, 317, 196) then
begin
mouse(x, y, 2, 2, true);
AntiBan;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
Wait(1);
Until(not ExistsItem(2));
end;
if ExistsItem(2) then
Inc(i)
else
Break;
if (i = 4) then
begin
TeleHouse;
ToAltar;
end;
if (i = 7) then
begin
WriteLn('Unable to light burnner 1, Logging Out');
Logout;
TerminateScript;
end;
Until(false);
Wait(RandomRange(600, 700));
Repeat
wait(1);
Until(not IsMoving);
FreeDTM(burner);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure LightBurner2;
var
burner, x, y, i, t, a, b, c, d: Integer;

begin
FindNormalRandoms;
burner:= DTMFromString('mbQAAAHicY2VgYOgB4g4g7gfiPii7CogroLgOiBuAeFWHJIOLiRqDk5Eqg6eFJkOArS4DP1AcHTNiwWAAAK6wCV0=');
a:= 313;
b:= 33;
c:= 513;
d:= 223;
Repeat
if FindDTM (burner, x, y, a, b, c, d) then
begin
mouse(x, y, 2, 2, true);
AntiBan;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
break;
wait(1)
Until(not ExistsItem(3));
end;
if ExistsItem(3) then
Inc(i)
else
Break;
if (i = 4) then
begin
a:= 126
b:= 52
c:= 432
d:= 294
end;
if (i = 7) then
begin
WriteLn('Unable to light burnner 2, Logging Out');
Logout;
TerminateScript;
end;
wait(RandomRange(1000, 1500));
Until(false);
Repeat
wait(1);
Until(not IsMoving);
FreeDTM(burner);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Procedure UseBones;
var
altar, x, y, i, t: Integer;

begin
altar:= DTMFromString('mWAAAAHicY2FgYOhhZmCYB8QLgbgfiKczMjBMBeKFUDxz5gKGmzevMVy7epHh8qXTDCJAPciYEQ2DAAD7XQ53');
Repeat
FindNormalRandoms;
if i > 0 then
wait(RandomRange(6000, 7000));
InvMouse(5, 0);
WaitOption('se', 500);
if FindDTM(altar, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 4, 4, 1)
MouseBox(223, 402, 295, 455, 3);
end else
begin
Inc(i);
end;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
wait(1);
Until(bones);
if bones then
ClickMouse2(1);
if (i = 5) then
begin
WriteLn('Unable to use bones, Logging Out');
Logout;
TerminateScript;
end;
wait(RandomRange(3000, 4000));
Until(not ExistsItem(4));
Repeat
wait(RandomRange(500, 1250));
AntiBan;
FindNormalRandoms;
Until(not ExistsItem(28));
wait(RandomRange(750, 2000));
FreeDTM(altar);
end;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%umad?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
begin
Smart_Server := 86;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetUpSRL;
//SPS_Setup(RUNESCAPE_SURFACE,['10_6','10_7']);
ActivateClient;
DeclarePlayers;
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('N')
SetupSRLStats(996, SRLStats_Username, SRLStats_Password);
Repeat
Bank;
TeleHouse;
ToAltar;
LightBurner1;
LightBurner2;
UseBones;
TeleBank;
TripsDone:= TripsDone + 1
Proggy;
Until(TripsDone = Trips);
LogOut;
Writeln('All trips completed');
end.


Daniel

2012-04-27 10:16:14

From: Sockz
Well I'm from Australia, sydney area if you guys know where that is :P

No, not at all ;) :p

From: Sockz
They pretty much teach us how to program without doing any programming.

Too right.

Also, can you please tell me from this thread, which boxes from the "script" section you check?

Sockz

2012-04-27 10:22:34

From: Daniel
No, not at all ;) :p


Too right.


Its still somewhat helpful.

Is it a majority vote thing? 2 no votes, :/ off too a bad start :P

Criticism is always nice :D… as long as its helpful.

Sin

2012-04-27 10:27:43


a:= 313; b:= 33; c:= 513; d:= 223;

I don't quite understand why you're declaring that as a variable.. It takes up more memory and you're just having to type out more things………




Procedure UseBones;
var
altar, x, y, i, t: Integer;

begin
altar:= DTMFromString('mWAAAAHicY2FgYOhhZmCYB8QLgbgfiKczMjBMBeKFUDxz5gKGmzevMVy7epHh8qXTDCJAPciYEQ2DAAD7XQ53');
Repeat
FindNormalRandoms;
if i > 0 then
wait(RandomRange(6000, 7000));
InvMouse(5, 0);
WaitOption('se', 500);
if FindDTM(altar, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 4, 4, 1)
MouseBox(223, 402, 295, 455, 3);
end else
begin
Inc(i);
end;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
wait(1);
Until(bones);
if bones then
ClickMouse2(1);
if (i = 5) then
begin
WriteLn('Unable to use bones, Logging Out');
Logout;
TerminateScript;
end;
wait(RandomRange(3000, 4000));
Until(not ExistsItem(4));
Repeat
wait(RandomRange(500, 1250));
AntiBan;
FindNormalRandoms;
Until(not ExistsItem(28));
wait(RandomRange(750, 2000));
FreeDTM(altar);
end;

As I said in your thread, i'm still surprised it finds the Altar at all, you're not using FindDTMRotated, which means it won't find it always.


Procedure LightBurner1;
var
burner, x, y, i, t: Integer;

begin
burner:= DTMFromString('mbQAAAHicY2VgYGBiZGBgA2J2IP4P5P8D4hogbgDiKiCuhLI/H1Bk8LbQZHA0VAFjXyttBn6gODpmxILBAACEcwky');
Repeat
FindNormalRandoms;
if FindDTM (burner, x, y, 109, 14, 317, 196) then
begin
mouse(x, y, 2, 2, true);
AntiBan;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
Wait(1);
Until(not ExistsItem(2));
end;
if ExistsItem(2) then
Inc(i)
else
Break;
if (i = 4) then
begin
TeleHouse;
ToAltar;
end;
if (i = 7) then
begin
WriteLn('Unable to light burnner 1, Logging Out');
Logout;
TerminateScript;
end;
Until(false);
Wait(RandomRange(600, 700));
Repeat
wait(1);
Until(not IsMoving);
FreeDTM(burner);
end;

Your code is really hard to read, you need to work on your standards.

Also, you're not finding Randoms correctly.

It's supposed to be

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;

That'll prevent the script from relogging in if it logs out in a random.

Sockz

2012-04-27 10:34:42

From: Sin

a:= 313; b:= 33; c:= 513; d:= 223;

I don't quite understand why you're declaring that as a variable.. It takes up more memory and you're just having to type out more things………




Procedure UseBones;
var
altar, x, y, i, t: Integer;

begin
altar:= DTMFromString('mWAAAAHicY2FgYOhhZmCYB8QLgbgfiKczMjBMBeKFUDxz5gKGmzevMVy7epHh8qXTDCJAPciYEQ2DAAD7XQ53');
Repeat
FindNormalRandoms;
if i > 0 then
wait(RandomRange(6000, 7000));
InvMouse(5, 0);
WaitOption('se', 500);
if FindDTM(altar, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 4, 4, 1)
MouseBox(223, 402, 295, 455, 3);
end else
begin
Inc(i);
end;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
wait(1);
Until(bones);
if bones then
ClickMouse2(1);
if (i = 5) then
begin
WriteLn('Unable to use bones, Logging Out');
Logout;
TerminateScript;
end;
wait(RandomRange(3000, 4000));
Until(not ExistsItem(4));
Repeat
wait(RandomRange(500, 1250));
AntiBan;
FindNormalRandoms;
Until(not ExistsItem(28));
wait(RandomRange(750, 2000));
FreeDTM(altar);
end;

As I said in your thread, i'm still surprised it finds the Altar at all, you're not using FindDTMRotated, which means it won't find it always.


Procedure LightBurner1;
var
burner, x, y, i, t: Integer;

begin
burner:= DTMFromString('mbQAAAHicY2VgYGBiZGBgA2J2IP4P5P8D4hogbgDiKiCuhLI/H1Bk8LbQZHA0VAFjXyttBn6gODpmxILBAACEcwky');
Repeat
FindNormalRandoms;
if FindDTM (burner, x, y, 109, 14, 317, 196) then
begin
mouse(x, y, 2, 2, true);
AntiBan;
MarkTime(t);
Repeat
if TimeFromMark(t) > 5000 then
Break;
Wait(1);
Until(not ExistsItem(2));
end;
if ExistsItem(2) then
Inc(i)
else
Break;
if (i = 4) then
begin
TeleHouse;
ToAltar;
end;
if (i = 7) then
begin
WriteLn('Unable to light burnner 1, Logging Out');
Logout;
TerminateScript;
end;
Until(false);
Wait(RandomRange(600, 700));
Repeat
wait(1);
Until(not IsMoving);
FreeDTM(burner);
end;

Your code is really hard to read, you need to work on your standards.

Also, you're not finding Randoms correctly.

It's supposed to be

if FindNormalRandoms then
if not LoggedIn then
TerminateScript;

That'll prevent the script from relogging in if it logs out in a random.


I declare the variables because I give them different values later on for which area on the screen to search if it can't find the burner.

Funnily enough nobody has complained about finding the altar, just the burners :p

Thankyou for the random help too, I wasn't to sure about that one.

Also I knew standards were bad in that script so I fixed them up for the latest script I made, it is below the altar script, perhaps I might switch them around :P

Thanks Sin for the feedback!

Sin

2012-04-27 10:35:45

From: Sockz
I declare the variables because I give them different values later on for which area on the screen to search if it can't find the burner.

Funnily enough nobody has complained about finding the altar, just the burners :p

Thankyou for the random help too, I wasn't to sure about that one.

Also I knew standards were bad in that script so I fixed them up for the latest script I made, it is below the altar script, perhaps I might switch them around :P

Thanks Sin for the feedback!


Ah okay.
But you're saving memory + time if you type that straight away into the FindDTM procedure :p
Also, you should look into TPAs, they work amazingly in situations like this.

Sockz

2012-04-27 10:43:58

From: Sin
Ah okay.
But you're saving memory + time if you type that straight away into the FindDTM procedure :p
Also, you should look into TPAs, they work amazingly in situations like this.


If i type them straight in I can't change them whilst running the script :P

Yeah I used TPAs them to detect the amulet of glory, was pretty amazing. ACA is amazing at detecting the right colors too for the TPA finding function. Anyways my expenditure was way over for that script so I moved on, have a look at my other script , if you get the chance. (just reformatted it then) Tell me if you like the standards better :D

Echo_

2012-04-27 11:29:40

I think you meant CSS in your programming experience section :p

I'll hold my vote for now, I'm leaning towards no

Sockz

2012-04-27 11:40:26

From: Echo_
I think you meant CSS in your programming experience section :p

I'll hold my vote for now, I'm leaning towards no


Wait.. maybe it was now, it was all website stuff, my bad :P

Hehe and you gotta tell me how I can improve or well, it would be very helpful :p thanks but :D

P1nky

2012-04-27 11:41:34

I voted no, seems quite simple to me. Although your on the right track and pretty sure next time you apply, you'd probably improve big time.

Good Luck.

Sockz

2012-04-27 11:49:06

From: P1nky
I voted no, seems quite simple to me. Although your on the right track and pretty sure next time you apply, you'd probably improve big time.

Good Luck.


Seems like I need a bigger problem to tackle… maybe I did apply a little to soon. Thank-you but :D

Abu

2012-04-27 12:04:24

Not too soon at all, in fact you only joined a few days before me, it's just your activity that's letting you down :p

OT: Holding my vote for now.

Sockz

2012-04-27 19:00:25

After I come home from soccer gonna work on a flax picking script in burthrope. See if I can show off my TPA skills Thanks for the feedback guys, especially Sin with his scripting help.

Daniel

2012-04-27 21:11:01

A reiteration of my question from before, which boxes do you think you tick under the "script" section in this thread?

Sockz

2012-04-27 22:19:04

From: Daniel
A reiteration of my question from before, which boxes do you think you tick under the "script" section in this thread?


Sorry I didn't even see that, I mustv'e thought it was part of your signature.

Understandable scripting standards (is your script easy to read?) TICK (if you read my 2nd script which I took feedback for scripting standards from my first)
Use of TPAs (TPointArrays) I used one :p

Custom object finding (that means using NO FindObj* or ACA, make up your own!) CROSS

Use of auto-colouring (NO ACA) CROSS

Walking (try not to use SPS, but instead try TPA walking/use RadialWalk) I used SPS and have a walking part in my gilded altar script which isn't sps :p

Local variables TICK

Loops (repeat..Until, while..do and for..to..do) TICK

Arrays CROSS

Case statements TICK

Randomisation (i.e. use Wait(200 + Random(300)) instead of just Wait(200)) TICK

Backups/fail safes (in case something goes wrong, do what?) TICK

Anti-randoms TICK

A script greater than 300 lines TICK

And for the things not required but nice I have all of them except multiplayer.

Do you reckon I answered right? Honestly sorry, The two guides I read for application were no where near as detailed as yours. To be honest I didn't even see your guide :/

However I now know what to work on exactly and I'll see if I can get a few more of this checklist completed for this application and if not there can always be next time :D Hey I know its a big favour but in the future if it comes to it would you mind having a check over my script to make sure I've got these things?

Thanks Daniel :D

cause

2012-04-28 12:13:37

Sorry the scripts are a bit too simple IMO

nielsie95

2012-05-06 11:39:06

Looks like you're not getting in this time.
You may try again in two weeks.