SRL Archive - Archive

tim46 - SRL Member Application Form


tim46

2007-05-30 19:34:06

<!– BEGIN TEMPLATE: formanswers –>
tim46 - SRL Member Application Form
tim46

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
JavaScript, PHP, HTML, SQL, some Python, and Delphi/SCAR

Other Communitys
Mopar,Sythe

How Long have You Played Runescape
About 3 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Hello,
My name is Tim. I started scripting maybe a month ago, and was just a dumb little leacher, who was hoping to make some quick money. Then, I learnt how fun scripting actually was. I loved to do it, I made procedures, functions, little scripts, all of that. Then I found SRL and started loving to script even more. Even though I made this acount a couple of days ago, I still looked at the forums and looked through the SRL procedures/functions so that I could learn all of them.
Well, anyways, this is probably getting a bit to long and boring, and I know that this is going to sound like the typical application but, I do want to improve and learn my knowledge of scripting. :P I hope I get accepted.
The script that I will post is a F2P rune buyer. It will buy any runes in either Betty's Magic Emporium or Aubury's Rune Shop. It has serveral anti-ban procedures, and multiplayer compatability. I've tested it over-night many times, and during the day when I am at school, and it worked perfectly(and earned me a good profit to). I designed it so that it could run 24/7, but I was never able to test it that long as I need to use the computer alot for my homework. I hope that this is up to your standards :)

All of the script is mine except the Aubury finding procedure
Finding Aubury procedure taken from Wizzup. Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted


{ f2pRuneBuyer - To be used with SRL
Written by Tim46
How to use: Start logged out in Betty's Magic Emporium or Aubury's Rune Shop.
The script will do all the rest(hopefully).

You can also start logged in, and already in the shop window.
!!Don't forget to bring money!!

Finding Aubury procedure taken from Wizzup! Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.
}

program F2PRuneBuyer;
{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/Amount.scar}

const
Fires = 'False'; // Set to True to buy runes
Waters = 'False';
Airs = 'False';
Earths = 'False';
Minds = 'False';
Bodies = 'False';
Chaoss = 'True';
Deathss = 'false';
PlayerTime = 300; //The time that you want each player to be logged in for(in minutes).
BuyTime = 300; // The time that you want the script to work for(in minutes). Put 99999999
// if you want for it to work till money runs out(will change it later).
Place= 'Betty'; //Betty for Betty's Magic Emporium, Aubury for Aubury's Rune Shop
BettyColor = 5769305; //Bettys torso color. Pre-picked, but you can change it if you want.
BettyColor2 = 11059157; //Bettys arm color. Pre-picked, but you can change it if you want.

procedure DeclarePlayers;
begin
HowManyPlayers := 3; //Number of players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 1;

Players[0].Name :='name1';
Players[0].Pass :='pass1';
Players[0].Nick :='nick1';
Players[0].Active:=True;

Players[1].Name :='name2';
Players[1].Pass :='pass2';
Players[1].Nick :='nick2';
Players[1].Active:=True;

Players[2].Name :='name3';
Players[2].Pass :='pass3';
Players[2].Nick :='nick3';
Players[2].Active:=False;

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
var
Scriptime, LogInTime, ChaosR, WaterR, FireR, BodyR,
DeathR, EarthR, AirR, MindR, ChaosRR, WaterRR, FireRR, BodyRR,
DeathRR, EarthRR, AirRR, MindRR :Integer;

procedure NoRandoms;
begin
if(InBlack)then
begin
Logout;
WriteLn('InBlack. Logging out.')
end;
SRLRandomsReport;
FindNormalRandoms;
FindLamp(LampSkill);
end;

Function FindAuburyText: Boolean;
var
ExitCond, NoMoreYellow: Boolean;
AuburyText,Yint, Xmin, diff, difflast, Xmax, XmidRec, Xmid: Integer;
RawMenuText: string;
begin
NoRandoms;
AuburyText := CreateBitmapMaskFromText('isthine', upchars);

x := 0;
y := 0;
Xmid := 0;
Xmin := 0;
Xmax := 0;
NoMoreYellow := False;
if (FindColor(x, y, 65535, 10, 25, 511, 334)) and (not (FindColor(x, y, 65280, 220, 130, 290, 165))) then
begin
Result := False;
if (not (FindBitmapMaskTolerance(AuburyText, x, y, 0, 0, 516, 338, 0, 40)))
then
Exit;
if (FindColorSpiral(x, y, 65535, x - 10, y - 10, x + 10, y + 10)) then
begin
Wait(10);
if (GetColor(x, y) = 65535) then
begin
WriteLn('Spotted Aubury text.');
Wait(10);
NoMoreYellow := False;
Yint := 0;
repeat
Yint := Yint + 1;
y := y + Yint;
x := 0;
repeat
ExitCond := False;
x := x + 1;
Xmin := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
if (x > 500) then
begin
x := 0;
ExitCond := True;
NoMoreYellow := True;
end;
until (ExitCond);
ExitCond := False;
x := 520;
while (NoMoreYellow = False) and (ExitCond = False) do
begin
x := x - 1;
Xmax := x;
if (GetColor(x, y) = 65535) then
ExitCond := True;
end;
diff := (Xmax - Xmin);
if (diff > difflast) and (diff > 25) then
begin
NoRandoms;
XmidRec := ((diff / 2) + Xmin);
end;
difflast := diff;
until (NoMoreYellow)
x := XmidRec;
MMouse(x, y + 6, 3, 0);
Wait(100);
if IsUpTextMulti('Talk', 'lk-to', 'to') Then
begin
GetMousePos(x, y);
Mouse(x, y + 6, 0, 0, False);
if (ChooseOptionGetMenuText(RawMenuText, x, y, 'Trade')) then
begin
NoRandoms;
WriteLn('Found Aubury. Here comes the money.');
FFlag(1);
Wait(1000 + Random(500))
Result := True;
Exit;
end;
end;
end;
end;
end;
end;

Function SpotAubury: Boolean;

Var
iX, iY, C: Integer;

Begin
NoRandoms;
Repeat
CloseWindow;
Wait(50);
If FindAuburyText Then
Begin
Result := True;
Break;
End;
iX := MSCX;
iY := MSCY;
If FindColorSpiralTolerance(iX, iY, 2998011, MSX1, MSY1, MSX2, MSY2, 4)
Or FindColorSpiralTolerance(iX, iY, 1888494, MSX1, MSY1, MSX2, MSY2, 4) Then
Begin
MMouse(iX, iY, 0, 0);
Wait(10);
If IsupTextMulti('Talk','bury','alk-to') Then
Begin
Mouse(iX, iY, 0, 0, False);
Result := ChooseOption(iX, iY, 'Trade');
If Result Then Exit;
End;
End;
C := C + 1;
Until C > 5;
Wait(500);
NoRandoms;
If Not LoggedIn Then Exit;
End;

procedure FindBetty;
var BettyTime : integer;
begin
MarkTime(BettyTime)
repeat
begin
wait(200 + random(500));
if (findobj3(x,y,'Bett',BettyColor,4)) or (findobj3(x,y,'Bett',BettyColor2,4)) then
begin
Mouse(x,y,5,5,False);
chooseoption(x,y,'Tra');
wait(2000 + random(600));
end;
end;
until(ShopScreen) or (TimeFromMark(BettyTime) > 2*60000);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;
end;

procedure Water;
begin
if (Waters='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','water')) > 0))then
repeat
wait(200 + random(100));
Mouse(143,84,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','water')) = 0));
end;
end;

procedure Fire;
begin
if (Fires='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','fire')) > 0))then
repeat
wait(200 + random(100));
Mouse(93,86,5,5,false);
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','fire')) = 0));
end;
end;

procedure Air;
begin
if (Airs='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','air')) > 0))then
repeat
wait(200 + random(100));
Mouse (186,85,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','air')) = 0));
end;
end;

procedure Mind;
begin
if (Minds='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','mind')) > 0))then
repeat
wait(200 + random(100));
Mouse(281,86,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','mind')) = 0));
end;
end;

procedure Earth;
begin
if (Earths='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','earth')) > 0))then
repeat
wait(200 + random(100));
Mouse(236,84,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','earth')) = 0));
end;
end;

procedure Death;
begin
if (Deathss='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','death')) > 0))then
repeat
wait(200 + random(100));
Mouse(422,86,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','death')) = 0));
end;
end;

procedure Body;
begin
if (Bodies='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','body')) > 0))then
repeat
wait(200 + random(100));
Mouse(329,85,5,5,false)
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','body')) = 0));
end;
end;

procedure Chaos;
begin
if (Chaoss='True') then
begin
wait(200 + random(100));
If(((RuneAmount('shop','chaos')) > 0))then
repeat
wait(200 + random(100));
Mouse (374,85,5,5,false);
wait(200 + random(100));
Case Random(3) of
0: ChooseOption(x,y,'uy 10');
1: ChooseOption(x,y,'uy 1');
2: ChooseOption(x,y,'uy 5');
end;
Case Random(4) of
0: wait(500 + random(200));
1: PickUpMouse;
2: wait(500 + random(200));
3: wait(500 + random(200));
end;
until(((RuneAmount('shop','chaos')) = 0));
end;
end;

procedure AmountOfRunes;
begin
WaterRR:= RuneAmount('inv','water');
AirRR:= RuneAmount('inv','air');
ChaosRR:= RuneAmount('inv','chaos');
DeathRR:= RuneAmount('inv','death');
FireRR:= RuneAmount('inv','fire');
EarthRR:= RuneAmount('inv','earth');
BodyRR:= RuneAmount('inv','body');
MindRR:= RuneAmount('inv','mind');
end;

procedure AmountOfRunes2;
begin
WaterR:= RuneAmount('inv','water') - WaterRR;
AirR:= RuneAmount('inv','air') - AirRR;
ChaosR:= RuneAmount('inv','chaos') - ChaosRR;
DeathR:= RuneAmount('inv','death') - DeathRR;
FireR:= RuneAmount('inv','fire') - FireRR;
EarthR:= RuneAmount('inv','earth') - EarthRR;
BodyR:= RuneAmount('inv','body') - BodyRR;
MindR:= RuneAmount('inv','mind') - MindRR;
end;

procedure Report;
begin
Writeln('[[======================================');
Writeln('[[=== f2pRuneBuyer - written by Tim46');
Writeln('[[=== Version 1.0');
Writeln('[[======================================');
Writeln('[[=== Worked For : ' + ScriptTime2(2));
Writeln('[[======================================');
Writeln('[[=== Bought approximately:');
Writeln('[[===' + IntToStr(WaterR) + ' waters, ' + IntToStr(AirR) + ' airs, ' + IntToStr(ChaosR) + ' chaos, ' + IntToStr(DeathR) + ' deaths-----]]');
Writeln('[[===' + IntToStr(FireR) + ' fires, ' + IntToStr(EarthR) + ' earths, ' + IntToStr(BodyR) + ' bodies, and ' + IntToStr(MindR) + ' minds.----]]');
Writeln('[[======================================');
end;

procedure CloseWindow2;
begin
wait(500 + random(700));
Mouse(487,41,3,3,true);
end;

begin
SetUpSRL;
ClearDebug;
MarkTime(Scriptime);
ActivateClient;
wait(500);
DeclarePlayers;
LoginPlayer;
wait(1000);
HighestAngle;
MakeCompass('N');
AmountOfRunes;
repeat
NoRandoms;
if (Place='Aubury')then
begin
FindAuburyText;
SpotAubury;
wait(1000 + random(1000));
end;
if (Place='Betty')then
begin
FindBetty;
end;
MarkTime(LogInTime);
Writeln('Player time logged.');
wait(1000 + random(1000));
repeat
Death;
Chaos;
Water;
Fire;
Air;
Earth;
Mind;
Body;
if (TimeFromMark(LogInTime) > (PlayerTime*60000)) or (InChat('enough coin')) then
begin
if (Players[CurrentPlayer].Active) then
CloseWindow2;
LogOut;
WriteLn('Player time is up, on to the next player.');
end
until(TimeFromMark(LogInTime) > (PlayerTime*60000)) or (InChat('enough coin'));
NextPlayer(True);
HighestAngle;
MakeCompass('N');
AmountOfRunes2;
wait(2000 + random(500));
Report;
until(TimeFromMark(Scriptime) > (BuyTime*60000));
if (TimeFromMark(Scriptime) > (BuyTime*60000)) then
begin
WriteLn('BuyTime reached. Ending script.');
CloseWindow2;
LogOut;
Report;
TerminateScript;
end
end.

——————————————————
<!– END TEMPLATE: formanswers –>

YoHoJo

2007-05-30 19:45:33

Please credit wizzups arbury finder.

JAD

2007-05-30 19:55:56

From: YoHoJo
Please credit wizzups arbury finder.


He did ;) Look at the top part of the script.

inding Aubury procedure taken from Wizzup! Thanks a ton, you saved me alot of work.
All credit to him for the amazing procedure, mine wasn't very good lol.Only found Aubury
when nobody was in the store.

tim46

2007-05-30 20:37:35

From: YoHoJo
Please credit wizzups arbury finder.


I did, in the top part of my script.

I'll edit it into my main post though, just incase.

R0b0t1

2007-05-30 21:20:47

I think the scripts good, but I can't really tell how much of it is yours. (the 90% rule).


So for now I'll hold my vote, but you did good by crediting Wizzup?, because from what I've heard most applications don't have a script or are copied.

tim46

2007-05-30 21:49:14

I wrote everything in the script, except for the Aubury Finding procedure.

rkroxpunk

2007-05-30 22:46:03

hmmm pretty good i love the neatness :D. Thing I don't like is lack of failsafes especially when it comes to using multi player. You make it change player when player time is up but here's an example of not using multi player for failsafes in ur script:

procedure FindBetty;
var BettyTime : integer;
begin
MarkTime(BettyTime)
repeat
begin
wait(200 + random(500));
if (findobj3(x,y,'Bett',BettyColor,4)) or (findobj3(x,y,'Bett',BettyColor2,4)) then
begin
Mouse(x,y,5,5,False);
chooseoption(x,y,'Tra');
wait(2000 + random(600));
end;
end;
until(ShopScreen);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;
end;

Well first of all, apologies if I'm wrong about this I never did understand it properly but

until(ShopScreen);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;

won't that just repeat forever if it doesn't find shopscreen

Shouldn't it be:
until(ShopScreen) or (TimeFromMark(BettyTime) > 2*60000)
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;

Also get rid of terminate script and I'd replace it with Exit;
Then in all ur procedures use if not (loggedin) then Exit;
then make a procedure that switches players and sets them up with compass angle and stuff.

Example
if not (loggedin) then
begin
//Login next player and set up compass angle and blah
end;

I'd put that at start of ur main loop :D
Overall I like it but I think I will hold my vote for now. Add a few more failsafes and it's a def yes

Rune Hacker

2007-05-31 00:02:30

Function FindAuburyText: Boolean;
Function SpotAubury: Boolean;

those were the only things that stuck out to me, everything else is a simple chooseoption, so if these 2 functions were made by you, then yes, but if not, ide have to say no because everything else in the script seems too simple, sorry.

Bobarkinator

2007-05-31 01:01:44

From: Rune Hacker
Function FindAuburyText: Boolean;
Function SpotAubury: Boolean;

those were the only things that stuck out to me, everything else is a simple chooseoption, so if these 2 functions were made by you, then yes, but if not, ide have to say no because everything else in the script seems too simple, sorry.


Those are wizzups and he credited.

Also the script just seems constant repetition for all the different runes just with different coords, I'm gonna have to give it a no.

Johura

2007-05-31 04:07:49

Get to know the community more.

tim46

2007-05-31 06:28:40

From: rkroxpunk
hmmm pretty good i love the neatness :D. Thing I don't like is lack of failsafes especially when it comes to using multi player. You make it change player when player time is up but here's an example of not using multi player for failsafes in ur script:

procedure FindBetty;
var BettyTime : integer;
begin
MarkTime(BettyTime)
repeat
begin
wait(200 + random(500));
if (findobj3(x,y,'Bett',BettyColor,4)) or (findobj3(x,y,'Bett',BettyColor2,4)) then
begin
Mouse(x,y,5,5,False);
chooseoption(x,y,'Tra');
wait(2000 + random(600));
end;
end;
until(ShopScreen);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;
end;

Well first of all, apologies if I'm wrong about this I never did understand it properly but

until(ShopScreen);
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;

won't that just repeat forever if it doesn't find shopscreen

Shouldn't it be:
until(ShopScreen) or (TimeFromMark(BettyTime) > 2*60000)
if (TimeFromMark(BettyTime) > 2*60000) then
begin
Logout;
Writeln('Could not find Betty. Please make sure you are near her.');
TerminateScript;
end;

Also get rid of terminate script and I'd replace it with Exit;
Then in all ur procedures use if not (loggedin) then Exit;
then make a procedure that switches players and sets them up with compass angle and stuff.

Example
if not (loggedin) then
begin
//Login next player and set up compass angle and blah
end;

I'd put that at start of ur main loop :D
Overall I like it but I think I will hold my vote for now. Add a few more failsafes and it's a def yes


Oo, thanks for noticing, I changed it. And about the compass set up, I already have
 NextPlayer(True);
HighestAngle;
MakeCompass('N');
So I don't think that making a whole new procedure is worth it.

To everyone else: I've been looking at RadialWalk, and it dosn't seem to be that hard to use, so will my chances of getting in go up if I make the script bank after 2k or so runes? I know that there isn't really a point, but just so that I could show you my programming knowledge.

n3ss3s

2007-05-31 07:08:11

I dont know should I vote yes or no… I think it is a yes… I hope I aint becoming a total rTard.

rkroxpunk

2007-05-31 07:51:22

From: tim46
Oo, thanks for noticing, I changed it. And about the compass set up, I already have
 NextPlayer(True);
HighestAngle;
MakeCompass('N');
So I don't think that making a whole new procedure is worth it.

To everyone else: I've been looking at RadialWalk, and it dosn't seem to be that hard to use, so will my chances of getting in go up if I make the script bank after 2k or so runes? I know that there isn't really a point, but just so that I could show you my programming knowledge.


definately…and there is a point to making a new procedure but u obviously don't get it so dw :D

neG

2007-05-31 23:06:28

I think its a good script.
You credited properly and everything else looks nice.
Nice standards, player switching and anti-randoms.
And you obviously understand SRL.

Yes from me :)

GoF

2007-06-01 01:57:54

A nice script, but I didn't like some parts of it..


Mouse (186,85,5,5,false)

I think that clicks too closely to the same spot each time, also that you made a different procedure for all runes.. And also, I haven't seen you around much.. So, i'll vote no, but good luck next time if you don't get in.

RAM

2007-06-01 16:44:47

From: n3ss3s
I dont know should I vote yes or no… I think it is a yes… I hope I aint becoming a total rTard.


Don't feel obligated to vote on every application…it's times when we feel indecisive, when we make the worst judgments…perhaps just hold your vote next time?

just MHO ~RAM

To everyone else: I've been looking at RadialWalk, and it dosn't seem to be that hard to use, so will my chances of getting in go up if I make the script bank after 2k or so runes? I know that there isn't really a point, but just so that I could show you my programming knowledge.


It certainly won't hurt your chances……

3Garrett3

2007-06-01 18:37:18

you only have 22 posts, it seems a bit too simple, i think im going to have to vote no on this one, get to know the community better and i will vote yes, and make a harder script of course :p

tim46

2007-06-02 16:54:15

Eh, I guess I won't be getting in lol. I'm trying to be more active, and I've already done some major modifications to the script. Hopefully I'll get in next time…

shaunthasheep

2007-06-02 18:08:11

[LEFT]Hopefully :)

Also remember, we judge script on Multiplayer, Walking, Banking, Knowledge of the SRL Include, Antiban(optional), and Antirandoms.

You don't have to make a harder script, just a script that shows all of these things, and your chances of getting in almost touch the roof :rolleyes:.


[/LEFT]