SRL Archive - Archive

(s)okkr7 - SRL Member Application


(s)okkr7

2012-09-17 19:24:29

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


Are you affilated in anyway with Jagex LTD?
Nope

Were you Referred to SRL?
GOOGLE


What is your general programming knowledge?
Pascal and Java, little Lape.


Are you a member of any other communities?
None


Tell us about yourself…
From: (s)okkr7
My name is Matt, I live in Iowa, and I love to mess around on my computer in my free time. I'm enrolled in high school as a Junior this year (age 16), and math and computers are my two favorite subjects. To sum everything up; I enjoy helping others, learning, and anything that has to do with computers.



Please show us one (or multiple) of your scripts.
program sApeAgility;
{$DEFINE SMART}
{$i SRL/SRL.simba}
{$i sps\sps.simba}

{________________________________________________________}
{|**___************|*******|****************_________***|}
{|*/***************|***/***|***/********************/***|}
{|*|***************|**/****|**/********************/****|}
{|**\__****____****|\/*****|\/*****|*____*****____/*****|}
{|*****\**/****\***|*\*****|*\*****|/************/******|}
{|*****|**|****|***|**\****|**\****|************/*******|}
{|**___/**\____/***|***\***|***\***|***********/********|}
{|******************************************************|}
{|********| Author : (s)okkr7 || (s)ApeAgility |********|}
{|********| Please Post all suggestions, bugs, |********|}
{|********| and/or probs on the thread, thanks |********|}
{|______________________________________________________|}

Type TFood = record
DTMofFood, ColorFood: Integer;
end;

var
Bars, Slope, Stone, ToStone, Tree, Lap,
ToSwing, tries: integer;

Place: String;

food: TFood;

FoundIt: Extended;

const
NumberOfLaps = 500; //time to do said "loop"
HowManyCharacters = 1;//Multi-player?
StartPlayer = 0; //Starting player

Procedure WhichPlayer;
var
I: Integer;
Begin
NumberOfPlayers(HowManyCharacters);
CurrentPlayer := StartPlayer;
for i := 0 to HowManyCharacters-1 do
Players[i].BoxRewards := ['amp', 'XP', 'ostume'];

With Players[0] Do
Begin
Name := ''; //username.
Pass := ''; //password.
Member := True;
Active := True;
Strings[0] := 'Tuna'; //Which food to use?
End;

{********************************************}
{ Currently Supports the following foods: }
{> Tuna }
{> Lobster }
{> Shark }
{> Rocktail }
{> Summer pies (Parts, halves, and fulls) }
{> Tuna Potato }
{ ~~~~~Eats Pineapples when out of food~~~~~ }
{********************************************}

{********************************************}
{ | Remove brackets for multiplayers | }
{********************************************}

//First bracket below in front of "with"
{With Players[1] Do
Begin
Name := '';
Pass := '';
Member := True;
Active := True;
End;
With Players[2] Do
Begin
Name := '';
Pass := '';
Member := True;
Active := True;
End; } // << Second bracket!
End;
{*********************************************}
{ || Custom DTMs || Author :(s)okkr7 || }
{*********************************************}
Procedure CallIt;
begin
Stone := DTMFromString('mlwAAAHicY2dgYPBhhGAPIHYHYi8g9gfiQCDmAGIWIGYDYi4g5oFidiCOCdZgSIrUZgj1VWNwtFFi0NXgY/CwF2OI8uVhwAcY8WAoAAC7ZQdA');
Bars := DTMFromString('mlwAAAHicY2dgYLBhhGBNINaCYmMgtgLiN0D5+0D8AIjfA/E3IP4BxdPqQhjWTExgyI22ZZjdFA5mr5uUCKbxAUY8GAoAnkASUQ==');
Slope := DTMFromString('mGQAAAHicY2RgYFBhZGD4D6RzkwwYQIARRAAAIF8CJg==');
ToStone := DTMFromString('mlwAAAHicY2dgYDBlZGAwBGJNINYDYmsgdgBiOyDuBOJqIG4B4qlAPAWIu4C4ASQeY8ZQF2/BkO6ry2CmIcGQ5KUN5nek2TDgA4x4MBQAAF8aC90=');
Tree := DTMFromString('mlwAAAHicY2dgYDgBxDeB+DwQnwXiqUC8GoivQ9mngLgPiOuBeAcS9o1SZ/D0EWeIzdZj8IgSZxCTYWGQVuJgkFHkY8AHGPFgKAAA/s0N5g==');
ToSwing := DTMFromString('mggAAAHicY2NgYGhmZGDoBOJ2IK4H4jpGiFgTAwS3AnE7SB0QtwHx/BkzGFLylcB0b3s7Q1KuIsOMiRMZcAFGHBgCANsqDxc=');
end;

Procedure FreeIt;
begin
FreeDTM(Stone);
FreeDTM(Bars);
FreeDTM(Slope);
FreeDTM(ToStone);
FreeDTM(Tree);
end;

{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;

randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;

{********************************************}
{|| Custom Walking Procedure! ||}
{********************************************}
function SPS_WalkLine(Path: TPointArray): boolean;
var
I, H, T, D: integer;
P, MM: TPoint;
begin
H := High(Path);
T := GetSystemTime + 20000 + Random(5000);

while (not Result) and (GetSystemTime < T) do
begin
RunEnergy(20);

P := SPS_GetMyPos;
for I := H downto 0 do
begin
MM.X := MMCX + Path[I].X - P.X;
MM.Y := MMCY + Path[I].Y - P.Y;

D := Distance(MM.X, MM.Y, MMCX, MMCY);

if (D < 10) then
break
else
if (D < 70) then
begin
if (SPS_MultiMouse) then
MultiMouse(MM.X, MM.Y, 25, 3, false)
else
Mouse(MM.X, MM.Y, 5, 5, mouse_Left);

FFlag(Integer(I <> H) * 30);

T := getSystemTime + 20000 + Random(1000);
Break;
end;
end;

Result := (I = H);
end;
end;

{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
procedure BrakeWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, targetArea: extended);
var
veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist: extended;
lastX,lastY,MSP,W,maxStep,D: integer;
sqrt2,sqrt3,sqrt5: extended;
begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);

repeat
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
D := Random((Round(dist)/3));
if (D > 100) then
D := RandomRange(90, 100);
if (D < 5) then
D := RandomRange(5, 8);

maxStep := D;

if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
end;

veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;

if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;

lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;

if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));

W := (Random(100/MSP))*3;
if (W < 5) then
W := 5;
wait(W);
lastdist:= dist;
until(hypot(xs - xe, ys - ye) < 1)

if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MoveMouse(Round(xe), Round(ye));

MouseSpeed := MSP;
end;

{***********************************************}
{|| Credits to Flight for the procedure ||}
{***********************************************}
procedure BrakeMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y: integer;
begin
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(X, Y);
BrakeWindMouse(X, Y, eX, eY, 9, 5, 10.0 / randSpeed, 15.0 / randSpeed, 10.0 * randSpeed);
end;
{***********************************************}
{|| Loads every single type of food you need! ||}
{***********************************************}

Procedure LoadTFood;
begin
case lowercase(Players[CurrentPlayer].Strings[0]) of

'Tuna' : begin
food.DTMofFood := DTMFromString('m1gAAAHicjcyhCoAwGEXhu0XLTKKmic+5YrKIIAiyMBjsQT1BsP4Hvno6SbeXDlzIqGgoeHBix+SkAT3CZ8SMiBULtpS4egNbzujvBd0qCJQ=');
food.ColorFood := 6580085;
end;
'Lobster' : begin
food.DTMofFood := DTMFromString('mFQEAAHicnc0xDkBAAETR2e0dwBk0EiJBQVblBCoa0QhRaDSu5Ix+QqNcP3nNNBNI2qw0YUCPEYt99gMn9teKGbmRalQokCJDgggxSjRo4XB1IW/Wk3/mh083ls4J6g==');
food.ColorFood := 1527969;
end;

'Shark' : begin
food.DTMofFood := DTMFromString('mKgEAAHicnc2xCkBgFIbhc/4LcC0GEQMZZJCyMDEIC7n/1StnsZ6vnu2tLxKRKogU6NBjMC0alMiRmBQZZqXDhAU7TtxYceAym379+PZ1zGtw8E2d/nsA8XsJ+w==');
food.ColorFood := 5729414;
end;

'Rocktail' : begin
food.DTMofFood := DTMFromString('mFQEAAHicnc3BCkBAAITh2b17EiVx4yIpj7QeQZuTUhw4SJ7TX/biuKa+w8xlEkmblRbsOHDjwhn6ihkTRnjURiqQI0WG0rx7gz7o0KKCdwNvNlJ8zA+fPAKzDIA=');
food.ColorFood := 7565008;
end;

'Summer Pie' : begin
food.DTMofFood := DTMFromString('mAAEAAHic42FgYHBkYmCwYILQnkAcAMTeQOwKxA5AbAXEZkBsDMXmjAwMhkCsB8QGQGwBxLZA7ISE7YDYCohNgThVWx5oCxMJmDTASCJGBgA2sgap');
food.ColorFood := 2573673;
end;

'Tuna potato' : begin
food.DTMofFood := DTMFromString('m6wAAAHic42ZgYDjIxMCwB4i3QfFOIN4HxEeB+DQQnwLik0B8BIjFGRkYFIBYFojFgFgQiHmBmB+IBaBiMlA1UR68QNOZiMTEA0YSMBIAAAMOCjs=');
food.ColorFood := 1797249;
end;

end;
end;
{***********************************************}
{|| Your one and only.. Custom Anti-ban! || }
{***********************************************}
procedure AntiBan;
begin
if (not(LoggedIn)) then
Exit;
Writeln('Performing Anti-Ban procedures');
case Random(35) of
0..2: PickUpMouse;
3..5: ExamineInv;
6..8: begin
HoverSkill('agility',false);
Wait(750+Random(1500));
GameTab(Tab_Inv);
end;
9..11: BoredHuman;
12..14: begin
GameTab(RandomRange(tab_Combat, tab_Notes));
Wait(750+Random(1500));
GameTab(Tab_Inv);
end;
15..17: RandomRClick;
18..20: RandomAngle(true);
21..23: RandomMovement;
24..26: begin
HoverSkill('fishing',false);
Wait(1000+Random(2500));
GameTab(Tab_Inv);
end;
27..29: PickUpMouse;
30..33: begin
HoverSkill('strength',false);
Wait(1000+Random(4000));
GameTab(Tab_Inv);
end;
34: begin
case Random(6) of
0: Wait(250 + Random(125));
1: Wait(625 + Random(350));
2: Wait(750 + Random(250));
3: Wait(275 + Random(115));
4: Wait(140 + Random(65));
5: Wait(290 + Random(170));
end;
end;
end;
end;

Function EatPineapple: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06, 0.04);

FindColorsSpiralTolerance(MICX, MICY, TPA, 1403289, MIX1, MIY1, MIX2, MIY2, 14);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);

For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Pineapple', 2000) Then
Begin
WriteLn('Slicing Pineapple');
ClickMouse2(false);
ChooseOption('Slice Pineapple');
Wait(375 + Random(175));
HumanMMouse(187, 468, 7, 7);
WaitUpText('Make All', 2000);
ClickMouse2(true);
end else
If (Not(WaitUpText('Make All', 2000))) then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
repeat
EatPineapple;
until (HPPercent > 80) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;

Procedure CurrentHP;
var
X, Y, PickIt: Integer;
begin
If (HPPercent < 50) then
begin
if FindDTM(Food.DTMofFood, X, Y, MIX1, MIY1, MIX2, MIY2) then
HumanMMouse(X, Y, 4, 4);
ClickMouse2(true);
end else
begin
PickIt := DTMFromString('mbQAAAHicY2VgYJAGYjkobQnEdkB8B4hvAvEDIP4JxMeAWHSCBMP3RSoM+2ulGYratRiaJ+ky8APF0TEjFgwGAALkC6s=');
GetSkillLevel('Constitution');
If (HPPercent < 50) or (InvCount < 5) then
begin
WriteLn('Low Health or inventory low');
if FindDTM(PickIt, x, y, MSX1, MSY1, MSX2, MSY2)then
HumanMMouse(MSCX, MSCY, 3, 3);
ClickMouse2(true);
EatPineapple;
end;
FreeDTM(PickIt);
FreeDTM(Food.DTMofFood);
end;
end;

procedure CustomProggy;
begin
Lap := Lap + 1
WriteLn('[*******************************************************]');
WriteLn('[**************|| (s)okkr7 Ape Atoll ||****************]');
WriteLn('[*******************************************************]');
WriteLn('[**************[' + IntToStr(Lap) + (' Lap(s) Finished!' + ']****************]'));
WriteLn('[********[' + ('Running for ' + (TimeRunning) +']*********]'));
WriteLn('[*******************************************************]');
end;

Procedure WalkStone;
Var
X, Y, tries: Integer;
WalkS: TPointArray;
Begin
Inc(tries);
If not(FindNormalRandoms) then
begin
WalkS := [Point(241, 217), Point(241, 213), Point(243, 209), Point(240, 217), Point(240, 217)];
Repeat
while Sps_WalkLine(WalkS) do Wait (150 + random(250));
until (Not(IsMoving))
If not(SPS_WALKLINE(WalkS)) then
begin
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
writeln('Debug: Not Found');
WalkStone;
end else
If (tries > 5) then
begin
If FindSymbol(X, Y, 'agility') then
Begin
writeln('we found symbol');
HumanMMouse(X,Y,3,3);
ClickMouse2(true);
end else
Writeln('we cant find it');
Logout;
end;
end;
end;
Function ClickRock: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.10, 0.25);

FindColorsSpiralTolerance(226, 172, TPA, 2642524, 145, 155, 239, 190, 5);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);

For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
HumanMMouse(X, Y, 2, 2);
If WaitUpTextMulti(['Jump-to Stepping stone','Jump-to Steppi','-to Stepping st','Stepping stone'], 2000) Then
Begin
WriteLn('Crossing Stone!');
ClickMouse2(True);
Wait(250 + Random (175));
end else
If not WaitUpTextMulti(['Jump-to Stepping stone','Jump-to Steppi','-to Stepping st','Stepping stone'], 2000) Then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
ClickRock;
repeat
While (IsMoving) do AntiBan;
until not(isMoving) or (tries > 5);
If tries > 5 then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;
Function ClimbUp: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.08, 0.09);

FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2903653, MSX1, MSY1, MSX2, MSY2, 14);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);

For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpTextMulti(['Climb Tropical tree','Climb Tropica','Tropical t','opical tree'], 2000) Then
Begin
WriteLn('Climbing tree!');
ClickMouse2(True);
Wait(375 + Random(175));
end else
If not WaitUpTextMulti(['Climb Tropical tree','Climb Tropica','Tropical t','opical tree'], 2000) Then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
ClimbUp;
repeat
While (IsMoving) do AntiBan;
until not(IsMoving) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;
Result := True
End;
Procedure Shimmey;
var
X, Y, tries: integer;
begin
if FindDTMRotated(Bars, X, Y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt) then
repeat
Inc(tries);
HumanMMouse(x, y, 2, 2);
Wait(150 + random(50));
until WaitUpText(('wing'), 600) or (tries > 10);
if WaitUpText(('wing'), 600) then
begin
ClickMouse2(True);
While (IsMoving) do (AntiBan)
end else
if (Not(FindDTMRotated(Bars, X, Y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt)))then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
FreeDTM(Bars);
end;
procedure Scale;
var
X, Y: integer;
begin
repeat
Inc(tries);
X := MSCX;
Y := MSCY;
if FindColorSpiralTolerance(X, Y, 3435383, MSX1, MSY1, MSX2, MSY2, 4)then
HumanMMouse(X, Y, 0, 0);
Wait(randomrange (125, 175));
until WaitUpText(('slope'), 600)
if WaitUpText(('slope'), 600) then
begin
ClickMouse2(True);
WriteLn('Debug: Scaling!');
Wait(1250 + random(750));
While (IsMoving) do (AntiBan);
end else
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
If (tries > 10) then
WriteLn('Debug: Failed too many times! :(');
Logout;
end;
Procedure WalkRope;
Var
WalkR: TPointArray;
Begin
Inc(tries);
If not(FindNormalRandoms) then
begin
SetAngle(SRL_ANGLE_HIGH);
WalkR := [Point(184, 224), Point(185, 233), Point(192, 240), Point(204, 248), Point(216, 253), Point(225, 252), Point(225, 249), Point(222, 249), Point(222, 252), Point(225, 254)];
while Sps_WalkLine(WalkR) do Wait(1);
Wait (175 + random (250))
If not(SPS_WALKLINE(WalkR)) then
begin
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
WriteLn('Debug: Not Walking');
WalkRope;
end;
If (tries > 5) then
WriteLn('Debug: Failed Too Many Times :(');
Logout;
end;
end;
Function Swing: Boolean;
Var
CTS, X, Y, I, tries: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
Inc(tries);
If (Not(FindNormalRandoms)) Then
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.05, 0.46);

FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1261629, MSX1, MSY1, MSX2, MSY2, 4);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 20, 20);

For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Swing Rope', 2000) Then
WriteLn('Debug: Swaying!');
Begin
ClickMouse2(True);
Wait(375 + Random(175));
repeat
While (IsMoving) do AntiBan;
until not(IsMoving)
If (Not(WaitUpText('Swing Rope', 2000))) Then
Begin
WriteLn('Debug: Failed RopeSwing');
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
end;
If (tries > 5) then
begin
WriteLn('Debug: Failed too many times :(');
Logout;
end;
end;
Result := True
Break;
End;
End;
Procedure DownToEarth;
Var
X, Y, Tries: Integer;
begin
Inc(Tries);
X := MSCX;
Y := MSCY;
If FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 25) then
HumanMMouse(X, Y, 3, 3);
If WaitUpTextMulti(['Climb-down Tropical tree','Climb-down Tropica','Tropical t',' -down Tropical tree'], 600) Then
WriteLn('Debug: Found Tropical Tree Down');
ClickMouse2(true);
Wait(750 + Random(250));
begin
While (IsMoving) do (Antiban)
end;
If (Not(FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 25))) then
WriteLn('Debug: Failed Second Rope');
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := tries + 1;
end;
Procedure WhereAt;
var
X, Y: Integer;
TPA: TPointArray;
begin
Case (Place) of
'Bottom Rope' :
begin
if FindDTMRotated(ToStone, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At End Rope');
WalkStone;
end;
'Start' :
begin
if FindDTMRotated(Stone, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At Starting Stone');
ClickRock;
end;
'Tree' :
begin
if FindDTMRotated(Tree, X, Y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, FoundIt) then
WriteLn('At Tree');
ClimbUp;
end;
'Bars' :
begin
if FindDTMRotated(Bars, x, y, 180, 0, 420, 340, -Pi, Pi, Pi/30, FoundIt)then
WriteLn('At Bars');
Shimmey;
end;
'Slope' :
begin
if FindColorSpiralTolerance(x, y, 3435383, MSX1, MSY1, MSX2, MSY2, 4)then
WriteLn('At Slope');
Scale;
end;
'Top of Slope' :
begin
if FindDTMRotated(ToSwing, X, Y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, Pi/30, FoundIt)then
WriteLn('At Top of Slope');
WalkRope;
end;
'Swing' :
begin
If FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1261629, MSX1, MSY1, MSX2, MSY2, 4) then
WriteLn('At Swing');
Swing;
end;
'Second Rope' :
begin
If FindColorSpiralTolerance(X, Y, 2507095, MSX1, MSY1, MSX2, MSY2, 55) then
WriteLn('At Second Rope');
DownToEarth;
CurrentHP;
CustomProggy;
end;
end;
end;

begin

SRL_SIXHOURFIX := true;
SMART_FIXSPEED := true;

SetupSRL;
CallIt;
SPS_Setup(RUNESCAPE_OTHER,['apetol']);
If not(LoggedIn) then
begin
WhichPlayer;
LoginPlayer;
end;
ClickNorth(SRL_ANGLE_HIGH);
repeat
WhereAt;
until (NumberOfLaps > Lap) or (Tries > 15) or (Not(LoggedIn))
FreeIt;
end.

NKN

2012-09-17 20:49:32

Standards are all over the place.
You call tmpCTS, but never use it?
Most advanced part of the script is SPS walk function, I'll hold my vote to see what others say.

Nebula

2012-09-17 21:02:27

From: NKN
Most advanced part of the script is SPS walk function

The only difference between his "custom" function and the premade one is a small flag change. (from what I can see)

This is certainly an improvement from your last application but still a bit iffy. I'll vote another day.

Sin

2012-09-17 21:10:44


For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Pineapple', 2000) Then
Begin
WriteLn('Slicing Pineapple');
ClickMouse2(false);
ChooseOption('Slice Pineapple');
Wait(375 + Random(175));
HumanMMouse(187, 468, 7, 7);
WaitUpText('Make All', 2000);
ClickMouse2(true);
end else
If (Not(WaitUpText('Make All', 2000))) then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
repeat
EatPineapple;
until (HPPercent > 80) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;

Tell me whats wrong there :p

NKN

2012-09-17 21:13:42

From: Shay

For I := 0 to High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], X, Y);
HumanMMouse(X, Y, 2, 2);
If WaitUpText('Pineapple', 2000) Then
Begin
WriteLn('Slicing Pineapple');
ClickMouse2(false);
ChooseOption('Slice Pineapple');
Wait(375 + Random(175));
HumanMMouse(187, 468, 7, 7);
WaitUpText('Make All', 2000);
ClickMouse2(true);
end else
If (Not(WaitUpText('Make All', 2000))) then
WriteLn('Failed ' + IntToStr(tries) + ' Times');
Tries := Tries + 1;
repeat
EatPineapple;
until (HPPercent > 80) or (tries > 5);
If (tries > 5) then
WriteLn('Debug: Failed too many times :(');
Logout;
End;

Tell me whats wrong there :p


Just looked through that. Lots of errors there. :( Going to have to vote no.

Le Jingle

2012-09-17 21:43:05

Hello (s)okkr7!

I viewed your first application when it was submitted via you, applying for srl members. I also reviewed your current application and have feedback. My feedback is somewhat simple, yet I think it conveys strong points. I don't elaborate on the Pro's, as much as I do the Con's – because I feel that you've probably learned/know enough of what you are doing well that I need not explain them;

Pro's
  • Nice small use of a record for your food dtm/color info.
  • Loading global dtm's (with the exception of one dtm you repetitively call locally) and freeing them post-script-use. (may also want to use AddOnTerminate(''); for your freeing of global dtm's)
  • A good deal of antiban options. I'd like to think with the upcoming update, that there will be a need for more scripts to have more antiban. (Perhaps account for non options too, instead of doing a case random(35) of, and making 35 antiban options, throw in some chance to not do the antiban, as repetitiveness could be harmful too (for ex. case random(10) of).
  • Overall use of the script seems above normal, meaning you seem to make a certain sense of script writing.


Con's
  • The standards within your script are hard to follow at some points. Formatting neatly is helpful, for me, when trying to read others' scripts. Even using the built in simba parser -> 'format script' that I believe dgby built, is a nice quick and effective extension.
  • String optimization: I found that strings you used, tended to be bulky with capitals. I'd suggest starting out, in cases where you have multiple uptexts, starting with the minimum differentiation string that potentially does not use capitals, then slow build up to the whole phrase (perhaps skipping some redundant phrases). I suggest this because I like efficiency, but I do still admire effectiveness and proper redundancy.
  • Creating an array for your WhereAt procedure. Cases are nice, but hiding the same repetitive if .. then for each one, to me looses the cases' purpose. Instead, I'd suggest creating an array and feeding the value into the if .. then statement (could put into a loop too) to cut down tremendously on code. I consider this a little above and beyond the average srl member, so I will ignore this point in my conclusion.
  • Infinite loops. I really don't like when I see infinite loops as they can cause a script to loose all purpose (you can't bot if your stuck in a loop!). For example, at line
  • Adding some 'if not loggedin then exit' (and possibly 'result := false'), at the start of a function. Reasoning I have for this = we don't want to try to carry out the entirety of a procedure/function if we are not logged in :S (Calling findnormalrandoms will exit that function itself, it won't exit the func/proc's that you made.
  • Using loops; In 'SwingIt' procedure, I saw that you encased a repeat until loop with a while do loop, both of which are for IsMoving. There are other places throughout the script to that I see this 'double loop,' so to speak (ClimbUp, ClickRock – similar occurrences)
  • Using result's effectively. I noticed in several functions that the result is within a loop, yet at the end. So, as far as I know, as long as we get into the for to do loop and make it through a loop (whether what we want happens or not), we'll call our function true. I'd suggest adding the result to the specific point in the for to do loop so that it can be broken out of right after we get the exact result we want.
  • In your procedure, Scale, as well as some proc/func's later throughout the script (I remember CurrentHP off the top of my head), I notice you don't encase begin end's after an if then statement. I bring this up because in the Scale procedure, it will always Logout at the end of the procedure… so calling this could be bad/end your script every time, no?

Aside from the Pro's and Con's I thought up, I think you are on the right road, however my vote is unfortunately, No. (I think that making sure your script works very well is very helpful towards applications – Release your script and get feedback on it too, then apply with it, is something that I was told before applying). You do seem to be active in the community and open to help / take requests – I definitely think you have the potential.

Cheers,
Lj

P1ng

2012-09-18 00:34:42

1. You are helpful on the forums
2. You have been around for a reasonable period of time
3. You are willing to learn and grow as a scripter

These are all positive and community-based traits you have in my opinion.

I have seen some points made above that show you have made some good advancements in your script, but I've also seen some that suggest you may have rushed your second application when a bit more time making improvements and even potentially releasing the script to gain a bit of pre-application feedback may have worked in your favour.

I will be holding my vote until I can do a review of your script myself, but I think you should not necessarily be discounted so quickly, not all of us were great scripters when we applied and certainly I am still learning every day that I open a blank Simba document.

Daniel

2012-09-18 03:29:10

Hi (s)okkr7,

You violated the time limit for resubmitting an application.

You may apply again in two weeks, or any time past that date.

Also, please ensure that you read this tutorial before applying.

Regards,
~ Daniel.