SRL Archive - Archive

The Claw - SRL Member Application Form


The Claw

2007-05-23 08:09:49

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

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
yes
in_jeopardy, a veteran on Rs-R who responded to a thread I made asking for a link to the place to get SRL.

Programming Knowledge
little PHP, JavaScript, Fluent HTML, Little Java

Other Communitys
Rs-Resources.com, im an MM and senior member there. I also have accounts on mopar, scythe, and fagex but I never go there. Member of a warez forum, warez-bb.org where I used to be Super Moderator until I resigned, and am now VIP.

How Long have You Played Runescape
Just over 2 years this month .. read below about what i did during this time :P

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

Hey, my names Karl and I'm 16 years old. I enjoy computers, counter-strike, scripting, skateboarding and hanging out with my mates.

Ive played Runescape for about 2 years, as I said above. I first got into RS Cheating when a member on a warez forum I used to be Super-Moderator on (http://warez-bb.org, im kingdom zero) posted in a topic about Runescape I made, giving a link to Rs-resources, and told me all about aryan. This was about a month before aryan died, and I didnt really get into it much.

After this I quit runescape from about october 2005 untill roughly june 2006, when I started up with my old main again. I played legit and was starting to get an alright skiller going, until ARGA came out and I got banned for flax picking on a lvl 15 and trading straight to my main. :( I got banned on janurary 7th, 2007.

A friend gave me a low level rune pure, and I trained it up. I ended up getting it to combat 95, and pked a couple of torags sets, and a whip before getting bored. I quit playing on this account about 4-5 weeks ago.

Then one day, about 3-4 weeks ago I was browsing Rs-R, and was wondering about SRL which everyone was talking about. I asked for a link to it, and got directed here. I had downloaded SCAR years ago, before I even used Aryan, in some cheat pack but didnt know how to use it. :P

As soon as I got here, I realised something - the only way to contribute to this community is to script. I love contributing to any good community, which you can see by my old Super-Moderator now VIP status on a warez forum with 250k + members, and my MM and Senior Member position on Rs-R.

So because I had quit playing runescape legitly, I decided to start scripting. In the last 3 weeks I have read many many tutorials, and am learning SCAR quickly. Its pretty easy once you learn the general programming logic from PHP ive found :P

Below is a slightly buggy auto-kebab buyer that Ive been working on since I got here. Personally, I think that its pretty good for only a few weeks, and I am quickly learning more things as we speak.

If I get let into SRL-Members, I will continue to learn, probably even quicker than I am at the moment, because I will be surrounded and talking to the best SCAR scripters around. I know the script might not be the best script ever submitted for SRL Membership. But I ask, take into consideration that I'm a fast learner and made this in 3 weeks, going from not knowing what "Program New;" meant, to understanding RadialWalking and DTMs.

I sure hope I get to become part of this great community. I am a very trusted member at whatever community Im active on, and can be trusted to not leak scripts or any inside information. :P If you have any questions or just want to chat, please add me on msn: no u :)

Regards,
The Claw

PS - The meaning to life is 42 :p

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

//----------------
// Welcome to AutoKebabber v0.03, by The Claw!
//
// Support: [url]http://www.villavu.com/forum/showthread.php?t=9678[/url]
// [url]http://www.rs-resources.com/mxvfh/viewtopic.php?f=17&t=5483[/url]
//
// If you use this script, please take the time to post a proggy or some comments
// on either of the two topics above. enjoy
//----------------

program KebabBuyer;
{.include SRLSRL.scar}

var
//cx, cy, zx, zy, bx, by, bkx, bky: Integer; //variables for the mouse to move to.
KebabCount: Integer; //how many kebabs bought
BankCount: Integer; //how many times banked, shown in proggy
LoadsNumb: Integer; //how many times banked, used for switching players
KebabSign: Integer; //kebabsign bmp
TotalLoadsNumb: Integer; //counter for all loads bought
InStore: Boolean; //if in store or not
InBank: Boolean; //if in bank or not
S: Integer; //number of times to search for Karim before giving up

const
PlayerLoads = 1; //loads per player to buy
TotalLoads = 2; //set this for the number of loads in total to buy.
Karim = 5451086; //colour of Karim's purple shirt
Talk = 65278; //colour of the Talk-to when you right click Karim
KebabColour = 1547025; //colour of green part of a kebab in inventory
BankColour = 6678515; //colour of the bank symbol, the yellow bit
SandColour = 7322820; //colour of the sand on the minimap
BankFloor = 5865862; //colour of the bank floor on minimap

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

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

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

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// BITMAPS //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure LoadBmps;
begin
KebabSign := BitmapFromString(5, 3, '00000000FF0011FF0161FF' +
'2E00FF00000000000000000000F52825000000000000119201F52' +
'825F52825000000');
end;

procedure FreeBmps;
begin
FreeBitmap(KebabSign);
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// RANDOMS + SETUP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;

procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;

procedure Login;
begin
if(not(LoggedIn)) then
LoginPlayer;
end;

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

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// BANK TO STORE //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure StoreWalk;
begin
if(not(LoggedIn)) then exit;
InBank := True;
Instore := False;
RadialWalk(SandColour, 25, 39, 13, 5, 5);
Flag;
LoadBmps;
if(FindDeformed(x, y, KebabSign, 553, 6, 720, 160)) then
begin
Wait(100+random(10));
Mouse(x, y, 1, 1, true);
Writeln('Walking to Kebab Store');
Flag;
FreeBmps;
InStore := True;
InBank := False;
Writeln('We are in the store!');
end else
begin
Writeln('Store Bitmap not found...');
NextPlayer(False);
Exit;
end;
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// BUYING KEBABS //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure KarimTrade;
begin
if(not(LoggedIn)) then exit;
S:=0
if(InStore = true) then
begin
repeat
if(not(LoggedIn)) then exit;
FindRandoms;
Wait(300 + random(100))
Writeln('In Store...attempting to right-click Karim');
S:=S+1;
if(FindObj(x, y, 'arim', Karim, 10)) then
begin
Mouse(x, y, 1, 1, false);
Wait(50 + random(25));
end;
if(S=50) then
begin
Writeln('Took too long to find Karim...');
NextPlayer(False);
Exit;
end;
until(FindColorTolerance(x, y, Talk, 0, 0, 512, 337, 3)) or (S=50)
S:=0;
end;
begin
ClickOption('alk',1)
Writeln('Talking to Karim');
Flag;
end;
end;

procedure BuyKebabs;
begin
if(not(LoggedIn)) then exit;
KebabCount:=KebabCount;

repeat
Wait(100);
until(FindColor(x, y, 16711680, 139, 446, 267, 449))
Wait(500 + Random(500));
TalkToRand;

repeat
Wait(100);
until(FindColor(x, y, 0, 230, 429, 287, 433))
Wait(500 + Random(500));
ClickNPCChatText('Yes please.');

repeat
Wait(100);
until(FindColor(x, y, 16711680, 139, 446, 267, 449))
Wait(500 + Random(500));
TalkToRand;

end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// BANKING //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure Depositing;
begin
if(not(LoggedIn)) then exit;
Writeln('bank opened, depositing..');
Deposit(2, 28, 2);
CloseBank;
Writeln('deposited, closing bank');
BankCount:=BankCount+1;
LoadsNumb:=LoadsNumb+1;
TotalLoadsNumb:=TotalLoadsNumb+1;
Writeln('Successfully banked! Starting loop all over again. ');
end;

procedure Banking;
begin
if(not(LoggedIn)) then exit;
BankCount:=BankCount;
KebabCount:=KebabCount;
LoadsNumb:=LoadsNumb;
TotalLoadsNumb:=TotalLoadsNumb;
if(InStore = true) then
begin
FindRandoms;
RadialWalk(SandColour, 178, 194, 50, 10, 10);
Writeln('Getting closer to the bank...');
Flag;
InStore := False;
end;
Writeln('finding bank symbol by symbol..');
if(FindSymbol(x, y, 'Bank')) then
begin
Mouse(x, y, 1, 1, true);
Flag;
InBank := True;
Writeln('in the bank');
FindRandoms;
MakeCompass('E');
LowestAngle;
Writeln('opening bank');
OpenBankGlass('akb', false, false);
end;
if(not(FindSymbol(x, y, 'Bank'))) then
begin
if(FindColorTolerance(x, y, BankColour, MSX1, MSY1, MSX2, MSY2, 5)) then
begin
Writeln('bank symbol not found. trying to find it by color instead');
Mouse(x, y, 2, 2, true);
Flag;
InBank := True;
Writeln('in the bank');
FindRandoms;
MakeCompass('E');
LowestAngle;
Writeln('opening bank');
OpenBankGlass('akb', false, false);
end;
begin
if InBank = False then
begin
Writeln('bank not found.');
Exit;
end;
end;
if(not(BankScreen)) then
begin
Writeln('opening bank quiet, seeing as the other bank isnt there');
OpenBankQuiet('akb');
end;
if(not(BankScreen)) then
begin
Writeln('unable to open up the bank. logging out');
NextPlayer(False);
Exit;
end;
end;
end;


////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// PROGRESS REPORT //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

procedure ProgressReport;
begin
Writeln(' ');
Writeln(' ');
Writeln(' ');
WriteLn('<============== AutoKebbabber v0.03 =================>');
Writeln('Worked for '+ TimeRunning);
WriteLn('Banked '+IntToStr(BankCount)+' loads[s].');
WriteLn('Bought '+IntToStr(KebabCount)+' kebab[s].');
WriteLn('<============== AutoKebbabber v0.03 =================>');
Writeln(+IntToStr(TotalLoadsNumb)+'totalloadsnum');
end;

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MAIN LOOP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

begin;
SetupScript;
Writeln('Somebody set us up the AutoKebabber. All your Kebab are belong to us.');
Writeln('Setup to buy a total of ' + IntToStr(TotalLoads) + ' load[s] of kebabs.');
Writeln('Buying ' + IntToStr(PlayerLoads) + ' load[s] at a time per character.');
Wait(1000 + random(300))
repeat
repeat
Login;
HighestAngle;
MakeCompass('N');
FindRandoms;
StoreWalk;
repeat
KarimTrade;
Flag;
BuyKebabs;
until(InvFull);
if(InvFull) then
begin
Status('Inventory full, banking.');
KebabCount:=KebabCount + CountItemColorTol(KebabColour, 10);
Banking;
Writeln('depositing');
Depositing;
end;
ProgressReport;
if(InChat('have enough coins.')) then
begin
NextPlayer(False);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
until (LoadsNumb = PlayerLoads);
if not(loggedin) then
nextplayer(false);
if(LoadsNumb = PlayerLoads) then
begin
NextPlayer(True);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
until (TotalLoads = TotalLoadsNumb)
if(TotalLoads = TotalLoadsNumb) then
begin
ProgressReport;
Writeln('Bought the specified amount of kebabs. end of script');
Logout;
KillScript(0);
end;
end.

Edit - edited script with the fixed player switching and a small fix on logging out after the total loads for the whole script has been bought. :)

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

neG

2007-05-23 08:29:27

Looks great man.

SRL, check
Anti-Randoms, check
Standards, check
Player Switching, check
Complexity, check
Failsafes, check

Yes from me :)

Killerdou

2007-05-23 08:32:24

i guess you have a pretty good chance of getting in, everything is in there, its original, credited when needed but you can use findsymbol from srl to find the kabab sign, change that please;) and im not sure if the rrw would work(isnt all the background color the same) and as it is a pretty short distance you could use a 'blind' click in the right direction aswell(i think wizzup did that in his ess miner aswell) conclusion: you get in, unless you copied….:)

Boreas

2007-05-23 08:33:33

No from me. Learn more about player switching, and read through SRL (loginplayer checks for loggedin).

Ashur2Good

2007-05-23 08:33:33

Looks all good to me, just stay active in the forum and you'll be greatly accepted here :)

EDIT: Theres no player switching? :/ Have this in you're script, i haven't voted yet, i guess i better wait, but it looks good.:

if (Time=i)then//You can have any other integer if you wish.
begin
NextPlayer(True);
HighestAngle;//optional..
MakeCompass('N');//...
SetRun(True);//..
Writeln('Switched players successfully :)');

Something like that :P
-Ashur

rkroxpunk

2007-05-23 08:40:40

Yes from me. I know personally that he worked hard on this and he's got everything that's asked for and can't really improve that much except for maybe the world switching thing. But I havn't seen an app with a world switcher (not that I've been here long) and I've seen a few people get in…..oh and I can guarantee this won't be copybusted he talked me thru this script many a time

n3ss3s

2007-05-23 08:43:57

WoAh! That was some stone-cold hearted boreas!
talking to the best SCAR scripters around

claw knows what he is talking about even he is new, heh.
Yes from me, the script is nice enough for my yes and you have good attitude

edit: oh, about youre player switching, it propably works as it is, but its better to kill 7 flys with one shotgun, try

if(not(LoggedIn))then
begin
NextPlayer(true);
// some stuff if u wish to
break;
end;
Instead of only nextplayer(True);

most people use the thing in scar tags.

Killerdou

2007-05-23 09:01:37

the players switching wouldnt work, as you get new players during the script, you should put if not logged in then exit at the beginning of all functions/procedures and only one a separate function which logs in the next players, for example, what if you switch during the trading, your next char will start in the bank and it would screw up and check your randoms again, findfastrandoms and findnormalrandoms, findnormal randoms checks everything and more that findfastrandoms checks, so your findrandoms is slower then findnormal randoms and pretty useless, you could use findfastrandoms if you want to stop the script from lagging or need to have it checked fast…

Boreas

2007-05-23 09:01:47

Actually it was warm and fuzzy hearted, because I care about his players, and I think it the player switching won't work.

The Claw

2007-05-23 09:34:13

Thanks for the feedback guys

and about the player switching, thats weird, cause it switches players for me when i run it lol

cheers for the advice on the better player switching though, ill make sure to add that into my next update. :)

Boreas

2007-05-23 09:56:00

Yea it switches players, but not at the right time.

If anything goes wrong (lost etc) they should logout and exit that proc/func. All procedures and functions should start with if not(loggedin) then exit. This means it should 'fall' to the bottom of the main loop when something goes wrong. That's where you have if not(loggedin) then nextplayer(false), and where you have nextplayer(true) if done loads etc.

Bottom line: You don't want to switch players in the middle of the main loop.

Wanted

2007-05-23 16:39:58

I agree with Boreas…
Learn Multiplayers, no from me.

Look at the SRL template for help

Open SCAR -> Tools -> ExplorerFolder -> Inlcludes -> SRL -> Scripts ->SRL Template.


Good appliance still a few things to learn, no (for now).

Edit: This might you some, but Still look at the SRL template!!!!!!

begin
//Stuff before logged in...
repeat
//Stuff leading up to/ while logged in.
if not LoggedIn then LoginPlayer;
if not LoggedIn then Break;
repeat
//Stuff that repeats for a player
MineOres;
until(MinedOres >= 10) //or something like this
if (LoggedIn) then
NextPlayer(True)
else
NextPlayer(False)
until (false);
//Stuff After Out of Players
end.

procedure MineOres;
begin
if not LoggedIn then Exit;
Writeln('Minning your ores...');
end;

procedure WhenLost;
begin
Writeln('lost!');
LogOut;
Exit;
end;

The Claw

2007-05-23 18:16:57

point taken, thanks heaps for the feedback. im pretty sure ive fixed what you were talking about, and in doing so have learnt player switching. :p heres the code:

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MAIN LOOP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

begin;
SetupScript;
Writeln('Somebody set us up the AutoKebabber. All your Kebab are belong to us.');
Writeln('Setup to buy a total of ' + IntToStr(TotalLoads) + ' load[s] of kebabs.');
Writeln('Buying ' + IntToStr(PlayerLoads) + ' load[s] at a time per character.');
Wait(1000 + random(300))
repeat
Login;
HighestAngle;
MakeCompass('N');
FindRandoms;
StoreWalk;
repeat
KarimTrade;
Flag;
BuyKebabs;
until(InvFull);
if(InvFull) then
begin
Status('Inventory full, banking.');
KebabCount:=KebabCount + CountItemColorTol(KebabColour, 10);
Banking;
end;
ProgressReport;
if(InChat('have enough coins.')) then
begin
NextPlayer(False);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
if(LoadsNumb = TotalLoads) then
begin
ProgressReport;
Writeln('Bought the specified amount of kebabs. end of script');
Logout;
KillScript(0);
end;
until (LoadsNum = PlayerLoads);
if(not (LoggedIn)) then
NextPlayer(false);
if(LoadsNumb = PlayerLoads) then
begin
NextPlayer(True);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
end.

If something goes wrong, all my if(not(LoggedIn)) will exit all the procedures down to the bottom where it will Nexplayer(false). if everything goes right, it will get to the bottom naturally and Nextplayer(true). :)

Boreas

2007-05-23 22:19:36

Hmm, run that with more than 1 player. What will the stuff after the until do?

Fix that and I'll vote yes.

The Claw

2007-05-24 02:23:10

haha now thats what I call a stupid mistake. fixed it, what I did was make 2 loops, one nested in the other. the whole walking, buying, etc is nested inside the other loop, which continues until the total loads of kebabs wanted to buy (set in the const) has been reached. :D

////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// MAIN LOOP //
/////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

begin;
SetupScript;
Writeln('Somebody set us up the AutoKebabber. All your Kebab are belong to us.');
Writeln('Setup to buy a total of ' + IntToStr(TotalLoads) + ' load[s] of kebabs.');
Writeln('Buying ' + IntToStr(PlayerLoads) + ' load[s] at a time per character.');
Wait(1000 + random(300))
repeat
repeat
Login;
HighestAngle;
MakeCompass('N');
FindRandoms;
StoreWalk;
repeat
KarimTrade;
Flag;
BuyKebabs;
until(InvFull);
if(InvFull) then
begin
Status('Inventory full, banking.');
KebabCount:=KebabCount + CountItemColorTol(KebabColour, 10);
Banking;
Writeln('depositing');
Depositing;
end;
ProgressReport;
if(InChat('have enough coins.')) then
begin
NextPlayer(False);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
until (LoadsNumb = PlayerLoads);
if not(loggedin) then
nextplayer(false);
if(LoadsNumb = PlayerLoads) then
begin
NextPlayer(True);
LoadsNumb := 0;
Highestangle;
MakeCompass('N');
end;
until (TotalLoads = TotalLoadsNumb)
if(TotalLoads = TotalLoadsNumb) then
begin
ProgressReport;
Writeln('Bought the specified amount of kebabs. end of script');
Logout;
KillScript(0);
end;
end.

SKy Scripter

2007-05-24 02:59:21

agh i vote yes,
you seem to work hard into it.. :p

oh yah congratz boreas about being a adim… ;)

me_ntal

2007-05-24 08:07:01

Radial walk, bitmaps, dtms, multiplayer, antiban and failsafes that a yes.. its a clever script

n3ss3s

2007-05-24 14:52:24

Oh shit boreas is admin?!? ooo… HOW TO BECOME ONE??
just kidding…

Killerdou

2007-05-24 15:08:59

have you changed your random functions/procedures yet, if not, look at them again, im sure you will get in with this attitude:), you know what, ill make an exception and actually vote for one time:) (only doing that when i really think someone should get in)
and maybe try to make it so that the number of loads is for every player

hint:
player[].integer1
if player[currentplayer].active = false then terminate script

Bobarkinator

2007-05-24 15:17:13

I think you got it all so it's a yes from me.

Wizzup?

2007-05-24 16:04:55

Yes from me.
42, I agree. Douglas Adams, Hitchhiker's Guide to the Galaxy, am I right?.. :)

Boreas

2007-05-24 16:14:47

Congrats!

(That was my first :p)