SRL Archive - Archive

key keeper55 - SRL Member Application


key keeper55

2009-08-02 10:22:23

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


Are you affilated in anyway with Jagex LTD?
no

Were you Referred to SRL?
no


What is your general programming knowledge?
java, html, php


Are you a member of any other communities?
no


Tell us about yourself…
From: key keeper55
one of my many hobbies is to play with electronic compenents and things like that. i also like building, drawing. i am like most people, if u are nice to me… il be nice to you :P

and i will try to be as active and helpful in the community as much as i can.



Please show us one (or multiple) of your scripts.
program PlantPotBuyer;

{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/reflection/reflection.scar}

{================Global variables=================}
var
LoopResult: Boolean;
//Antiban variables:
FunnyText, FunnyResponse, RandomSayings, ReqResponse: array of String;
LastRespondTime, LastInteractionTime: Integer;

{================Script Constants=================}
const

{================Do not touch the following constants:=================}
ILoadsI = 0;
ISleepTimeI = 1;
IMoneyI = 2;
ILoadsDoneI = 3;
ISleepsDoneI = 4;
IRandomsHandledI = 5;
IDoorsOpenedI = 6;
IAntiBansI = 7;

{==============================================================)
DeclarePlayers. Should be self-explanatory.
(==============================================================}
Procedure DeclarePlayers;

Begin
NumberOfPlayers( 1 );
CurrentPlayer := StartPlayer;

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

Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
SetPlayerNameTPAs;
End;

procedure IncVar(VarNum: Integer);
begin
Inc(Players[CurrentPlayer].Integers[VarNum]);
end;

procedure IncVarEx(VarNum, IncBy: Integer);
begin
IncEx(Players[CurrentPlayer].Integers[VarNum], IncBy);
end;


{==================Antiban/Random Functions====================}


{==============================================================)
Automatically responds to trade/assist requests, along with words
in the FunnyText array. Returns true if responded, false otherwise.
(==============================================================}
function AutoRespond: Boolean;
var
i, a: Integer;
begin
Result := False;
//If we haven't responded to chat in more than 2 mins...
if(GetTimeRunning>LastRespondTime+120000)then
begin
a := High(FunnyText);
for i:=0 to a do
if(ChatBoxTextExists(FunnyText[a], 'chat'))then
begin
Result := True;
LastRespondTime := GetTimeRunning;
end;
end;
//If we haven't responded to trade/assist requests in more than 5 mins...
if(not Result and (GetTimeRunning>LastInteractionTime+300000))then
if(ChatBoxTextExists('trade', 'you'))then
begin
TypeSend(AddMistakes(reqResponse[Random(Length(reqResponse))], 25));
Result := True;
LastInteractionTime := GetTimeRunning;
end;
if Result then IncVar(IAntiBansI);
end;


{==============================================================)
Says a random thing from RandomSayings. If required is true,
the script says it every time this is called. If required is
false, the script says it randomly when this is called.
(==============================================================}
procedure RandomSpeak(Required: Boolean);
begin
if(Required or (Random(10)=0))then
TypeSend(AddMistakes(RandomSayings[Random(Length(RandomSayings))], 25));
end;

{==============================================================)
Simple, Random antiban. Returns mouse to original position after
each antiban loop.
(==============================================================}
procedure AntiBan;
var
Performed: Boolean;
begin
Performed := True;
if not LoggedIn then Exit;
if(AutoRespond) then Exit; //If we've autoresponded, no need to do more antiban.
case Random(40) of
1: RandomMovement;
2: RandomRClick;
3: HoverSkill(LampSkill, False);
4: BoredHuman;
5: RandomSpeak(False);
else begin
Wait(1000+random(1500));
Performed := False;
end;
end;
if Performed then IncVar(IAntiBansI);
end;


{==============================================================)
Handles randoms that we may encounter.
(==============================================================}
function HandleRandoms: Boolean;
var
dir: Char;
begin
Result := R_SolveNonTalkingRandoms;
if Result then IncVar(IRandomsHandledI);
end;


{================Script operation functions====================}


{==============================================================)
Gets the walking coordinates
(==============================================================}
function GetCoordsList: TPointArray;
begin
Result := [
Point(3033,3287),
Point(3042,3275),
Point(3059,3276),
Point(3076,3268),
Point(3084,3253),
Point(3092,3244)
];
end;


{==============================================================)
Checks to see if we're in the bank
(==============================================================}
function InBank: Boolean;
begin
if Players[CurrentPlayer].loc='Bank' then
Result := true;
end;


{==============================================================)
Check to see if we're in the shop.
(==============================================================}
function InShop: Boolean;
begin
if Players[CurrentPlayer].loc='Shop' then
Result := true;
end;

{*******************************************************************************
function ClickDoor(DoorObj: integer; Dir, Action: string): Boolean;
By: lordsaturn
Description: Clicks a door. (or almost any object inbetween tiles)

Based off of the above SRL function, with a few modifications to fit the script.
*******************************************************************************}
function OpenClosedLMDoor(Dist: Integer; DirOrder: TStringArray): Boolean;
var
Loc, MS: TPoint;
i, MIndex: Integer;
begin
Result := False;
if not FindObjectEx(Loc, 8695, Dist) then Exit;
MIndex := High(DirOrder);
for i:=0 to MIndex do
begin
case LowerCase(DirOrder[i]) of
'n': MS := TileToMSEx(Tile(Loc.x + 0.5, Loc.y + 1.1), 40);
's': MS := TileToMSEx(Tile(Loc.x + 0.5, Loc.y + 0.1), 40);
'w': MS := TileToMSEx(Tile(Loc.x + 0.1, Loc.y + 0.5), 40); //try x-.5, y-.1
'e': MS := TileToMSEx(Tile(Loc.x + 1.1, Loc.y + 0.5), 40);
else writeln('Invalid direction.');
end;
if MS.x = 0 then Exit;
Mouse(MS.x, MS.y, 3, 3, False);
if(R_IsUpTextMulti(['Door', 'oor', 'Doo']))then
Result := R_ChooseOption('Open');
end;
if Result then IncVar(IDoorsOpenedI);
end;

{==============================================================)
Walks to:
Bank: True
Shop: False
(==============================================================}
function WalkTo(Bank: Boolean): Boolean;
var
h, i, d, CDoorx, CDoory, DoorObj: Integer;
WalkArray: TPointArray;
t: String;
dirOrder: array of String;
begin
//If we're already there...
if((Bank and InBank) or ((not Bank) and InShop))then
begin
Result := True;
Exit;
end;
//Loads the coords we're walking to.
WalkArray := GetCoordsList;
if((Bank and InShop) or ((not Bank) and InBank))then
begin
WalkArray := GetCoordsList;
if(Bank)then
begin
h := High(WalkArray);
i := 0;
d := 1;
end else
begin
i := High(WalkArray);
h := 0;
d := -1;
end;
end;

//While we aren't at our destination...
while(i<>h)do
begin
//If we're at the step before the door
if((Bank and (i=High(WalkArray))) or (not Bank and (i=High(WalkArray)-1)))then
begin
//Sets the door ints...
CDoorx := 3034;
CDoory := 3291;
DoorObj := 8695;
if Bank then
dirOrder := ['s', 'e', 'w', 'n']
else
dirOrder := ['n', 'e', 'w', 's'];
end;
//If the door is closed...
//if(GetObjectType(GetObjectAt(CDoorx, CDoory))=DoorObj)then
begin
//Walk near it
WalkToTile(Point(3034, 3291), 3, 1);
wait(RandomRange(500, 1500));
//Open it! If that doesn't work...
if(OpenClosedLMDoor(4, DirOrder))then
writeln('We opened the door! :D')
else
begin
writeln('Couldn''t open the door...');
Exit;
end;
end;
i := i + d;
//Go to the next tile
if not WalkToTile(WalkArray[i], 3, 1) then Exit; //If we couldn't get there...
end;
Result := True;
end;

function BuyPots: Boolean;
var
PointAt: TPoint;
SPoint: TNPC;
begin
Result := False;
if not FindNPC('Sarah', SPoint) then Exit;
writeln('Found Sarah...');
PointAt := TileToMS(SPoint.Tile, 7);
Mouse(PointAt.x, PointAt.y, 4, 4, false);
if not R_ChooseOption('Trade') then Exit;
writeln('Trading her...');
MouseBox(302, 97, 319, 117, 1);
if not R_ChooseOption('Buy X') then Exit;
writeln('Buying pots.');
wait(RandomRange(500, 800));
TypeSend(inttostr(RandomRange(28, 99)));
Result := True;
end;

function DepositPots: Boolean;
var
DepositSlot: Integer;
begin
Result := False;
OpenBankReflection('db');
if not R_BankScreen then Exit;
//Gets the slot that the money is in...
if(Players[CurrentPlayer].Integers[IMoneyI]=1)then
DepositSlot := 2
else
DepositSlot := 1;
Result := R_MouseItem(DepositSlot, 'Deposit-All');
if Result then IncVar(ILoadsDoneI);
end;


procedure Proggy;
begin
writeln('============Key Keeper55''s pot buyer==============');
writeln('Character: '+Players[CurrentPlayer].Name+'.');
writeln('Loads done: '+inttostr(Players[CurrentPlayer].Integers[ILoadsDoneI])+'.');
writeln('Sleeps done: '+inttostr(Players[CurrentPlayer].Integers[ISleepsDoneI])+'.');
writeln('Randoms handled: '+inttostr(Players[CurrentPlayer].Integers[IRandomsHandledI])+'.');
writeln('Doors opened: '+inttostr(Players[CurrentPlayer].Integers[IDoorsOpenedI])+'.');
writeln('Antibans done: '+inttostr(Players[CurrentPlayer].Integers[IAntiBansI])+'.');
writeln('================================================');
end;


procedure GoToNextPlayer(Active: Boolean);
begin
Proggy;
NextPlayer(Active);
end;

{==============Script initialization functions=================}


{==============================================================)
Sets up SMART correctly
(==============================================================}
procedure SetSmart;
begin
Smart_Members := true; //F2P or P2P
Smart_Server := RandomWorld(Smart_Members, false); //Random world
Smart_Signed := true; //Signed or Unsigned
Smart_SuperDetail := False; //Low detail or High detail
end;

{==============================================================)
Sets up a player to begin autoing.
(==============================================================}
function SetUpPlayer: Boolean;
begin
wait(RandomRange(1000, 2000));
if not(InBank or InShop)then
begin
writeln(Players[CurrentPlayer].Name+' isn''t in the bank or in the shop...');
end;
R_SetMultiChats('1', '2', '1', '1', '1');
wait(RandomRange(400, 800));
R_SetAngle(95+Random(6));
R_MakeCompass(IntToStr((350+Random(20)) mod 360));
if(Players[CurrentPlayer].Integers[IMoneyI]=0)then
begin
for Players[CurrentPlayer].Integers[IMoneyI]:=1 to 28 do
if ExistsItem(Players[CurrentPlayer].Integers[IMoneyI]) then
Break;
if(Players[CurrentPlayer].Integers[IMoneyI]=29)then
begin
writeln('Player '+inttostr(CurrentPlayer)+' has no money, apparently.');
Exit;
end;
Result := True;
end;
end;


{==============================================================)
Sets up the script as needed.
(==============================================================}
procedure SetUpScript;
begin
writeln('Setting up script...');
SetSmart;
SetUpSRL;
SetUpReflection;
DeclarePlayers;
loginplayer;
FunnyText := ['lol', 'haha', 'rofl', 'lmao', 'ha'];
FunnyResponse := ['XD', 'Haha!', 'Lol', 'Wow...'];
RandomSayings := ['...', 'I''m a lumberjack and I''m O.K. I sleep all night...', 'Bored... >.<'];
reqResponse := ['Nty', 'No, thanks.', 'Nah.', 'I''m good.', 'No, thanks though.', 'Hm... Nty.'];
writeln('Script set-up complete.');
end;


function MainLoop: Boolean;
var
i: Integer;
begin
Result := False;
if InShop then
if not WalkTo(True) then Exit;
//Walking to and from loop.
for i:=0 to Players[CurrentPlayer].Integers[ILoadsI] do
begin
//Should be in the bank at this point.
if not WalkTo(False) then Exit;
if not BuyPots then Exit;
if not WalkTo(True) then Exit;
if not DepositPots then Exit;
IncVar(ILoadsDoneI);
end;
Result := True;
end;


begin
SetUpScript;
repeat
if not SetUpPlayer then
begin
writeln('couldnt setp the player!');
GoToNextPlayer(False);
Continue;
end;
LoopResult := MainLoop;
Proggy;
GoToNextPlayer(LoopResult);
until(AllPlayersInactive);
end.

ian.

2009-08-02 10:28:27

Line 672: [Error] (29799:1): Unknown identifier 'cAntiban' in script

'o.O?

Looks alright. Standards aren't very good and I can hardly read it.

Holding my vote.

key keeper55

2009-08-02 10:28:57

hey ncds

srry for double post :S can u like tell some staff to take off 2 from my post count :(

ok hang on ian il fix the script 1 sec

ian.

2009-08-02 10:36:28

Edit your posts instead, please.

skvatboy

2009-08-02 10:37:30

hi
u copy this script?
http://www.villavu.com/forum/showthread.php?t=46793&highlight=Crafting+Guild

key keeper55

2009-08-02 10:37:57

oh srry about my standards :S im not very good at standards… il go search for a tutorial..

ye i used the concept.. but im not done chhangin it is still beta.. im using his as a base.. like the reflection walking things… i made my own coordinates but i am still working/changing it

oh ye and credit goes to caused for base. but im not done changing it so dont call me a leecher

Camaro'

2009-08-02 10:40:21

From: key keeper55
oh srry about my standards :S im not very good at standards… il go search for a tutorial..


Nice find, that script is copied , and this guy is so dumb , he cant even leech / steel correctly:)

Lance

2009-08-02 10:42:43

What&#8217;s hot and what&#8217;s not this summer. Pink cardigans, IN. Steeling scripts and trying to get srl members with them. OUT

Sorry, next time try making something ENTIRELY on your own. Better luck in a month :]

key keeper55

2009-08-02 10:48:20

when im done editing/changing it then it will be almost completely mine. only a few of his procedures :D

fine il use a script completely my own…. i didnt want to release this 1… but i guess i have too.. il update my first post in a min

i made that one had someone help me with standards… but i am rlly lazy and i relized it was too hard for me to do standards so i havnt tried that hard in a while :P

there.. i posted the new script…. now judge that…

Lance

2009-08-02 11:35:49

dude, your origional post looked horrible.. the standards were way off and everything. Now this one looks actualy pretty good.. if you were capable of something like this why didnt you post this in the first place? are you sure you didnt just copy someone elses script again?

key keeper55

2009-08-02 11:42:11

yes im sure… cuz as i said b4 i stopped doin standards after that script :P cuz i r lazzyz :P
and ty for the compliment

ZephyrsFury

2009-08-02 11:51:18

Next time you want to add something to your posts just press Edit instead of posting multiple posts after each other..

key keeper55

2009-08-02 11:56:11

thank you for editing my posts zeph

so zeph u gunna vote?

key keeper55

2009-08-02 11:59:43

how come i cant see yalls post until i post again?… even if i refresh i still cant see them…

ZephyrsFury

2009-08-02 12:06:48

Maybe cos we haven't posted yet….

Anyway I haven't decided my vote yet. I usually don't post what I vote anyway.

key keeper55

2009-08-02 12:08:35

oh ok ty

oh and abot ur avatar…

did that rlly happen then some1 put a pokemon ball into the clip?

ZephyrsFury

2009-08-02 12:12:07

From: key keeper55
oh ok ty

oh and abot ur avatar…

did that rlly happen then some1 put a pokemon ball into the clip?


No someone really tried to catch Bush with a pokeball.

key keeper55

2009-08-02 12:13:25

ok….. lol…
but was the person trying to like punch him….?

ZephyrsFury

2009-08-02 12:17:04

From: key keeper55
ok….. lol…
but was the person trying to like punch him….?


No he was actually trying to throw his shoes at him. But back to your app now. ;)

key keeper55

2009-08-02 12:30:48

ok rite back to the app… so what are u thinking about voting for me?.. :P l4lwz

cycrosism

2009-08-02 13:03:54

You dont need the procedures Inc and IncEx

Voted no because it didn't compile and used reflection

key keeper55

2009-08-02 13:04:57

aww that stinks cycro…. and from my own friend :((((
lol jk but thanks for checking it out cycro…

Colluci

2009-08-02 14:17:08

From: key keeper55
aww that stinks cycro…. fart bucket….
lol


No.

ian.

2009-08-02 14:24:15

From: Colluci
No.


If you voted no because of what he said to Cycro, then please ask to change your vote, or take it away. If you said no because of the script then it's fine.

MasterKill

2009-08-02 14:26:10

no, come back when you have made your own script from scratch. And also behave yourself, I see no reason to call someone a "fart bucket" when he votes no for his reasons.


From: ian.
If you voted no because of what he said to Cycro, then please ask to change your vote, or take it away. If you said no because of the script then it's fine.


He probably said no for his adertude (or how it spells)

Torrent of Flame

2009-08-02 14:35:42

No. You don't seem at all mature enough to be SRL member.

ian.

2009-08-02 15:01:19

From: MasterKill
no, come back when you have made your own script from scratch. And also behave yourself, I see no reason to call someone a "fart bucket" when he votes no for his reasons.




He probably said no for his adertude (or how it spells)


Attitude,* and he was obviously joking. But whatever.

Rubix

2009-08-02 17:27:44

From: The Cnr Sport aka Camaro
Nice find, that script is copied , and this guy is so dumb , he cant even leech / steel correctly:)

s/steel/steal/
and yesh, good find on the copy.

Tniffoc

2009-08-02 17:34:00

Not Mature.
He is a known stealer!

NO

key keeper55

2009-08-02 20:47:27

ok if u think i stole this script then search on every scar forums for this… i made it myself….. and i called cycroism a "fart bucket" yes as a joke and becuase he is my friend….


ok guys… look…. i first posted a script.. and it was based on ome1 elses… so ppl got mad so i changed it to a script that was completely mine…..

key keeper55

2009-08-02 21:02:33

and i am not a known stealer….. i am an unknown. lol jk im not a stealer…

well if 7 people that are on my 1337 l157 voted no… then i guess thats all i need… il try again next month with the same script….. but more mature oh ye and btw i have severe ADHD :(

but most of u voted no for my maturity so wat do u guys think about the script

Tniffoc

2009-08-02 21:30:55

Also, if you speak in 1337 speak or txt talk then people label you as a noob almost instantaneously.

3Garrett3

2009-08-02 21:40:38

i vote no just because of the quadruple post.
Nawt. Script sucks too. Come back with one made entirely by yourself and you have a chance.

key keeper55

2009-08-02 22:08:55

garrett.. for the last time it is entirely mine….

well ok i guess i wont get in this time…. but what do u think about the script… is it good enuf

MasterKill

2009-08-02 22:28:33

From: key keeper55
ok if u think i stole this script then search on every scar forums for this… i made it myself….. and i called cycroism a "fart bucket" yes as a joke and becuase he is my friend….


ok guys… look…. i first posted a script.. and it was based on ome1 elses… so ppl got mad so i changed it to a script that was completely mine…..


We can't smell that cyc is your friend, but thanks for the explanation. This is looking much better now, since I know this script is completely yours. Though, there are some useless functions in your script. Take "in bank" for example.

I like your auto responder, it shows me you care for good anti ban.

I would have voted yes now based on this post.

btw, I suggest you download firefox his grammar checker. It really helped me with my grammar.

Have fun scripting! And if you don't make it this month, I'll be sure to check your apply next time.

key keeper55

2009-08-02 22:37:44

thanks master kill :D it feels good to have atleast some1 on my side and not calling me a liar :P

and thanks for the advice on grammer checker… il check it out cuz i need it :P
so u said u gunna vote… so if u alredy vote can u like get like get some staff to change ur vote plzz… cuz i rlly need it plzz :D

Sir R. M8gic1an

2009-08-02 23:10:07

I think you are not ready yet - however the presentation and logic of your script is superb.

also, In your walking function here is a suggestion:
instead of
if((Bank and InBank) or ((not Bank) and InShop))then
do
if Bank xor InShop then


xor: if one but not the other
True, True : False
True, False : True
False, True : True
False, False: False

~RM

Macro_FTW

2009-08-02 23:15:03

This was a script that I sent KeyKeeper a long time ago.

Though it seems that there's no way he'll make it in, I just wanted to point it out that it was a private request from him; I can screenie some PM's he sent to me requesting it.

(I never was able to bugtest it but KeyKeeper wanted it anyway… No idea why he would put it up here…)

Sir R. M8gic1an

2009-08-02 23:16:11

From: Macro_FTW
This was a script that I sent KeyKeeper a long time ago.

Though it seems that there's no way he'll make it in, I just wanted to point it out that it was a private request from him; I can screenie some PM's he sent to me requesting it.

(I never was able to bugtest it but KeyKeeper wanted it anyway… No idea why he would put it up here…)


yes please.

~RM

Macro_FTW

2009-08-02 23:25:31

Request:

Request(bottom half):


Begging for me to edit my post and say "Jk" or something…:


EDIT: I can also forward the PM's if you'd like. :)

Sir R. M8gic1an

2009-08-02 23:30:12

just forward one of them ;) Not that i don't trust you, but posted pictures tend to get lost.
Or even better - top right of PMs there is a little red cross to report the PM. that's the best option.

KeyKeeper, any last words?

~RM

Macro_FTW

2009-08-02 23:33:18

From: Rasta Magician
just forward one of them ;) Not that i don't trust you, but posted pictures tend to get lost.
Or even better - top right of PMs there is a little red cross to report the PM. that's the best option.

KeyKeeper, any last words?

~RM


Forwarded. If you want me to report it as well, I will more than happily do so.

His last words, I believe, were in the forwarded PM. :)

key keeper55

2009-08-02 23:37:01

yes…. just ummm.. *counts on fingers* 18…

im sorry everyone for lying to you… i dont deserve SRL membership… so i goodbye srl-forums forever :S :((((

key keeper55

2009-08-02 23:39:46

i just wanted SRL membership so bad :((

so… goodbye

Macro_FTW

2009-08-02 23:43:43

From: key keeper55
i just wanted SRL membership so bad :((

so… goodbye


If you wanted membership so bad, you should have learned how to script. If scripting is too hard, try harder, or accept the fact that you can't script and help out the community in another way.

We all learned how to script and got in legitimately. You shouldn't be an exception to this rule. :/

Sir R. M8gic1an

2009-08-02 23:58:00

Ban Hammer. Closed.

~RM