SRL Archive - Archive

ForgotMyName - SRL Member Application


ForgotMyName

2010-10-04 14:33:33

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
I am a third year undergraduate in computer science. I have past experience with personal projects in C, Python, Java, and php/HTML/JS. I have decent knowledge of algorithms, data structures, and program design. (SCAR is my first exposure to Delphi though.)


Are you a member of any other communities?
None related to RS cheating.


Tell us about yourself…
From: ForgotMyName
My personal life is very boring. I don't find much time outside of college schoolwork. What spare time I do end up with usually goes into computer games or programming. I play the board game Go occasionally, but like many of my other past hobbies, it's kind of been abandoned due to time issues.

I was a SRL member way back when. (I remember Kaitnieks.com forums, however long ago that was.) I didn't do much though. I quit when I quit RS (this happened a few times), and I eventually forgot my account details. I didn't do anything ground-breaking back then.



Please show us one (or multiple) of your scripts.
http://villavu.com/forum/showthread.php?t=59333
This is my latest script. A first draft of a kharidian desert granite power miner. Needs some more work done, but I'll get around to that eventually once my class work load settles down. I'm pretty proud of myself for figuring out some of the stuff here.

[url]http://villavu.com/forum/showthread.php?t=55734[/url]
An alcher I made a while back. Not too happy with it. But not too shabby either. Abandoned now.

[url]http://villavu.com/forum/showthread.php?t=55314[/url]
Lunar plank making. Roughly the same time as the alcher. Same idea as the alcher. Neither was too polished. Also abandoned.

For those who prefer an in-line script example
(this is the same granite power miner linked above)
{*******************************************************************************
Granite Miner
by ForgotMyName
public release
revision 1

This script will power mine granite in the kharidian desert quarry.

Setup:
Adjust constants as necessary.
Fill in account info under DeclarePlayers.
Start logged out in the northern part of the desert quarry.
Wear desert clothing.
Either wear an enchanted tiara, or carry 2+ waterskins and humidify runes.
Keep everything you do not want dropped (picks, runes, skins, etc)
within the first 4 rows of your inventory.

Revision history:

1: Initial release.
*******************************************************************************}

program GraniteMiner;
{$i SRL\SRL.scar}

const
NumbOfPlayers = 1; //single player script
StartPlayer = 0; //do not change these lines
RockColor = 6458286; //granite color (careful, no fence/dropped ore colors)
RockTol = 2;
RockRadius = 5;
MouseTol = 2;
BitmapTol = 3;
MineWait = 7000;
UseHumidify = True; //true if humidifying, false if wearing tiara
RunLimit = 120; //time in mins to run

var
HumidifyBitmap: Integer;
ScriptStartMark: Integer;
LastHumidifyMark: Integer;

{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := '---------------'; //Player username.
Pass := '-------------'; //Player password.
Nick := '---'; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
end;

{*******************************************************************************
procedure SetUpScript
By: ForgotMyName
Description: Initialize SRL, script data, etc
*******************************************************************************}
procedure SetUpScript;
begin
HumidifyBitmap := BitmapFromString(15, 8, 'meJxNj7sNgEAMQ0NxC9DSsBVr0DM' +
'EkyBdzQD0t9AJS0+yLLlInJff6O291+fcpOvY51fS6E0xpqqY+MCQ' +
'ipH5NGkB9goGuj1Nt3h1LiLVIsktiuGRD/DAfI35xDmZEqYfATZp3' +
'ilV7klyqUreH/0DU50c');
MarkTime(ScriptStartMark);
MarkTime(LastHumidifyMark);
ActivateClient;
MakeCompass('n');
SetAngle(True);
end;

{*******************************************************************************
procedure TakeDownScript
By: ForgotMyName
Description: Frees resources, cleans up
*******************************************************************************}
procedure TakeDownScript;
begin
FreeBitmap(HumidifyBitmap);
end;

{*******************************************************************************
procedure BailOut
By: ForgotMyName
Description: If we get here, something horrible broke. Log out, terminate.
*******************************************************************************}
procedure BailOut;
begin
Logout;
Logout;
TerminateScript;
end;

{*******************************************************************************
function FindRock: Boolean
By: ForgotMyName
Description: Find a granite rock and mouse over it
Returns: True if rock found and mouse at rock, false if failed
*******************************************************************************}
function FindRock: Boolean;
var RockPoints: TPointArray;
RockSplits: T2DPointArray;
I, H, X1, Y1: Integer;
begin
SetColorToleranceSpeed(1);
if not (FindColorsSpiralTolerance(MSCX, MSCY, RockPoints, RockColor, MSX1, MSY1, MSX2, MSY2, 3)) then
begin
WriteLn('Could not find rock color on mainscreen!');
Result := False;
Exit;
end;
RockSplits := TPAtoATPA(RockPoints, RockRadius);
H := High(RockSplits);
for I := 0 to H do
begin
MiddleTPAEx(RockSplits[I], X1, Y1);
MMouse(X1, Y1, MouseTol, MouseTol);
Wait(50 + Random(100));
if IsUpText('ine') then
begin
Result := True;
Exit;
end;
end;
Result := False;
end;

{*******************************************************************************
function MineRock: Boolean
By: ForgotMyName
Description: Mine a rock, click and wait
Precondition: Mouse is over the rock we want
Returns: True if we believe we succeeded, false otherwise
*******************************************************************************}
function MineRock: Boolean;
var X1, Y1, ClickedTime: Integer;
begin
GetMousePos(X1, Y1);
MMouse(X1, Y1, 0, 0);
Wait(50 + Random(100));
if not IsUpText('ine') then
begin
Result := False;
Exit;
end;
Mouse(X1, Y1, 0, 0, True);
Flag;
Wait(500 + Random(100));
MarkTime(ClickedTime);
repeat
Wait(500 + Random(100));
if (TimeFromMark(ClickedTime) > MineWait) then
begin
Result := False;
Exit;
end;
until InChat('quarry');
Result := True;
Wait(200 + Random(500));
end;

{*******************************************************************************
procedure ClearSpace;
By: ForgotMyName
Description: Clear inventory space, drop everything in last 3 rows
*******************************************************************************}
procedure ClearSpace;
var I: Integer;
begin
for I := 17 to 28 do
begin
DropItem(I);
Wait(100 + Random(100));
end;
Wait(500 + Random(100));
end;

{*******************************************************************************
procedure LunarHumidify;
By: ForgotMyName
Description: Cast humidify
*******************************************************************************}
procedure LunarHumidify;
var X1, Y1: Integer;
begin
GameTab(tab_Magic);
Wait(50 + Random(100));
if not FindBitmapToleranceIn(HumidifyBitmap, X1, Y1, MIX1, MIY1, MIX2, MIY2, BitmapTol) then
begin
Writeln('Could not find Lunar humidify!');
end;
MMouse(X1, Y1, MouseTol, MouseTol);
if not IsUpText('umid') then
begin
Writeln('Humidify uptext missing!');
end;
Mouse(X1, Y1, MouseTol, MouseTol, True);
Wait(6000 + Random(500));
end;

{*******************************************************************************
procedure RecenterMine;
By: ForgotMyName
Description: Walk to mine center, failsafe, then move to north rocks
*******************************************************************************}
procedure RecenterMine;
var X1, Y1: Integer;
begin
MakeCompass('n');
SetAngle(True);
if not FindSymbol(X1, Y1, 'mine') then
begin
Writeln('Could not find mining symbol!');
BailOut;
end;
Mouse(X1, Y1, MouseTol, MouseTol, True);
Flag;
Wait(1000 + Random(500));
//the northern rocks are better
//more availability, less stickage
//todo: better than blind click?
Mouse(630, 60, MouseTol, MouseTol, True);
Flag;
Wait(1000 + Random(500));
end;

{*******************************************************************************
procedure MainLoop;
By: ForgotMyName
Description: Main script loop
*******************************************************************************}
procedure MainLoop;
var Health: String;
MinedNow, ToMine, FindFails: Integer;
Done: Boolean;
begin
repeat
FindNormalRandoms;
GetMMLevels('health', Health);
if (Health = 'Red') or (Health = 'Orange') then
begin
Writeln('Dying!');
BailOut;
end;
if InvCount > 20 then
begin
ClearSpace;
end;
if (UseHumidify and (TimeFromMark(LastHumidifyMark) > (10 * 60000))) then
begin
LunarHumidify;
MarkTime(LastHumidifyMark);
end;
MinedNow := 0;
FindFails := 0;
ToMine := 5 + Random(3);
repeat
FindNormalRandoms;
if FindRock then
begin
MineRock;
end
else begin
FindFails := FindFails + 1;
end;
if FindFails > 3 then
begin
RecenterMine;
end;
MinedNow := MinedNow + 1;
until MinedNow >= ToMine;
until TimeFromMark(ScriptStartMark) > (RunLimit * 60000);
Writeln('Done!');
BailOut;
end;

{... and finally ...}
begin
SetUpSRL;
DeclarePlayers;
LoginPlayer;
SetUpScript;
Wait(2000 + Random(500));
MainLoop;
LogOut;
TakeDownScript;
end.

Gu3st...

2010-10-04 15:11:53

Yes :)

Take a look at DDTMs and walking.
You obviously know the basics ( + some more), but there is room for improvements. Keep up the good work! :)

Naum

2010-10-04 15:33:25

You might want to replace the links with the actual code, to make it easier for other people.

ForgotMyName

2010-10-04 16:55:39

From: Naum
You might want to replace the links with the actual code, to make it easier for other people.


OK. Included one script in-line for those who prefer reading it that way.

Cstrike

2010-10-04 23:37:56

OMG. My browser just crashed and I honestly wrote out hundreds of lines of information for how you can improve. My mood is quite dampened now (don't worry, it won't affect my vote ;)).

To sum up my stuff really quickly:

The third script was too small, don't know why you included it (even if it shows your humble beginnings).

The second script was nice (I made one of those! :)), and I did not judge you on it at all since it is abandoned and considered in the past. It's nice to see how you developed.


For your main script:
var
HumidifyBitmap: Integer;
ScriptStartMark: Integer;
LastHumidifyMark: Integer;
Can be shrunken down to one line by listening them by using a comma

procedure TakeDownScript;
begin
FreeBitmap(HumidifyBitmap);
end;
Since you call this only once, there's no point to having it as a procedure (can just replace TakeDownScript; at the very end with that line there). Only make a procedure if youre going to call it more than once

procedure BailOut;
begin
Logout;
Logout;
TerminateScript;
end;
Why two logouts?


For your FindRock, you don't need to make it a boolean function since you end up having it continue on to one procedure only (which IMO could be even included in the FindRock function. The false could also be removed and rerouted.


In addition, for the FailSafe for the FindRock function, it has no delays (I could be wrong but I checked for them and found none). If theres a quick quirk, your script will ramp from 0 –> 3 in a few seconds or less. I had this problem when I made my runite miner.


For RecenterMine;, try reflection so you don't have to blindwalk. Sometimes we do have no choice and just have to blindwalk though ;)


Also, will there ever be multiplayer support? When applying you should whip up a script to show you know multiplayer, DDTM's…etc


Look out for quirky useless code:
  GetMousePos(X1, Y1);
MMouse(X1, Y1, 0, 0);
If you're already at that mouse position, why call a movemouse function after?


Lastly, if you remove all the commented stuff you added and shrink down procedures/variables, you end up with barely more than 200 lines of code. I'm undecided in my vote and I won't vote yet– but unfortunately your other scripts are so small that I can't add them together to create much more substance.
Not that you need more lines of code. I'd rather see an efficient script than code that fills up the space for the sake of filling up space (and there were times in your script that I did feel that), but give us some meat to chew on. Compared to some others that go through here, this felt like a eating a rabbit for meat versus a cow for meat.

I wish my browser didn't crash :( I lost so much

ForgotMyName

2010-10-05 01:19:11

Thanks for the comments.

I do plan on fixing up the granite miner this weekend, or whenever I stop procrastinating my life. Not really much time at the moment.

Certain quirks reflect how I was thinking at the time, but are definitely out of place in the bigger picture, and I need to fix that. Certain others will probably make more sense when I finish the other parts I wanted.

For example. BailOut calls LogOut twice for historical reasons, because I know the last time I made a failsafe sometimes it missed the first time through. (Honestly, this most likely isn't an issue any more, but my mind still remembers it, so when I was writing, I thought, let me LogOut twice.) TakeDownScript will have more things. SetUpScript needs to be refactored into the actual script setup vs in-game run-once setup. The SetUp and TakeDown bits are definitely a bit empty right now, but I do expect them to be fuller in the next version and warrant their own procedures. I'll probably get around to that eventually. I originally broke the rock finding and rock clicking apart because I expected I'd need to call rock finding multiple times before I could click a rock, but somewhere in that my mind got lost and the result looks a bit strange. (Yea, when you mention it and then I read it aloud, getting and then setting the mouse to the same position does sound funny. Was a great idea at the time.)

I'm probably going to improve recentering. There's a nice patch of rocks on the minimap that may or may not work well as a DTM. I'm pretty certain the north bunch of granite is more favorable to scripting. (No dead end traps, etc.) Not going to learn reflection yet, not for this one small bit. I've got past experience with color, and power mining does seem the sort of thing favorable to color. I'm definitely going to add in break handling, antiban, etc.

I do have a personal stake in this script, in that I do want to use it for my own account, and so the improvements I make are definitely going to be geared towards that goal. (I put in Humidify because I use it. No planned multiplayer, for example. I don't have multiple accounts, let alone multiple members.)

TomTuff

2010-10-05 02:05:46

You display adequate scripting skill and the proper attitude of an SRL member. Yes.

Cstrike

2010-10-05 12:43:40

From: TomTuff
You display adequate scripting skill and the proper attitude of an SRL member. Yes.

What do you define as adequate scripting skills?

Using Nava's guide for example:

1. Attitude √
2. No sloppy standards √
3. If's that should be cases ~ (not enough code to allow author's knowledge of cases to shine, I have no idea if he knows how to use them properly)
4. Inefficient code:
  • Procedures/Functions √ Some are used improperly
  • Loops √ (I believe based on his 2nd code application that he knows how to use loops)
  • Procedure combining X
5. Advanced and non-basic code:
  • TPA's (+ ATPA) √
  • DTM/BMP X/√
  • DDTM X
  • Autocoloring/ColorObjFinding X (though I don't weigh this too heavily in a script if it works pretty good and author can find his way around with colors, which I think he can)
6. Important simple things:
  • Memory leaks √ (Though technically there is one in the script since one procedure calls TerminateScript; and could use "FreeBMP" before terminating it)
  • Multiplayer X
  • Antiban X [His other script has antiban, but why not this script? IMO all scripts should have this embedded at least somewhere]
  • Antirandoms √
  • Crediting √
  • Arrays ~ (ATPA/TPA is used, but there is no example I could find that shows author knowledge of this [ex: just making up a simple array or even a for loop w/ an array]. The integers at the beginning could even be turned into an array)

Before you blindly vote yes, remember that in Your Application, you had everything on this list except DDTM's, and look at how you just *barely* got in.
Voting yes means you approve everything that you've seen this far as members material– yet there are some things in the above list that should draw your attention first and should make you think about the key questions. Do you see where I'm coming from? Am I missing something? Feel free to give me constructive criticism if I'm being too harsh or I'm missing something.


Now before OP gets all depressed at my gloomy analysis: I'm not voting yet.
If you can make some addons or show your knowledge of what is missing above (don't need to fix all the X's, but the list should really be 85% [and/or more] green), combined with your attitude I will be swayed to vote yes for you.

Rich

2010-10-06 14:49:43

From: cstrike
Before you blindly vote yes, remember that in Your Application, you had everything on this list except DDTM's, and look at how you just *barely* got in.
Voting yes means you approve everything that you've seen this far as members material– yet there are some things in the above list that should draw your attention first and should make you think about the key questions. Do you see where I'm coming from?

Now before OP gets all depressed at my gloomy analysis: I'm not voting yet.
If you can make some addons or show your knowledge of what is missing above (don't need to fix all the X's, but the list should really be 85% [and/or more] green), combined with your attitude I will be swayed to vote yes for you.


1) We're not voting on TomTuff's application here. If he wants to vote yes, let him.

2) I've said this before and I'll say it again. I can't stand it when people update their script in their application after advice has been given. We should judge on what they believe to be suffice for SRL Members, and this would be the script if it doesn't get edited. Many people disagree with this, and so be it, but that's my opinion.

Dynamite

2010-10-06 15:09:55

From: Rich
1) We're not voting on TomTuff's application here. If he wants to vote yes, let him.

2) I've said this before and I'll say it again. I can't stand it when people update their script in their application after advice has been given. We should judge on what they believe to be suffice for SRL Members, and this would be the script if it doesn't get edited. Many people disagree with this, and so be it, but that's my opinion.


^ agreed.

No from me.

Reason:

Although you show an good understanding, I personally believe activeness should be voted on aswell, as you are not very active I am voting no.

Rich

2010-10-06 15:31:02

Forgot to say, it's a no from me. Pretty much the reasons already stated.

Cstrike

2010-10-06 16:48:07

From: Rich
1) We're not voting on TomTuff's application here. If he wants to vote yes, let him.


Well obviously were not voting on his application, I brought up the points to create discussion between him and me of what he deems to be appropriate. I never said to him "You're outright wrong vote no now", nor do I believe he should… because I think our applicant here has the ability to possibly become an SRL member in my subjective view [if he shows me additional knowledge requested in the post I made].

In addition, it also brings light to the standards that I subjectively feel a person should have. Maybe he didn't inspect it enough? I don't know that, nor do you.
I've seen threads from the past (when I wasnt a member) where people just look at the code, vote yes and find out later that it doesn't compile or even work. ;)

Based on WT-Fakawi's thread (this also addresses point #2):
http://villavu.com/forum/showthread.php?t=35644
While I am not of the experience that older members have here (which probably include yourself among others), I want to let people in who have the desire to show that they are willing to learn. The stuff I requested does not require him to edit his scripts at all, but make another one to prove to me that he is capable of certain things.

To return to the original topic:
As you can see my position is that I feel the applicant is missing some key things that in my opinion should be present to be an SRL member. To me it seems like adequate scripting may not be totally present to be a member, so when I see a post that says "yes this is adequate scripting", I make a post showing them what I think and encourage though re-evaluation ;)
Of course this doesn't make me right – I view each own post as a subjective opinion. Tomtuff should read mine like a subjective opinion (despite how I say it, sometimes I'm blunt), just like I read yours as a subjective opinion. Your post give me insight into this for example:
2) I've said this before and I'll say it again. I can't stand it when people update their script in their application after advice has been given. We should judge on what they believe to be suffice for SRL Members, and this would be the script if it doesn't get edited. Many people disagree with this, and so be it, but that's my opinion.

Now I sit back and think (because I have not cast my vote yet):
"Am I in the right position?", "Am I going to make my decision worth it?", "What insight with this post does R1ch give me to make an educated vote on this applicant?". Sometimes it even comes down to that 1 vote who decides if they're in or not.

Of course this could open up the debate for 'is it even worth putting this much time into debating over a simple vote? For me, it is :) I enjoy this, and in the process of picking apart things I think it helps people learn. For example, now the applicant can read that list and know if all of those are satisfied, it will be more than obvious a 'yes' will come from me – and because I have quite high standards of what an SRL member should be [though not unreasonable], it will ensure that if the applicant has to apply again he will know "alright I've got to do this to increase my chances" ;)
By me debating with what I don't agree with on TomTuff's quote (albeit not much meat to pick on), it allowed such an in depth analysis of what the OP should have and can do to become better.
I'd say good came from it ;)

ForgotMyName

2010-10-06 18:38:23

From: Rich
1) We're not voting on TomTuff's application here. If he wants to vote yes, let him.

2) I've said this before and I'll say it again. I can't stand it when people update their script in their application after advice has been given. We should judge on what they believe to be suffice for SRL Members, and this would be the script if it doesn't get edited. Many people disagree with this, and so be it, but that's my opinion.


Just to clarify, the script I quoted is the same original version I posted. That is, it hasn't been modified since I originally submitted my app. I put a copy of it in-line because some people don't like links and might find that easier to read. I said I was going to make another version of it soon, but that's not necessarily related to my application. I was going to do that anyway because there are some features I'd like to see in it, just for personal use if nothing else.

I can justify most of the decisions I made while writing the script, just like I was doing earlier in response to cstrike's comments. If there is something particular you find strange, I wouldn't mind if you asked my reasoning for it. I imagine most people will have some parts of my scripting they disagree with, but I definitely have my own reasons as to why I believe I'm not outright wrong. I hope that nobody will downvote me purely on the basis of opinion, because they might disagree with some choices I made.

Gu3st...

2010-10-07 06:27:46

This Appliciant is much more mature than other appliciants, and his skills does show that he knows how to use (some parts of) the SRL include.
He has great possibilities, and he will learn more if he gets in.

Of course, there is some things he does not have, that would make it easier to vote yes, but you can clearly see that this person wants to learn more…

Just my two cents to those who hasn't voted yet.

Heavenguard

2010-10-07 20:01:20

Just dropping by, nice script. For this script I will vote no, only because it does not exactly show that you learned some of the harder lessons in scripting. Learning how to use TPointArrays is one of the biggest challengers, so you have accomplished that to an extent.

The thing that makes this hard for me to put my vote in is the fact that you show that you were able to get your script done, but you didn't really show that you were able to take it to the next level if that makes any sense. If you could take this script and morph it into something that shows us that you were able to accomplish some of the harder tasks in scripting; then this would be one heck of an application script.

By Harder tasks I just mean this:
Walking [DDTM, (A)TPA]
Finding [ATPA]
Array Usage [TIA, TSA, Etc..]
Failsafes

Obviously I wouldn't expect you know how to use ATPA's and TPA's to the fullest extent, or be able to make a script that keeps track of everything using several arrays, but demonstrating a little bit of each means a lot.

TPA usage adds a lot of creativity to scripts, so just using one method of TPA is not ideal. For Walking, add as many failsafes to demonstrate that you not only know how to make a script walk, but that it can successfully do it under any situation.

Lastly, and this is always the hardest task. Try to make the code as sufficient as possible. Make those Loops and Statements ideal. Its always the hardest task to do, and its [from my experience], the last thing that a scripter does. It makes it all the better.

People look for the code :> not the outcome. [Those loops and statements are the key for you!]
—————-
This is unrelated to the vote

I do believe that getting into SRL member's broadens your knowledge, but this is more of a checkpoint then a library to me. Its more of a rank then an acceptance to me. If anyone can really just put a little of everything into there scripts; each thing would show the amount of effort they went through into learning. This is the real reason why I say people should put failsafes [Walking for example], it gives them a chance to focus on a single task and demonstrate different techniques they learned from tut writers/ community members.

ForgotMyName

2010-10-08 00:45:36

From: Heavenguard

People look for the code :> not the outcome. [Those loops and statements are the key for you!]


Probably the most confusing response I've heard so far. My opinion has always been that [mostly talking about coding other than RS scripting here] the end result is the most important goal of a program. Doing what you set out to do, and doing it well, is my measure of success for a program, and things such as elegance, complexity, or insight are pretty secondary.

I've gotten a lot of responses telling me that I am missing some specific SRL feature. But really, I don't see how such a feature would benefit the script I am currently presenting. I believe not every library feature is useful for every situation. (Just imagine, writing a Java program using the entire Standard Library.) What really confuses me is why people are so against me, just because I've decided that I don't expect my program to benefit significantly from feature X, Y, or Z.

Cstrike

2010-10-08 01:17:41

From: ForgotMyName
Probably the most confusing response I've heard so far. My opinion has always been that [mostly talking about coding other than RS scripting here] the end result is the most important goal of a program. Doing what you set out to do, and doing it well, is my measure of success for a program, and things such as elegance, complexity, or insight are pretty secondary.

I've gotten a lot of responses telling me that I am missing some specific SRL feature. But really, I don't see how such a feature would benefit the script I am currently presenting. I believe not every library feature is useful for every situation. (Just imagine, writing a Java program using the entire Standard Library.) What really confuses me is why people are so against me, just because I've decided that I don't expect my program to benefit significantly from feature X, Y, or Z.


Don't think people are against you, that'd be wrong. Were here to give you insight, or request things that we feel applicants need to know before getting membership.

You don't have to inject it into your script, you can easily just make some dummy test script that shows your knowledge of feature XYZ. When I applied with my runite miner, I definitely didn't have multiplayer for it, so I whipped up a powerchopper and included my knowledge of mutliplayer.

Though some of the things Heavenguard said can be used in your script:
  • Walking [DDTM, (A)TPA]
  • - DDTM and/or ATPA is perfect for walking, removes your need for blindwalking which is always dangerous [though sometimes necessary].
  • Finding [ATPA]
  • - ATPA manipulation for failsafes and other goodies could help the core of your script
  • Array Usage [TIA, TSA, Etc..]
  • - Shrinking repetitive variables
  • Failsafes
  • - LunarHumidify; procedure for example could use some more failsafes like a Break; or Exit; into another procedure

Remember that this is an SRL community, so its favorable to use certain SRL functions. I may be wrong here but:
{*******************************************************************************
procedure ClearSpace;
By: ForgotMyName
Description: Clear inventory space, drop everything in last 3 rows
*******************************************************************************}
procedure ClearSpace;
var I: Integer;
begin
for I := 17 to 28 do
begin
DropItem(I);
Wait(100 + Random(100));
end;
Wait(500 + Random(100));
end;
I think there MAY be an SRL include that can do that in one line of code. I may be wrong though.

One quick point before I go sleep, the key in the SRL community is effective standardized code. If it's unreadable or chews up masses of data for no reason, it won't be favored. I agree that a working script is better than a beautiful one that works not the greatest, though unfortunately some users here play RS because it's the kind of game that you can play on a computer that can barely play Doom. Effective code is required.
Even though things like
var
HumidifyBitmap: Integer;
ScriptStartMark: Integer;
LastHumidifyMark: Integer;
Can be shrunken down, and are generally not worth noting– it does give us insight to what you may or may not know.

Dynamite

2010-10-08 13:01:51

From: ForgotMyName
Probably the most confusing response I've heard so far. My opinion has always been that [mostly talking about coding other than RS scripting here] the end result is the most important goal of a program. Doing what you set out to do, and doing it well, is my measure of success for a program, and things such as elegance, complexity, or insight are pretty secondary.

I've gotten a lot of responses telling me that I am missing some specific SRL feature. But really, I don't see how such a feature would benefit the script I am currently presenting. I believe not every library feature is useful for every situation. (Just imagine, writing a Java program using the entire Standard Library.) What really confuses me is why people are so against me, just because I've decided that I don't expect my program to benefit significantly from feature X, Y, or Z.


Yes but just because a "Hello World" script works really well, doesn't mean they should be let in because their script works amazingly.
We judge on your knowledge of scripting and your know how of SRL.

Heavenguard

2010-10-09 11:31:10

From: ForgotMyName
Probably the most confusing response I've heard so far. My opinion has always been that [mostly talking about coding other than RS scripting here] the end result is the most important goal of a program. Doing what you set out to do, and doing it well, is my measure of success for a program, and things such as elegance, complexity, or insight are pretty secondary.

I've gotten a lot of responses telling me that I am missing some specific SRL feature. But really, I don't see how such a feature would benefit the script I am currently presenting. I believe not every library feature is useful for every situation. (Just imagine, writing a Java program using the entire Standard Library.) What really confuses me is why people are so against me, just because I've decided that I don't expect my program to benefit significantly from feature X, Y, or Z.


I Truly do respect your answer. I apologize if my feedback came out negative in any sort of way, i did not mean for it to come out negative. I just want you to understand that, yes, you can make a script and accomplish it; The scripts code however can always be better [Some users -such as myself- no longer play RS, so we really don't test out scripts to see effectiveness first hand, so we look at code to see exactly how it would have worked]. You accomplished this script with great success. I just thought that with better use of the code, it would be more appealing. Not that the code is bad at all! Its very good, but it just does not demonstrate as many things as you know. Not saying that you should use the entire SRL Library, by no reason do I mean that. How about making some of your own functions that can go beyond the SRL Library is what I kinda mean. I apologize again if I sound negative :(, I by no means, mean to be starting with anyone.

Daniel

2010-10-09 20:54:45

Yes.

Dervish

2010-10-10 13:20:57

Its a yes, you show more maturity than most SRL Members (like me ;)).

Good luck.