SRL Archive - Archive

westkevin12 - SRL Member Application


westkevin12

2014-05-05 23:35:23

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


Are you affilated in anyway with Jagex LTD?
no

Were you Referred to SRL?



What is your general programming knowledge?
pascal


Are you a member of any other communities?
extremevisiongaming.com
teamXvG


Tell us about yourself…
From: westkevin12
I started playing runescape when I was 11 and fell in love with the game and first tried my hand at making scripts in scar a few years later and was amazed at all the possibilities that could be created with words on a screen. I continued to play rs on my main acc and mainly made scripts with a side account for fun nothing too impressive. I don't remember what year but I later discoverd that simba was the new scar and setup my pc with simba to make new scripts with the new srl. a little more than a year ago became too busey over the summer with work and and my call of duty team that I quit playing and scripting for rs came back after the summer had ended to find that my main acc had been hacked and was perm banned for gold farming but my acc I used to write scripts was still golden so got alot more involved with writing scripts and posting them on the forum for osr since at the time there were not many to choose from in the osr section. now I'm wanting to take the next step and become more involved with srl and learn more scripting possibilities.



Please show us one (or multiple) of your scripts.
program westkevin12yanilironminerV2;
{$DEFINE SMART8}
{$i srl-osr/srl.simba}
{$I SRL-OSR/SRL/misc/SmartGraphics.Simba}
{$I SRL-OSR/SRL/Reflection/Reflection.simba}

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'here'; //username
Players[0].Pass := 'here'; //password
Players[0].Nick := 'here'; //nickname
Players[0].Active := True;
end;

const
MaxTime = 60; //enter time in minutes you want to run script

var
x, y: integer;
inbank: integer;
BUinbank: integer;
inpit: integer;
BUinpit: integer;
ironSpot: integer;
ironore: integer;
BUironore: integer;
XPGain, LoadsDone, TimeGone, IronOre2: integer;
MaxTimeMS, TotalTimeRunning, XPPerHour, LoadsPerHour, OrePerHour: integer;

procedure LoadDTM;
begin
inbank := DTMFromString('mbQAAAHicY2VgYDjLwsCwGYgnAfFbIL4BxAVA8RAgzgbicCDuBeL5U6YwFAQaw7F7tgUDF1AcHTNiwWAAAGJVC8g=');
BUinbank := DTMFromString('mggAAAHicY2NgYGhiYmBoBuIuIK6E0nVAHA6U84biMCCOAuIEIJ7R18vw9i0Dw58/TAyNlRVgPogWAcphw4w4MAQAAOQ1D7w=');
inpit := DTMFromString('mggAAAHicY2NgYIhiYmAIAuJYII4H4kIgDgRiP6CcLxB7AHESA4QfAcT15QoMNnp6YGwmy8AQ5uHK0FytwCAClMOGGXFgCAAA/I0JQA==');
BUinpit := DTMFromString('mlwAAAHicY2dgYIhiYmAIAeJoII4DYk8gLgJieyAOBMr7ArErECcCcQ4Q+wOxFxAX1ckzhHuHMBSmZjMEWkkxfPj6AcwHYRGgPC7MiAdDAQD+mA3/');
ironSpot := DTMFromString('78DA63BCCDCCC07095010C9821144365BB32C' + '37F20CD08E5335E02CA5C425563E3E2C1A08CACE603A639186A18580' + '8ABF90394398B5F0D009BDF0DAF');
ironore := DTMFromString('mlwAAAHicY2dgYJBhZmAQB2IxZghbCYj1gVgTiH8B5RkZGRi+AOmPQMwGZDMzQtg+ekoMHjryDBoSggyWSlJgdoCBCoOzhiyDCFAeF2bEg6EAAGMdCSA=');
BUironore := DTMFromString('mggAAAHicY2NgYHgCxB+A+CsQPwPiu1A8FYi7gXgmEC8E4glQdrCxGhgHGKgweOjIMyiJ8oJpEaAcNsyIA0MAALg1DNc=');
end;

procedure FreeAllDTMs;
begin
FreeDtm(inbank);
FreeDtm(BUinbank);
FreeDtm(inpit);
FreeDtm(BUinpit);
FreeDtm(ironSpot);
FreeDtm(ironore);
FreeDtm(BUironore);
writeln('All DTMs have been freed.');
writeln('ThankYou for useing Westkevin12`s Yanil Iron Banker version 2!');
writeln('please post any bugs you may have found.');
end;

procedure OpenMyBank;
var
MyTPA: TPointArray;
MMTPA: TPoint;
MyATPA: T2DPointarray;
x, y, CTS, TPAL, attempts, i: Integer;
begin
wait(3000);
MakeCompass('E');
setAngle(0);
findnormalrandoms;
repeat
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.56);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 6587538, MSx1, MSy1, MSx2, MSy2, 7);
ColorToleranceSpeed(CTS);
if Length(MyTPA) = 0 then
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.11, 0.42);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 5993086, MSx1, MSy1, MSx2, MSy2, 5);
ColorToleranceSpeed(CTS);
end;
SMART_DrawDots(MyTPA);
MyATPA := tpatoatpaex(mytpa, 18, 9);
TPAL := High(MyATPA);
for i := Tpal downto 0 do
MMTPA := MiddleTPA(MyATPA[i]);
MMouse(MMTPA.x, MMTPA.y, 0, 0);
(IsUpTextMultiCustom(['ank', 'boo'])) ClickMouse2(Mouse_Left);
while (isMoving) do
wait(600);
end;
until (BankScreen) or (PinScreen) or (attempts > 10);
if (Attempts > 10) then
WriteLn('could not find the banker')
end;

procedure DepositOre;
begin
if BankScreen then
begin
Deposit(2, 28, true);
wait(300);
CloseBank;
end;
end;

function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;
var
i, x, y, rx, ry: Integer;
TPA: TPointArray;
begin
if not LoggedIn then
Exit;
FindNormalRandoms;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
SortTPAFrom(TPA, SortFrom);
for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;
rx := RandomRange( - 3, 3);
ry := RandomRange( - 3, 3);
Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(200 + Random(500));
Result := True;
Break;
end;
end;

procedure GetIronSpot;
var
aFound: Extended;
begin
if FindDTMRotatedAlternating(ironSpot, x, y, 560, 12, 720, 156, - 15, 15, 2, aFound) then
begin
mmouse(x, y, 0, 0);
clickmouse2(MOUSE_LEFT);
wait(2500);
end;
end;

procedure WalkToPit;
begin
writeln('walking to the pit');
R_WalkPath([Point(2613, 3092), Point(2610, 3093), Point(2607, 3093), Point(2606, 3097), Point(2609, 3100), Point(2612, 3102), Point(2616, 3105), Point(2619, 3109), Point(2620, 3113), Point(2621, 3117), Point(2623, 3121), Point(2625, 3125), Point(2625, 3129), Point(2625, 3133), Point(2626, 3137), Point(2627, 3141)]);
writeln('getting Iron spot');
end;

function findtheiron(x, y: Integer): Boolean;
var
MyTPA: TPointArray;
MMTPA: TPoint;
MyATPA: T2DPointarray;
TPAL, CTS, i: Integer;
PBox: TBox;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.17, 0.75);
FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 1450296, MSx1, MSy1, MSx2, MSy2, 9);
ColorToleranceSpeed(CTS);
if Length(MyTPA) = 0 then
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.08, 0.30);
FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 2108489, MSx1, MSy1, MSx2, MSy2, 7);
ColorToleranceSpeed(CTS);
end;
SMART_DrawDots(MyTPA);
MyATPA := tpatoatpaex(mytpa, 40, 40);
TPAL := High(MyATPA);
for i := TPAL downto 0 do
MMTPA := MiddleTPA(MyATPA[i]);
MMouse(MMTPA.x, MMTPA.y, 6, 6);
if (IsUpTextMultiCustom(['ine', 'roc'])) then
begin
result := true;
ClickMouse2(Mouse_Left);
end;
Exit;
end;

procedure WalkToBankDDTM;
begin
R_WalkPath([Point(2627, 3141), Point(2626, 3137), Point(2625, 3133), Point(2625, 3129), Point(2625, 3125), Point(2623, 3121), Point(2621, 3117), Point(2620, 3113), Point(2619, 3109), Point(2616, 3105), Point(2612, 3102), Point(2609, 3100), Point(2606, 3097), Point(2607, 3093), Point(2610, 3093), Point(2613, 3092)]);
writeln('found the bank')
end;

procedure mineloop;
var
PBox: TBox;
x, y: integer;
begin
makecompass('E');
R_FindNormalRandoms;
PBox := IntToBox(206, 137, 309, 230);
repeat
findtheiron(x, y);
while (isMoving) do
wait(50);
while (AveragePixelShift(PBox, 250, 500) > 300) do
wait(170);
until invfull;
Incex(IronOre2, 27);
end;

procedure Proggy;
begin
TotalTimeRunning := (GetTimeRunning / 60000);
TimeGone := (GetTimeRunning / 1000);
XPGain := ((IronOre2) * 35);
XPPerhour := (3600 * (XPGain)) / ((TimeGone));
LoadsPerhour := (3600 * (LoadsDone)) / ((TimeGone));
OrePerHour := (3600 * (IronOre2)) / ((TimeGone));
Writeln('WestKevin12`s Yanil Iron Banker V2.0');
Writeln('TimeRunning: ' + IntToStr(TotalTimeRunning) + ' minutes |Loads: ' + IntToStr(LoadsDone));
Writeln('Ore Per Hour: ' + IntToStr(OrePerHour) + ' |Total Ore: ' + IntToStr(IronOre2));
Writeln('XP Per Hour: ' + IntToStr(XPPerHour) + ' |Total XP: ' + IntToStr(XPGain));
end;

procedure mainloop;
begin
MaxTimeMS := ((MaxTime) * 60000);
repeat
walktopit;
proggy;
mineloop;
proggy;
WalkToBankDDTM;
wait(100);
OpenMyBank;
while (ismoving) do
wait(200);
Wait(2000 + random(300));
DepositOre;
Inc(LoadsDone) if (MaxTimeMS < GetTimeRunning) then
Exit;
until False
end;

begin
DeclarePlayers;
SetupSRL;
SetupReflection;
LoadDTM;
Addonterminate('FreeAllDTMs');
ClearDebug;
writeln('westkevin12`s yanil Iron Banker V2.0');
if not LoggedIn then
LoginPlayer;
wait(5000);
OpenMyBank;
wait(2000);
DepositOre;
mainloop;
Writeln('Thankyou for using westkevin12s Yanil Iron Miner version 2!');
Writeln('logging out');
Logout;
TerminateScript;
end.

NKN

2014-05-06 06:56:38

I'm going to have to vote no on this one.


First off, you use little failsafes before moving onto the next section.
Second, you use a lot of reflection. While it's great that you use this, when applying, you should use it as a backup and focus on the SRL Include/Color methods.

I'm going to school so I can't do a complete in depth analysis but that's the gist of it.

Hoodz

2014-05-06 07:15:48

From: NKN

Second, you use a lot of reflection.


disagree, most of his script is using color, he only uses reflection for xp tracking and walking (quickly scanned the script).


but for you westkevin, im not sure what to vote yet.. ill edit this post asap ;)

riwu

2014-05-06 10:46:38


repeat
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.56);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 6587538, MSx1, MSy1, MSx2, MSy2, 7);
ColorToleranceSpeed(CTS);
if Length(MyTPA) = 0 then
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.11, 0.42);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 5993086, MSx1, MSy1, MSx2, MSy2, 5);
ColorToleranceSpeed(CTS);
end;
SMART_DrawDots(MyTPA);
MyATPA := tpatoatpaex(mytpa, 18, 9);
TPAL := High(MyATPA);
for i := Tpal downto 0 do
MMTPA := MiddleTPA(MyATPA[i]);
MMouse(MMTPA.x, MMTPA.y, 0, 0);
(IsUpTextMultiCustom(['ank', 'boo'])) ClickMouse2(Mouse_Left);
while (isMoving) do
wait(600);
end;
until (BankScreen) or (PinScreen) or (attempts > 10);
The failsafe for 'if Length(MyTPA) = 0 then' is not logical (it does not check for length again etc), should be 'continue()' (and a wait() perhaps)
There should be a check in the for loop so that it only continues if right click option invalid. You are simply taking the first point currently.


for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;
rx := RandomRange( - 3, 3);
ry := RandomRange( - 3, 3);
Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(200 + Random(500));
Result := True;
Break;
end;
The for loop doesnt achieve anything if it's 100% breaking at first iteration.

Have to vote no due to your lack of understanding of TPAs and for loops :(
Read more tuts on them and you will make it soon!

westkevin12

2014-05-06 20:06:37

From: riwu

repeat
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.56);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 6587538, MSx1, MSy1, MSx2, MSy2, 7);
ColorToleranceSpeed(CTS);
if Length(MyTPA) = 0 then
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.11, 0.42);
Inc(attempts) FindColorsSpiralTolerance(MSCx, MSCy, MyTPA, 5993086, MSx1, MSy1, MSx2, MSy2, 5);
ColorToleranceSpeed(CTS);
end;
SMART_DrawDots(MyTPA);
MyATPA := tpatoatpaex(mytpa, 18, 9);
TPAL := High(MyATPA);
for i := Tpal downto 0 do
MMTPA := MiddleTPA(MyATPA[i]);
MMouse(MMTPA.x, MMTPA.y, 0, 0);
(IsUpTextMultiCustom(['ank', 'boo'])) ClickMouse2(Mouse_Left);
while (isMoving) do
wait(600);
end;
until (BankScreen) or (PinScreen) or (attempts > 10);
The failsafe for 'if Length(MyTPA) = 0 then' is not logical (it does not check for length again etc), should be 'continue()' (and a wait() perhaps)
There should be a check in the for loop so that it only continues if right click option invalid. You are simply taking the first point currently.


for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;
rx := RandomRange( - 3, 3);
ry := RandomRange( - 3, 3);
Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(200 + Random(500));
Result := True;
Break;
end;
The for loop doesnt achieve anything if it's 100% breaking at first iteration.

Have to vote no due to your lack of understanding of TPAs and for loops :(
Read more tuts on them and you will make it soon!

thanks for the feedback. will take your advice and get more of an understanding for tpas and for loops.

Wetish

2014-05-06 21:19:35

You only have 4 recent posts. Activity on the forum matters. This rank isn't just to show your ability at programming. :(

The Mayor

2014-05-08 05:47:04

Nice attempt, although there are a few small errors (some of which are pointed out above). In this snippet, what happens if there are no iron rocks on screen?

repeat
findtheiron(x, y);
while (isMoving) do
wait(50);
while (AveragePixelShift(PBox, 250, 500) > 300) do
wait(170);
until invfull;

It will get stuck in that loop until you manually stop the script. If those things were fixed, and you were a bit more active, it would be a yes.

westkevin12

2014-05-09 00:24:19

From: The Mayor
Nice attempt, although there are a few small errors (some of which are pointed out above). In this snippet, what happens if there are no iron rocks on screen?

repeat
findtheiron(x, y);
while (isMoving) do
wait(50);
while (AveragePixelShift(PBox, 250, 500) > 300) do
wait(170);
until invfull;

It will get stuck in that loop until you manually stop the script. If those things were fixed, and you were a bit more active, it would be a yes.


oh crap lol that's a big mistake thanks for pointing it out. I kind of knew I would not get accepted just wanted to see from the srl community what I was lacking to becoming a better scripter. I will work on these things and re apply when I've learned more. and I do plan on being active on the forums again. thanks again for all the input everyone.

samerdl

2014-05-12 11:49:24

Keep working on your script mate, i did not vote since i am still a new member me self but i do hope you re-app in the future.

Just keep working on it, try to expand and learn more and more as much as you can, don't be afraid to ask anything on irc =).

DemiseScythe

2014-05-12 20:47:07

Good job on using DTMs, a lot of the TPA and ATPA code you use is more that I've ever done with color. I would try to add more randomness in the future in functions such as: Mouse(x + rx, y + ry, 0, 0, true); because those 0's will really add up although OSRS probably doesn't have as much antibot as the RS3 version. Glad to see you are trying and keep on practicing and improving. Hopefully the next time you apply you use all the feedback on this thread and submit a solid script. Best wishes.