SRL Archive - Archive

shstiger2009 - SRL Member Application


shstiger2009

2011-11-16 16:46:38

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
Not referred


What is your general programming knowledge?
I've learned a lot over the past few weeks I've been here. I also just started college at Louisiana State University (go tigers!) and Computer Science is my Major. I will be getting into the more technical programming classes next semester.


Are you a member of any other communities?
I've got accounts on rsbuddy, sythe, and a few others, but I don't use them as much as here. I look to become a pretty steady poster/member/developer.


Tell us about yourself…
From: shstiger2009
My name is Nick, and like I said I just started college at LSU in computer science. I'm also interested in business, and have taken a few classes in that. I play golf and have had a job for the past 4 years at a golf course.



Please show us one (or multiple) of your scripts.
program HerbCleaner;
{$DEFINE SMART}
{$i SRL/SRL.scar}

var
AntiBanCounter, MainAntiBanCounter: integer;
RandomLevel: string;
{
Setup:
-Have herbs in 1st bank slot
-Have character in the bank
-Fill in setup below and you're done!
}
Const
HowManyCleaned = 1000; //How many herbs do you have to clean?
WhichBank = ''; // Which bank are you in? vwb, veb, feb, fwb, etc. (All SRL banks supported)
Member = true; // Are you a member? True (only member skill)
LampSkillxp = 'Herblore'; // Where you want lamp experience?(from random)
FrequencyOfAntiBan = 3; // How often do you want to perform antiban? after 1, 2, or 3 loads?

procedure DeclarePlayers;
begin
HowManyPlayers := 1; // Total amount, multiple players not supported
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Leave blank if the player doesn't have a bank pin
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];

end;

{ Setup complete. Click run and enjoy!

}

Procedure FreeAllDTMs;
begin
Writeln('Freed all DTMs');
end;

procedure StartSmart;
begin
Smart_Server := (155); // Smart Server
Smart_Members := (Member);
Smart_Signed := True;
Smart_SuperDetail := False;
end;

Procedure CheckLevel;
begin
writeln('Checking herblore level');
Mouse(599, 189, 4, 4, true);
MMouse(591, 337, 8, 8)
wait(2000 + random (1000));
GameTab(25); //inv
end;

Procedure MoveCompassRandom;
begin
writeln('moving compass');
Case Random(4) of
0: MakeCompass('N');
1: MakeCompass('E');
2: MakeCompass('S');
3: MakeCompass('W');
end;
end;

Procedure RandomLevelPicker;
begin
Case Random(15) of
0: RandomLevel := 'mining';
1: RandomLevel := 'attack';
2: RandomLevel := 'defense';
3: RandomLevel := 'strength';
4: RandomLevel := 'range';
5: RandomLevel := 'herblore';
6: RandomLevel := 'magic';
7: RandomLevel := 'runecrafting';
8: RandomLevel := 'smithing';
9: RandomLevel := 'fishing';
10: RandomLevel := 'cooking';
11: RandomLevel := 'crafting';
12: RandomLevel := 'woodcutting';
13: RandomLevel := 'firemaking';
end;
end;

Procedure AntiBan;
begin
Writeln('Performing Anti-ban..');
Case Random(7) of
0: CheckLevel;
1: MMouse(268, 172, 200, 200);
2: MoveCompassRandom;
end;
Writeln('AntiBan Complete');
AntiBanCounter := 0;
MainAntiBanCounter := MainAntiBanCounter + 1;
end;

procedure AntiRandoms; // ---Calls Anti-randoms---
begin
if not LoggedIn then exit;
FindNonInventoryRandoms;
FindNormalRandoms;
LampSkill := (LampSkillxp);
LevelUp;
end;

procedure Clean;
var
Slots: TIntegerArray;
i: integer;
begin
if not LoggedIn then Exit;
Slots := [1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17, 18, 19,
20, 24, 23, 22, 21, 25, 26, 27, 28];
for i := 0 to 27 do
begin
if not ExistsItem(Slots[i]) then Continue;
MouseItem(Slots[i], True);
Inc(Players[CurrentPlayer].Integers[0]);
Wait(450 + random(80));
FindNormalRandoms;
end;
end;

procedure WithdrawHerbs;// ---Withdraws Herbs from open bank---
var
x, y: integer;
begin
if OpenBank(Players[CurrentPlayer].Loc, False, False) then
begin
MouseBox(45, 100, 60, 113, 3);
if WaitUptext('rimy', 4000) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(380 + random(50));
ChooseOption('raw-All');
end;
end;
CloseBank;
Wait(750 + random(200));
end;

procedure WithdrawBank; // ---Opens the bank to withdraw---
var
Tr, Bo: integer;

begin
if BankScreen = false then
begin
AntiRandoms;
writeln('Trying to open bank..');
MakeCompass('N');
SetAngle(true);
OpenBankFast(WhichBank);
end;
repeat
wait(10);
Tr := Tr +1;
until (Tr = 1000) or (BankScreen = true);
if BankScreen = True then
begin
Writeln('opened bank successfully');
wait(1000 + random(1000));
if BankScreen then
begin
Wait(200 + Random(300));
FixBank;
if (not(InvEmpty)) then
DepositAll;
end;
ActivateClient;
WithdrawHerbs;
end else
if BankScreen = False then
begin
Bo := Bo +1;
writeln('Tried opening bank ' + IntToStr(Bo) + ' Times');
if (Bo >= 5) then
begin
writeln('Opening bank failed, logging out.');
//Logout;
NextPlayer(false);
FreeAllDTMs;
TerminateScript;
end;
end;
CloseBank;
end;

procedure SetupScript;
begin
SetupSRL;
DeclarePlayers;
StartSmart;
ActivateClient;
LoginPlayer;
end;

begin;
SetupScript;
repeat
ActivateClient;
WithdrawBank;
Clean;
until AllPlayersInactive;
FreeAllDTMs;
end.

Smarter Child

2011-11-16 16:51:27

Sorry no, your script looks good but it isn't long enough and does not showcase enough SRL knowledge. Also, just would like to point out where you have:
  if BankScreen = False then

That can be easily written as:
  if not BankScreen then //this or ...
if BankScreen then
Any ways, better luck next time

Gu3st...

2011-11-16 16:53:25

"I also just started college at Louisiana State University (go tigers!) and Computer Science is my Major. I will be getting into the more technical programming classes next semester."

Sounds really cool! Looking forward to see more from you :)

It's a yes from me.

Dynamite

2011-11-16 17:09:37

It's a no from me, you show 0 knowledge of colour finding procedures.

-Boom

BraK

2011-11-16 17:13:25

Yes because your going to school in my hometown. Geaux Tigers indeed. 10-0 Baby!

shstiger2009

2011-11-16 17:17:21

From: BraK
Yes because your going to school in my hometown. Geaux Tigers indeed. 10-0 Baby!


Yes! Geaux Tigers and I went to the Alabama game- it was insane!


Thanks so far from the others as well!

cycrosism

2011-11-16 17:21:13

Script is very very simple and you haven't spent much time at SRL. No from me

Echo_

2011-11-16 17:29:34

The antiban procedures you wrote can be found in the SRL library:

procedure HoverSkill(Skill: variant; Click: Boolean);
procedure RandomMovement;

I'ma vote no, but you do have potential. Don't give up!

WT-Fakawi

2011-11-16 18:53:55

Yes.

Kyle Undefined

2011-11-16 19:15:28

I'm sorry, but I'm going to have to vote no. It's a very basic skill and shows no knowledge of SRL.


Procedure FreeAllDTMs;
begin
Writeln('Freed all DTMs');
end;
That procedure is useless, why even have it?


Procedure CheckLevel;
begin
writeln('Checking herblore level');
Mouse(599, 189, 4, 4, true);
MMouse(591, 337, 8, 8)
wait(2000 + random (1000));
GameTab(25); //inv
end;
There's a function in SRL that does this for you. (GetSkillInfo();)


Procedure RandomLevelPicker;
begin
Case Random(15) of
0: RandomLevel := 'mining';
1: RandomLevel := 'attack';
2: RandomLevel := 'defense';
3: RandomLevel := 'strength';
4: RandomLevel := 'range';
5: RandomLevel := 'herblore';
6: RandomLevel := 'magic';
7: RandomLevel := 'runecrafting';
8: RandomLevel := 'smithing';
9: RandomLevel := 'fishing';
10: RandomLevel := 'cooking';
11: RandomLevel := 'crafting';
12: RandomLevel := 'woodcutting';
13: RandomLevel := 'firemaking';
end;
end;
You don't even use that procedure in your script


AntiBanCounter := 0;
MainAntiBanCounter := MainAntiBanCounter + 1;
What's the purpose of that in your AntiBan procedure?


procedure Clean;
var
Slots: TIntegerArray;
i: integer;
begin
if not LoggedIn then Exit;
Slots := [1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17, 18, 19,
20, 24, 23, 22, 21, 25, 26, 27, 28];
for i := 0 to 27 do
begin
if not ExistsItem(Slots[i]) then Continue;
MouseItem(Slots[i], True);
Inc(Players[CurrentPlayer].Integers[0]);
Wait(450 + random(80));
FindNormalRandoms;
end;
end;
This is a very ugly procedure, and sorry for being blunt. This shows no knowledge of SRL. You could of just done this:

procedure Clean;
var
i: integer;
begin
if not LoggedIn then Exit;
for i := 1 to 28 do
begin
if ExistsItem(i) then
begin
InvMouse(i, 1);
Inc(Players[CurrentPlayer].Integers[0]);
Wait(450 + random(80));
FindNormalRandoms;
end;
end;
end;

Your "WidthdrawHerbs" and "WithdrawBank" procedures need work too. You also need to work on your standards, they're pretty bad.

So, it's still a no from me. Your script has no color finding in it, it also is very basic. I love the fact you're learning to script, but it's not members worthy.

I'm sorry, better luck next time. :)

NCDS

2011-11-16 21:13:05

One thing I would like to point out on top of what has already been said; use functions to your advantage!
Example:

procedure WithdrawHerbs;// ---Withdraws Herbs from open bank---
var
x, y: integer;
begin
if OpenBank(Players[CurrentPlayer].Loc, False, False) then
begin
MouseBox(45, 100, 60, 113, 3);
if WaitUptext('rimy', 4000) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(380 + random(50));
ChooseOption('raw-All');
end;
end;
CloseBank;
Wait(750 + random(200));
end;
In the above function even if ChooseOption fails, the script will continue on as if nothing went wrong. Whereas if you checked it as a condition, any problems could be avoided.

It is a fairly simple script, but you show a good basic understanding of programming concepts.

I'm not going to vote right now, but I wanted to give my opinion quick.

Good luck. :)

Flight

2011-11-16 21:31:20

For my suggestions, please refer to this post:
http://villavu.com/forum/showpost.php?p=845860&postcount=4

Anyways, the reason I'd vote no because you're quite new and this is just your first script. On the other hand, I'd vote yes because you're taking Computer Science and I've seen where that takes people here. ;) Also, although you remade the wheel in a few spots in the script the idea still came to you to make those methods. They are already made within SRL, but had they not been then you gave human characteristics to your scripts, and that's what we all aim to do!

Whether you get Member status or not just keep going, dig deep into the include. Continue the learn and blow the other scripts out of the water!

i luffs yeww

2011-11-16 21:36:17

For reasons stated, I'm voting no. You have a few useless (useless as in they don't do anything are you don't use them, they could have a use, you just don't use them) functions/procedures in there, and you're not really utilising SRL.

Better luck next time.

Markus

2011-11-18 14:57:21

MouseBox(45, 100, 60, 113, 3);
Source: WithdrawHerbs

I saw similar code in Wizzup's essminer, and you know what the problem is? If you look at it 3,5 years later, and the script is running just fine besides a few minor details, it's quite annoying to figure out what the problem is, you have no idea where it clicks! I'm guessing it would be the first bankslot, but luckily SRL got a function to make that stuff a bit easier:
WithdrawEx(1, 1, 0, ['rimy']); will withdraw all the grimy herbs :) Your script is now 8 lines shorter and more future proof.

I didn't look that much at the script so I won't vote for now.

footballjds

2011-11-18 16:07:44

no.

one thing i noticed in my 3 second scan, you set the compass north and set the angle to true EVERYTIME you bank. What if the angle is already set to true? then you're holding the up arrow key for 3 seconds before you bank EVERYTIME. :'(