SRL Archive - Archive

purple37 - SRL Member Application Form


purple37

2007-04-09 02:01:48

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

What is the meaning to life?


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


Programming Knowledge
Delphi

Other Communitys
CheatEngine for MapleStory hacks/cheats

How Long have You Played Runescape
1 year then quit and started again 1 month ago

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

I have learned pretty quickly but theres TONS more i can learn just by looking at a single really good script. I learned it pretty easily because cheating on Maple Story included a good amount of scripting but it client to server hacking so i was telling certain parts (not sure what you'd call it) and give it a certain command (not very similar to SCAR). Then i made a couple of my own programs in Delphi, which were OK but nothing great and nothing worthwhile but that helped me learn scripting from about 1% to 10% (of anything i would ever do). Then i started here and i learned about SCAR. SCAR is pretty simple to me (for the parts that i know) but for what i have done scripting isn't perfect mainly because i don't know many special functions (and procedures i guess) that could be very useful.

Scripts:
Rune Buyer (in a store):
it buys any type of free world rune from any free world shops (i am not a member anymore and i have forgotten if the members shops look the same)
It buys Fire, Water, Air, Earth, Mind, Body, Chaos, and Death. For all the runes, except for chaos and death, it will buy your rune of choice up through your designated price. Then it will wait for the price to drop back down to ur prie or lower. For chaos and death runes it will always buy them. For all the runes it will stop, logout, and end the script if u gte the number of runes u wanted or runs out of money.
Water Rune Crafter:
I am making a water rune crafter because i am working on my magic and cursing is the best way so i decided making my own runes and then using them to cast the spells (not in the same script of course) benifits in multiple ways (this is not yet finished)
I have just learned radial walk for this which to me was surprisingly easy.

Body Rune Crafter:
The same as above because curse also needs body runes but i have not started this yet


Thank You for looking at this
~ Purple37

P.S. - If you do not accept me as a member please tell me the reason and if it has anything to do with the script i'd LOVE to learn how to improve it. (the more i can learn the less i have to work =D)

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Rune Buyer - In Stores: (I haven't been able to get it to work with the SRL-Stats so i'll work on that later)
100% original work (JUKKA told me the IsText function and how to use it but i did all the scripting so i'm not sure how that would be counted)
EDIT: some new additions (multiplayer/antiban/antirandoms…) made the script NOT100% mine
Now i am currently adding finding the NPC and trading with it

{ MADE BY: Purple37
Name: Store Rune Buyer <><><><><><> My FIRST script
Description: Buys Runes in stores
Version: 1.68
Script ID: 102
Compiles: YES ~ LOLZ

<> [url]http://www.villavu.com/forum/showthread.php?t=8196?p=87955[/url] <>

<><><><><><><><><> Detailed Description <><><><><><><><><><><><><><><><><>

-My first script
-WAY longer than it could be
-No anti-randoms
-I'M LEARNING

-Start with trade box open

-Buys runes from stores
-Fire, Water, Air, Earth, Mind, Body, Chaos, Death
-Elemental (Fire, Water, Air, Earth)
-Highest it will buy is __ gp (you choose)
-Mind
-Highest price it will buy at is __ gp (you choose)
-Body
-Highest price it will buy at is __ gp (you choose)
-Chaos
-Always Buys
-Death
-Always Buys
-Stops when certain number of runes is bought

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>}


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

Var
Runes,ElementalPrice,BodyPrice,MindPrice,PriceIs,PlayersLeft: Integer;

Const //Caps count for rune kind (first letter is cap)
RuneKind ='Water'; //Fire, Water, Air, Earth, Mind, Body, Chaos, Death
RunesAmount = 500; //number of runes you would like to buy (doest work for chaos or death)
//multiples of 10 only (for now)
{<><><><><><><><><><><><><> Shop <><><><><><><><><><><><>}
Shop = 'Betty'; //Aubury or Betty (watch caps)

{<><><><><><><> What price would you like to stop buying at? <><><><><><><><><><><><><><>}
ElementalRunePrice = 12; //MAX price would like to buy the runes at
BodyRunePrice = 5;
MindRunePrice = 13;
{Always buys Death and Chaos runes}

{<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>}
{<><><><><><><><><><><><><><> SCRIPT STARTS <><><><><><><><><><><><><>}
{<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>}
Procedure DeclarePlayers;
Begin
HowManyPlayers:=4; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer:=0;

Players[0].Name :='Purple37'; //username
Players[0].Pass :='STOPSTEALINGACCOUNTS'; //password
Players[0].Nick :='urp'; // 3-4 sequencial lower case letters in you name
Players[0].Active:=True; // use this account or not? True = yes | False = no

Players[1].Name :='Purple37';
Players[1].Pass :='STOPSTEALINGACCOUNTS';
Players[1].Nick :='urpl';
Players[1].Active:=True;

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

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=False;
End;

function DoAntiBan: Boolean; //from JAD's tut edited to fit this script
begin //lost my 100% mine but i will make my own
AntiBan;
wait(50 + random(50));
BoredEvery(3 + random(3));
wait(100 + random(100))
RotateEvery(2 + random(2));
wait(700 + random(200));
LeaveScreenEvery(4 + random(3));
wait(200 + random(350));
end;

Procedure MyAntiBans; //I'll probably make my own after i study them a bit more
Begin
DoAntiBan;
End;

Procedure MyAntiRandoms;
Begin
FindNormalRandoms; //i've also seen 'FindFastRandoms' but i don't know the difference
MakeCompass('N');
End;

Function IsText(TextB: String) : boolean; //THANK YOU JUKKA
var cx,cy : integer;
begin
if FindText(cx,cy,TextB,smallchars,19, 415, 240, 431)then
result:= True;
end;
{<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>}
procedure SetUp; // is this procedure correct?
begin
SetUpSRL;
ScriptID:='102';
DeclarePlayers;
If(not(LoggedIn))Then
LoginPlayer;
End;
{<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>}
Procedure ElementalCheck;
Begin
If Not LoggedIn then Exit;
Wait(500 + Random(500));
For ElementalPrice := ElementalRunePrice + 1 to ElementalRunePrice + 20 do
If IsText('costs ' + IntToStr(ElementalPrice))then
Begin
PriceIs := ElementalPrice;
WriteLn('The price is ' + IntToStr(PriceIs) + ' coins - you wanted ' + IntToStr(ElementalRunePrice) + ' gp max');
Wait(15000 + Random(10000));
End
Else
Wait(250 + random(250));
End;

Procedure MindCheck;
Begin
If Not LoggedIn then Exit;
Wait(500 + Random(500));
For MindPrice := MindRunePrice + 1 to MindRunePrice + 20 do
If IsText('costs ' + IntToStr(MindPrice))then
Begin
PriceIs := MindPrice;
WriteLn('The price is ' + IntToStr(PriceIs) + ' coins - you wanted ' + IntToStr(MindRunePrice) + ' gp max');
Wait(15000 + Random(10000));
End
end;

Procedure BodyCheck;
begin
If Not LoggedIn then Exit;
Wait(500 + Random(500));
For BodyPrice := BodyRunePrice + 1 to BodyRunePrice + 20 do
If IsText('costs ' + IntToStr(BodyPrice))then
Begin
PriceIs := BodyPrice;
WriteLn('The price is ' + IntToStr(PriceIs) + ' coins - you wanted ' + IntToStr(BodyRunePrice) + ' gp max');
Wait(15000 + Random(10000));
End
end;

Procedure TradeNPC; //its coming
Begin
If Not LoggedIn then Exit;
If Shop = 'Betty' then
Begin
If FindColor(x,y,6752360,0,0,517,340)then
Begin
Mouse(x,y,0,0,false);
Wait(100 + Random(100));
ChooseOption(x,y,'Trade');
Wait(250 + Random(500));
End
End

If Shop = 'Aubury' then
Begin
If FindColor(x,y,1954801,0,0,517,340)then
Begin
Mouse(x,y,0,0,false);
Wait(100 + Random(100));
ChooseOption(x,y,'Trade');
Wait(250 + Random(500));
End
End
End;

Procedure Coins;
Begin
If Not LoggedIn then Exit;
PlayersLeft := 0
Begin
If(InChat('enough coins'))then;
Begin
PlayersLeft := PlayersLeft + 1;
WriteLn('Out of money!!!!')
WriteLn('You have been logged out!')
Wait(1000 + Random(500));
MouseBox(480,33,406,49,1);
Wait(1000 + Random(500));
Logout;
If PlayersLeft = HowManyPlayers Then
Begin
TerminateScript;
End
Else
NextPLayer(False);
If Not PlayersLeft = HowManyPlayers Then
Begin
Wait(250 + random(50));
End
End
End
End;

Procedure AllRunes;
Begin
If Not LoggedIn then Exit;
If Runes >= RunesAmount then
Begin
WriteLn('You have bought ' + IntToStr(RunesAmount)+ ' ' + RuneKind + ' runes!')
WriteLn('You have been logged out!')
Wait(1000 + Random(500));
MouseBox(480,33,406,49,1);
Wait(1000 + Random(500));
Logout;
TerminateScript;
End
If Not Runes >= RunesAmount then
Begin
Wait(250 + random(50));
End
End;

Procedure BuyRunes;
Begin
If Not LoggedIn then Exit;
Runes:=0
TradeNPC;

If(RuneKind = 'Fire') then
Begin
Runes := 0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10; //SRL report
Repeat
MouseBox(85,78,104,93,1);
Wait(50)
ElementalCheck;
Wait(300 + random(200));
Until Not IsText('costs ' + IntToStr(ElementalPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin {Maybe there is something simpler for the idea/part}
WriteLn('100 runes have been bought');
End
Wait(250 + Random(50));
MouseBox(85,78,104,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Water') then
Begin
Runes:=0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;
Repeat
MouseBox(133,78,152,93,1);
Wait(50)
ElementalCheck;
Wait(300 + random(15));
Until Not IsText('costs ' + IntToStr(ElementalPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin
WriteLn('100 runes have been bought');
End
MouseBox(133,78,152,93,2);
Wait(250 + Random(50));
ChooseOption(x,y,'10');
Wait(250 + Random(250));
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Air') then
Begin
Runes:=0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;
Repeat
MouseBox(181,78,200,93,1);
Wait(50)
ElementalCheck;
Wait(300 + random(200));
Until Not IsText('costs ' + IntToStr(ElementalPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin
WriteLn('100 runes have been bought');
End
MouseBox(181,78,200,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Earth') then
Begin
Runes:=0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;
Repeat
MouseBox(224,79,245,93,1);
Wait(50)
ElementalCheck;
Wait(300 + random(200));
Until Not IsText('costs ' + IntToStr(ElementalPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin
WriteLn('100 runes have been bought');
End
MouseBox(224,79,245,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Mind') then
Begin
Runes:=0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;
Repeat
MouseBox(270,79,295,93,1);
Wait(50)
MindCheck;
Wait(300 + random(200));
Until Not IsText('costs ' + IntToStr(MindPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin
WriteLn('100 more runes have been bought');
End
MouseBox(270,79,295,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Body') then
Begin
Runes:=0
Repeat
Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;
Repeat
MouseBox(318,79,340,93,1);
Wait(50)
BodyCheck;
Wait(300 + random(200));
Until Not IsText('costs ' + IntToStr(BodyPrice))
If Runes = 100 or 200 or 300 or 400 or 500 or 600 or 700 or 800 or 900 or 1000 or 1100 or 1200 or 1300 or 1400 or 1500 or 1600 or 1700 or 1800 or 1900 or 2000 or 2100 or 2200 or 2300 or 2400 or 2500 or 2600 or 2700 or 2800 or 2900 or 3000 or 3100 then
Begin
WriteLn('100 runes have been bought');
End
MouseBox(318,79,340,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Until(Runes >= RunesAmount) or (InChat('enough coins'));
Coins;
AllRunes;
End;

If(Runekind = 'Chaos') then
Begin
Runes:=0
Repeat
{Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;}
MouseBox(367,79,384,93,2);
Wait(500 + Random(500));
ChooseOption(x,y,'10');
Wait(500 + random(500));
If(InChat('out of stock'))then
Begin
Wait(2500 + Random(1000));
End
If Not InChat('out of stock')then
Wait(50 + Random(50));
Until{(Runes >= RunesAmount) or }(InChat('enough coins'));
Coins;
End;

If(Runekind = 'Death') then
Begin
Runes:=0
Repeat
{Runes:=Runes + 10;
ReportVars[0] := ReportVars[0] + 10;}
MouseBox(416,79,433,93,2);
Wait(50 + Random(50));
ChooseOption(x,y,'10');
Wait(50 + random(50));
If(InChat('out of stock'))then
Begin
Wait(2500 + Random(1000));
End
If Not InChat('out of stock')then
Wait(50 + Random(50));
Until{(Runes >= RunesAmount) or }(InChat('enough coins'));
Coins;
End;
End;

{<><><><><><><><><> MAIN LOOP <><><><><><><><><><>}
Begin //I like this part simple
Wait(1500);
Setup;
If Not LoggedIn then
NextPlayer(False);
MyAntiBans;
MyAntiRandoms;
BuyRunes;
End.

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

YoHoJo

2007-04-09 03:42:06

Wow its orginial script and not bad at all.

You still need to learn some thing though like
FailSafes
AntiBan
Multiplayer
AntiRandoms

Because you dont use the player array, antirandoms wont work because the use the Player.Nick to find random events.

I can tell you know how to script and all, but im gonna have to vote no.

Ill help you if you want with adding those things and you will get a yes from me for sure next time.

Try looking at other scripts with multiplyer or some tutorials for help.

Very Good!
But no =(

Secet

2007-04-09 06:46:27

Really nicely done, good job.

Yes.

Boreas

2007-04-09 09:13:31

Add multiplayer and anti randoms at the very least. If you had those and were missing antiban and failsafes, I would say yes but make sure you learn those after. No for now.

Wizzup?

2007-04-09 09:46:15

Yes from me. ;) Nice script, make sure you get familiar with multiplayer though.

purple37

2007-04-09 10:14:45

Thank you for the advice from the 'No' voters
i didn't think of adding anti-randoms or player switching because of the peticular script, but i will check up on failsafes and anti-ban
Thank you for telling me what to add

YoHoJo

2007-04-09 12:54:36

Why not just add them really quick some time and ill 'change' by vote to a yes.
Its to TOO hard to do, so ill be checking up on this thread now and then, just edit your post and show us the new script.

WT-Fakawi

2007-04-09 17:29:59

Original. Good enough for me.

purple37

2007-04-09 18:03:22

ok YoHoJo i'm gunna work on that right now

Bobarkinator

2007-04-09 19:32:15

Wow this is pretty good. Yes from me.

Ejjman

2007-04-09 20:26:18

If you add, oh wait, not out to nonmembers…was going to say world switching buying…

But anyway, it looks good :) Good job, just add some antiban and stuff.

:)

purple37

2007-04-09 21:04:10

From: Ejjman1
If you add, oh wait, not out to nonmembers…was going to say world switching buying…

But anyway, it looks good :) Good job, just add some antiban and stuff.

:)


i actually was going to add that after i figure out how to use multiplayer (which for some reason i dont get) but make a procedure myself using the quick world switch button when using registered user (or whatever it is)

Ejjman

2007-04-09 21:25:32

Sweet, I think it will pawn then ;)

purple37

2007-04-09 21:38:22

O lol i never said i could do it i just said i was gunna try

lefamaster

2007-04-11 12:56:58

Work on your multiplayer knowledge. It was the hardest concept for me to get down, but once mastered saves sooooo many bans.

Read the SRL manual on the player array, memorize the examples, print them out and tuck them under your pillow. If you swear to do this I am teetering on a yes.


But all in all, seems like a decent chap, fairly-original idea, I am going to break the tie, and vote yes.

SKy Scripter

2007-04-11 13:05:28

i like man i vote yes! :D

Pentti

2007-04-11 13:39:05

Well. You had antiban procedures in your script, but you didnt use them.
You had antirandom procedures in your script, but you didnt use them.

purple37

2007-04-11 18:43:48

I have updated the script a bit - so now multi player works (How Fun XD) but now i need to make it so it finds the person
it will only start with 1 and slowly move to the 2nd free world one but if someone would like to make a couple procedures for the member ones that would be nice

Smartzkid

2007-04-11 20:14:28

Smartzkid sees a declareplayers procedure, but doesn't see any NextPlayer commands. Thus, he doesn't think your multiplayer will work, so he decides to hold off his vote until he gets to think about it some more

purple37

2007-04-11 20:42:30

From: Smartzkid
Smartzkid sees a declareplayers procedure, but doesn't see any NextPlayer commands. Thus, he doesn't think your multiplayer will work, so he decides to hold off his vote until he gets to think about it some more


added + a few more things

only thing now missing is the trading procedure

Smartzkid

2007-04-11 20:55:15

Smartzkid now sees a procedure named 'Coins', which will work perfectly fine for multiplayer, except purple never calls it during the script.

Smartzkid wonders whether that was just added, or if he's retarded and blind.


*points out that betty's shop is far less crowded than aubury's shop, and therefore finding/trading betty is far easier than doing so with aubury*

purple37

2007-04-11 23:32:42

ok ya i've been adding some stuff here and there i moved the coins and allrunes from an If statement in buyrunes procedure

thanks for reminding me
(i know betty's is better i'm gunna work on that really soon)

Smartzkid

2007-04-11 23:38:22

Smartzkid decides to hold his vote until the multiplayer works

Smartzkid scribbles down a note to vote yes for purple's app as soon as the multiplayer is fixed

purple37

2007-04-12 00:10:15

everything is working i just updated it

Smartzkid

2007-04-12 00:15:48

Smartzkid doesn't think that you tested it very well…the multiplayer still won't work. Test it and you'll see, he says

Ima let you finish it on your own. I've helped you too much already

purple37

2007-04-12 19:54:15

hmmm…. i dont see what ur saying

i'll figure it out my self (i cant test for a while though because i left an account posted in the script and someone took all my money (wasnt much) and 13k rune ess and oveer 500k worth of bronze bars - but i can't blame anyone it was my fault)

Hey321

2007-04-12 20:03:13

Damn, that's a lot, well, i'm gonna look over your script, not very active here anymore (gotta love Diablo 2 ^^), but I'm still around on MSN if you need my help for anything.

n3ss3s

2007-04-13 01:43:12

Yes from me.
I hope going through apps isnt spam…

neG

2007-04-13 02:43:28

Nice script, well written.
Yes :)

purple37

2007-04-13 18:43:01

thank you - its finally of of yes - no - tie - no - tie- yes - tie - no - tie…..
(when will it end? (seriously) lol)
@and neG ur dummy curser is very useful - it gained me 55 magic levels :)

lolpie

2007-04-13 19:38:25

Yes

JuKKa

2007-04-14 14:50:59

w00t i cant remember helping u :D
well good u got it working, - Yes

purple37

2007-04-14 16:25:28

u helped me with the IsChat funtion - Thank you =D

and i was serious: When will the poll end? (and i will know if i am a member or not)

Secet

2007-04-15 03:14:52

This poll will close on 04-16-2007 at 09:01 AM

purple37

2007-04-15 11:02:00

cool thanks - im almost a member =D

JuKKa

2007-04-15 12:48:40

good luck ;) just wait for the magic words..

WT-Fakawi

2007-04-15 13:47:10

Welcome!