SRL Archive - Archive

pyroryan - SRL Member Application


pyroryan

2010-02-15 17:38:56

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Decent: Java, VB, HTML, Javascript
Learning: C++, C#, Delphi, ASM
Of course, SCAR lol


Are you a member of any other communities?
Nope


Tell us about yourself…
From: pyroryan
Programming ftw. I like debugging scripts and fixing problems. My scripts always start out terrible and improve as they go along.
I can't learn from tutorials, I learn from other scripts. This is why I want to become an SRL member. That way I can learn more from others scripts (the jr ones basically suck).
I've been trying to learn but its hard without good examples. The only thing I've even started learning from SCAR is through Coh3n's scripts (and borrowed the anti-ban code =) )

Helped Coh3n fix up part of his script.
http://www.villavu.com/forum/showthread.php?p=681627#post681627

if (Players[CurrentPlayer].Booleans[P_EQUIPPED]) then
begin
Wait(RandomRange(100, 300));
Mouse(390 + RandomRange(-10, 10), 300 + RandomRange(-10, 10), 10, 10, True);
Wait(RandomRange(100, 300));
Exit;
end



Please show us one (or multiple) of your scripts.
{==============================================================================]
[ Instructions ]
[==============================================================================]
[ ]
[ 1. Equip fire staff. ]
[ 2. Place item to alch in noted form in the 3rd inventory slot. ]
[ 3. Hide combat, teleport and skill spells. (VERY IMPORTANT) ]
[ 4. Turn off all chat but game. ]
[ 5. Make sure you have enough nature runes in your inventory. ]
[ 6. Post any progress reports and/or bugs! ]
[ 7. Determine whether or not you're using SMART (line 16). ]
[ Created by pyroryan. Major credit to Coh3n for letting me use his script ]
[ as a base. ]
[ ]
[==============================================================================}

program AutoAlch;
{.Include srl\srl\Misc\Smart.scar}
{.Include srl\srl.scar}
{.Include srl\srl\Misc\Debug.scar}

const
// Integers.
TAlchs = 0;
Alchs = 1;
LEVELS = 2;
EXP = 3;
BREAKS = 4;

// Booleans.
TAKE_BREAKS = 0;

// Strings.
LAMP_SKILL = 0;

{ const Mouse Constants;
Description: Constants representing different types mouse clicks. }
const
MOUSE_OPTIONS = 3;
CLICK_LEFT = 1;
CLICK_RIGHT = 2;
HOVER = 3;

{ var Global;
Description: Global variables used throughout the script. }
var
srl_MMTPA: TPointArray;
startLevel: Integer;

{==============================================================================]
[ Setup the script from here to line 77! ]
[==============================================================================}

const
SMART_WORLD = 152; // World to load.
SMART_MEMBERS_WORLD = False; // True = Members world.
SMART_HIGH_DETAIL = False; // True = High detail.
SMART_SIGNED_CLIENT = True; // True = Signed client.

const
RANDOM_SOUND = False; // True = a sound when a random is found.
BREAK_TIME = 10; // How long to break for (in minutes).
// Script will +/- a random 5 minutes.

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

with Players[0] do
begin
Name := 'Username';
Pass := 'Password';
Nick := ''; // 3-4 LOWERCASE letters from your username.
Active := True; // True = use this player.
Integers[TAlchs] := 450; // Total times to alch.
Booleans[TAKE_BREAKS] := True; // True = the script will take breaks.
Strings[LAMP_SKILL] := 'Magic';
BoxRewards := ['amp', 'mote', 'ostume', 'oins', 'unes', 're', 'ems'];
Integers[LEVELS] := 0; //Do not edit this.
end;
end;

{==============================================================================]
[ Don't edit below this ]
[==============================================================================}

{*******************************************************************************
function AC_CircleTPA(cX, cY, r: Integer): TPointArray;
By: Nava2
Description: Creates a TPA of a circle with radius 'r' and center point cX, cY.
*******************************************************************************}
function AC_CircleTPA(cX, cY, r: Integer): TPointArray;
var
i, j, l, tX, tY: Integer;
begin
setLength(Result, 4 * r * r);
l := 2 * r - 1;
tX := cX - r;
tY := cY - r;
for i := 0 to l do
for j := 0 to l do
Result[j + l * i] := Point(tX + i, tY + j);

Result := RemoveDistTPointArray(cX, cY, r, Result, True);
end;

{*******************************************************************************
function AC_ReturnMMTPA: TPointArray;
By: Nava2
Description: Performs AC_CircleTPA for the RS minimap.
*******************************************************************************}
function AC_ReturnMMTPA: TPointArray;
begin
if High(srl_MMTPA) < 0 then
begin
Result := AC_CircleTPA(MMCX, MMCY, (MMX2 - MMX1) div 2);
srl_MMTPA := Result;
end else
Result := srl_MMTPA;
end;

procedure Load_Antiban;
var
i, x, y: Integer;
begin
case Random(40) of

0: begin // Boredhuman without camera movement.
Writeln('Performing Antiban - Boredhuman.');
if not LoggedIn then Exit;
for i := 1 to (1 + Random(5)) do
begin
MMouse(Random(MSX2), Random(MSY2), 0, 0);
if IsUpText('opti') then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
ChooseOption('Examine');
end;
end;
end;

10: begin
Writeln('Performing Antiban - HoverSkill[Random].');
HoverSkill('random', False);
end;

20: begin
Writeln('Performing Antiban - RandomRClick.');
RandomRClick;
end;

30: begin
Writeln('Performing Antiban - HoverSkill[Magic].');
HoverSkill('magic', False);
end;

40: begin
Writeln('Performing Antiban - PickUpMouse.');
PickUpMouse;
end;

end;
end;

procedure Next_Break;
begin
if (not LoggedIn) then
Exit;

begin
Writeln('Taking a ' + IntToStr(BREAK_TIME) + ' minute break.');
Logout;
Wait((BREAK_TIME * 60000) + RandomRange(-300000, 300000));
Writeln('Break over, logging back in.');
LoginPlayer;
end;

with Players[CurrentPlayer] do
Integers[BREAKS] := Integers[BREAKS] + 1;
end;

procedure Find_Randoms;
var
soundStr: String;
begin
if (not LoggedIn) then
Exit;

LampSkill := Lowercase(Players[CurrentPlayer].Strings[LAMP_SKILL]);
Writeln('Scanning for random events...');

if (FindNormalRandoms) then
begin
if (RANDOM_SOUND) then
begin
PlaySound(ScriptPath + 'RandomSound.wav');
soundStr := 'Playing Random Sound.';
end;

Writeln('Found Random! ' + soundStr);
end;

UseRewardBox;
FindLamp(LampSkill);
end;

procedure Setup_Report;
begin
Writeln('[=================================================================]');
Writeln(PadR('[ Auto Alch ', 66) + ']');
Writeln('[=================================================================]');
Writeln('[ ]');

with Players[CurrentPlayer] do
begin
Writeln(PadR('[ Ran For: ' + TimeRunning, 66) + ']');
Writeln(PadR('[ Items Alched: ' + IntToStr(Integers[Alchs]), 66) + ']');
Writeln(PadR('[ Levels Gained: ' + IntToStr(Integers[LEVELS]), 66) + ']');
Writeln(PadR('[ Breaks: ' + IntToStr(Integers[BREAKS]), 66) + ']');
end;
Writeln('[ ]');
Writeln('[=================================================================]');
Writeln('[=================================================================]');
end;

procedure Setup_Player;
begin
LoginPlayer;
SetAngle(True);
startLevel := GetSkillLevel('magic');
Writeln('Current Magic Level: ' + IntToStr(startLevel) + '.');
end;

procedure Setup_Script;
begin
Smart_Server := SMART_WORLD;
Smart_Signed := SMART_SIGNED_CLIENT;
Smart_SuperDetail := SMART_HIGH_DETAIL;

Writeln('Loading, please wait...');
SetupSRL;
ActivateClient;
DeclarePlayers;
Disguise('Items alched: 0');
end;

procedure Alch_items;
var
a,b,r: Integer;
begin
if (not LoggedIn) then
Exit;
begin
a:=0;
r:=0;
b:=RandomRange(40, 50);

repeat
if(GameTab(tab_Magic)) then
begin
Mouse(643+RandomRange(-5,5), 230+RandomRange(-5,5), 3, 3, True);
Wait(RandomRange(100, 200));
Mouse(660+RandomRange(-5,5), 228+RandomRange(-5,5), 3, 3, True);
Wait(RandomRange(1000, 1200));
a:=a+1;
r:=0;

with Players[CurrentPlayer] do
begin
Integers[Alchs] := Integers[Alchs] + 1;
Disguise('Items Alched: ' + IntToStr(Players[CurrentPlayer].Integers[Alchs]));
if (FindNPCChatText('ongrat', Nothing) or FindNPCChatText('dvanced', Nothing) or FindNPCChatText('ulatio', Nothing) or FindNPCChatText('agic', Nothing)) then
begin
Writeln('Magic level gained!');
with Players[CurrentPlayer] do
begin
Integers[Levels] := Integers[Levels] + 1;
end;
end;

if(Integers[Alchs]=Integers[TAlchs]) then
begin
Writeln('Alched desired number of items, exiting.');
Setup_Report;
Logout;
TerminateScript;
end;
end;
end else
begin
Writeln('Can''t find magic tab, possibly in a random!');
Find_Randoms;
r:=r+1;
if (r=5) then
begin
Writeln('Can''t find magic tab or solve random after 5 tries, exiting.');
Setup_Report;
Logout;
TerminateScript;
end;
end;
until(a>b);

Wait(RandomRange(100, 1000));
Find_Randoms;
Load_Antiban;
end;
end;

procedure Setup_MainLoop;
var
sinceLogin: Integer;
begin
Setup_Script;
sinceLogin := 0;
MarkTime(sinceLogin);
Setup_Player;
repeat
Alch_items;

if (Players[CurrentPlayer].Booleans[TAKE_BREAKS]) then
if (TimeFromMark(sinceLogin) >= (60*60000+RandomRange(-300000, 300000))) then
begin
Setup_Report;
Next_Break;
MarkTime(sinceLogin);
end;

until(AllPlayersInactive);
end;

begin
Setup_MainLoop;
end.

Sabzi

2010-02-15 17:47:34

Junior scripts don't suck. And I don't think it's good to say that as many of us got scripts there. Maybe not updated but they are good. I could surely find you some excellent script there to learn from. Most likely outdated ones but that's not the point.
And I don't think we got too many working scripts to be honest. Although, it's easier to find an excellent one, that's true(not that many overall).
I am not going to vote(I just don't like voting) but the chances are low with an alching script I would say. :(

Gu3st...

2010-02-15 18:09:33

Yes, it is a little too simple with an alching script, if you'd added autotalking, more antiban to make it look even more human and stuff like that then I'd vote yes.

So, sorry, it's a no from me :(

Bionicle

2010-02-15 18:24:53

Your script needs some standard fix, I suggest you look up a tutorial on it.
Memb app scripts should include as much as you know from srl/scar. DTMs/bitmaps, TPAs and walking are the three musts of a member app script.
I have not seen you around the fourms, so i can not say anything about your attitude.
Sorry, it's a no from me too :(

pyroryan

2010-02-15 19:13:13

From: bionicle1800
Your script needs some standard fix, I suggest you look up a tutorial on it.
Memb app scripts should include as much as you know from srl/scar. DTMs/bitmaps, TPAs and walking are the three musts of a member app script.
I have not seen you around the fourms, so i can not say anything about your attitude.
Sorry, it's a no from me too :(


Thx for the tip. Working on my fally yew cutter. Just started learning walking. DTM's don't work fine, got any ideas for fast detecting a yew tree from a normal tree? My DTMs don't work very well. Keeps thinking trees are yews and yews are trees (guessing cause color is so darn similar).



From: Sabzi
Junior scripts don't suck. And I don't think it's good to say that as many of us got scripts there. Maybe not updated but they are good. I could surely find you some excellent script there to learn from. Most likely outdated ones but that's not the point.
And I don't think we got too many working scripts to be honest. Although, it's easier to find an excellent one, that's true(not that many overall).
I am not going to vote(I just don't like voting) but the chances are low with an alching script I would say. :(


Draynor Chop N' Bank is a script I'm learning from. Would you consider that decent or got another script that you think I could learn from?

Raskolnikov

2010-02-15 19:45:44

From: bionicle1800
Your script needs some standard fix, I suggest you look up a tutorial on it.
Memb app scripts should include as much as you know from srl/scar. DTMs/bitmaps, TPAs and walking are the three musts of a member app script.
I have not seen you around the fourms, so i can not say anything about your attitude.
Sorry, it's a no from me too :(


Sorry, but TPAs and Walking (unless they changed?) are not musts for a member app script.

DTMs/Bitmaps No
Multiplayer No
Standards Yes

Sorry, it is also too simple, its a no from me.

Do not get discouraged, come back with something that is good, and demonstrates that you know what you are doing. If you use multiplayer, add better finding, and detect if there are runes in the inventory, it would be a yes from me.

Sir R. M8gic1an

2010-02-15 19:55:01

From: Cut em2 it
Sorry, but TPAs and Walking (unless they changed?) are not musts for a member app script.

DTMs/Bitmaps No
Multiplayer No
Standards Yes

Sorry, it is also too simple, its a no from me.

Do not get discouraged, come back with something that is good, and demonstrates that you know what you are doing. If you use multiplayer, add better finding, and detect if there are runes in the inventory, it would be a yes from me.


Uh… There is no "list". It's not what you do, it's why you do it. (And how).

~RM

The Claw

2010-02-16 04:37:15

Ehh……so sick of everyone voting from an abitrary list…really, would 2 lines showing someone knows Bitmaps be of any use AT ALL in an alching script? Would multiplayer? No, and no. Good script, yes from me. Good luck!

Dynamite

2010-02-16 04:41:29

From: The Claw
Ehh……so sick of everyone voting from an abitrary list…really, would 2 lines showing someone knows Bitmaps be of any use AT ALL in an alching script? Would multiplayer? No, and no. Good script, yes from me. Good luck!


I agree with this, but, I still do not believe that this script shows enough knowledge for SRL Member.

Sorry, no from me.

Wanted

2010-02-16 14:11:55

The first thing I noticed was


const
SMART_WORLD = 152; // World to load.
SMART_MEMBERS_WORLD = False; // True = Members world.
SMART_HIGH_DETAIL = False; // True = High detail.
SMART_SIGNED_CLIENT = True; // True = Signed client.

You might not want people to change that stuff as it will cause SRL to fail if High Detial is set to true ect… maybe a good idea to add a '//Don't change this' or something.

The next thing I noticed was your antiban

You use Random(40), and your last cluster uses 40:… note that Random is similar to array indexes as it starts at 0. So when you use Random(40) it could be anywhere from 0 to 39. So it's a good idea to make that "Random(41) of"

Unfortunatly, you do not show anything that suggests you know how to use

Walking
Multiplayer
TPA/ATPAs
Object Finding
DTMs
Bitmaps

I'm going to have to say no, you need to learn more before becomming an SRL member. Try making a script that can find objects, walk, bank, and has multiplayer.

Good luck next time.

Timer

2010-02-16 16:03:13

This looks… stolen?

Blumblebee

2010-02-16 16:14:35

From: The Claw
Ehh……so sick of everyone voting from an abitrary list…really, would 2 lines showing someone knows Bitmaps be of any use AT ALL in an alching script? Would multiplayer? No, and no. Good script, yes from me. Good luck!


still the script uses co-ord clicking and does not show an understanding of any SRL functions, I don't think saying yes in this situation is beneficial as the applicant has much to learn before he should be admitted membership. The list is a guideline for the applicant to follow and usually a nice way of saying no without just blatantly saying its too basic.

I don't enjoy people crossing off things in a list that are required, and if things are missing they say no, but it is a good guideline more for the applicant to see what he needs to create a solid, members-granting script.

Bionicle

2010-02-16 16:15:32

From: Timer
This looks… stolen?


Eh, proof pl0x? :)

MylesMadness

2010-02-16 16:35:47

From: The Claw
Ehh……so sick of everyone voting from an abitrary list…really, would 2 lines showing someone knows Bitmaps be of any use AT ALL in an alching script? Would multiplayer? No, and no. Good script, yes from me. Good luck!
Well the writer should choose a script that would use all DDTMS, RRW, TPAs ect… that would be like someone making a auto typer and getting it because he didn't have a use for anything else

Naum

2010-02-16 16:43:14

From: Timer
This looks… stolen?


From: Blumblebee
still the script uses co-ord clicking and does not show an understanding of any SRL functions, I don't think saying yes in this situation is beneficial as the applicant has much to learn before he should be admitted membership. The list is a guideline for the applicant to follow and usually a nice way of saying no without just blatantly saying its too basic.

I don't enjoy people crossing off things in a list that are required, and if things are missing they say no, but it is a good guideline more for the applicant to see what he needs to create a solid, members-granting script.


He said that he took the basics from Coh3ns script, as stated somewhere in his post.
However, owing to this fact, it seems that the required '90%' of your own work has been missed altogether. What other members say about skills, techniques and the like reinforce my decision.

Sorry mate, its a no. If you need any help, etc with scripting feel free to add my MSN: [email]naumanakhlaq@hotmail.com[/email] :smile:

Coh3n

2010-02-18 02:51:25

From: Timer
This looks… stolen?

Probably close to 90% of it is from my script. Not that it's a bad thing or anything, just half of it isn't properly credited.

@pyroryan - You're scripting ability is improving, and that's good, but the majority of an application script has to be written by you. It's perfectly okay to use other people's code, just credit them properly (see how I credited Nava2 in the autocolor functions). Sorry, but I'm voting no this time.

Sir R. M8gic1an

2010-02-18 03:40:25

From: Coh3n
Probably close to 90% of it is from my script. Not that it's a bad thing or anything, just half of it isn't properly credited.

@pyroryan - You're scripting ability is improving, and that's good, but the majority of an application script has to be written by you. It's perfectly okay to use other people's code, just credit them properly (see how I credited Nava2 in the autocolor functions). Sorry, but I'm voting no this time.


Taking this into account, I am closing this application. Feel free to try again in a month.

~RM