SRL Archive - Archive

stampede10343 - SRL Member Application Form


stampede10343

2008-02-06 20:11:04

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

What is the meaning to life?


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


Programming Knowledge
Looked at a few… Never bothered to learn any

Other Communitys
Sythe but i dont really do anything cause of all the spamming

How Long have You Played Runescape
5 years

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

This will be my :duh: third time applying for a membership, and i think I've learned about some new features and tried to implement them into my script.
I've reviewed almost all of the beginner tutorials and most of the Intermediate tutorials about all the basics and some TPointArrays, and Color Tolerance Speed, stuff like that. I have a decent understanding of Radial Walk, though i only experimented with it. I try to make sure there are fail safes where they need to by looking at similar scripts. I know a little about DDTM's and used one is this script(which actually works:)). I think i got the standards down, please tell me if they're are right. I'm hoping for this to be my final application, three is kinda pushing the limit, but i think im ready. I know that i still need to get my posts and activity up but its getting there and im trying not to spam or add useless info to the forums. So thanks
again, you guys for all your comments and motivation!

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

{.Script Info:
# ScriptName = Stamp's ChickenKiller v1.7
# Author = Stampede10343
# Description = Kills Chickens and Collects Feathers
# Version = 1.7
# Date = 02/02/08
# Comments = Set your constants, and your players up and press play :)
/Script Info}

program ChickenKiller;
{.include SRL/SRL/Misc/Smart.scar}
{.include SRL/SRL.scar}

var
x, y, c: Integer;
ChickenPen, Feather: Integer;
Chickens, PlayerTimer: Integer;

const
TimePerPlayer = 10;// How long to fight and switch players (in mins)
FightTimeOut = 10000;// Max Time it takes to kill a chicken
dbug = false; // Shows extra info via WriteLn, its not really needed
YourSRLID = '';// SRL ID#
YourSRLPass = '';// SRL stats Pass

function Fighting(x, y: Integer): Boolean; Forward;

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

Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Skill := 'strength';
Players[0].Integers[0] := 1; // Fight Mode 1 2
Players[0].Active := True; // 3 4

end;


{ NOT MINE I borrowed from Munk }
function countfeathers:integer;
var
feathers: integer;
count: String;

begin
result:=0;
feathers:=DTMFromString('78DA639464606010614001DBD7AC61E002D28' +
'C40FC1F081845810C5E0634C08844026921202148400D485E8C08' +
'73A409A8E107124A04D480FC2443408D3CA6DF31D448000949FC6' +
'A00153F07BB');
gametab(4);
wait(200+random(50));
if finddtm(feathers,x,y,mix1,miy1,mix2,miy2) then
begin
count:=GetTextAtEx(x-16, y-17, 0, statchars, False, False, 0, 1, 65535, 10, false, tr_AlphaNumericChars);
count:=trim(TrimOthers(count));
if not(count='') then
begin
result:=strtoint(count);
end;
end;
freedtm(feathers);
end;
{ NOT MINE I borrowed from Munk }

procedure AntiBan;
begin
if(dbug)then WriteLn('Doing ze AntiBan!!');
case random(60) of
0: IdleTime(2000, 2000, 0.4);
1: GameTab(1 + random(5));
2: IdleTime(100, 10000, 0.4);
3: BoredHuman;
4: RandomRClick;
5: HoverSkill(Players[CurrentPlayer].Skill, false);
6: GameTab(1 + random(5));
7: AlmostLogout;
8: RandomMovement;
end;
GameTab(4);
MakeCompass('N');
wait(50);
end;

procedure Feathers;
var
f : Integer;

begin
if(not(LoggedIn))then exit;// added
AntiBan;
repeat
Flag;
if(not(LoggedIn))then Exit;
if(Fighting(x, y))then Exit;
begin
if(dbug)then writeln('Looking for feathers');
f := f + 1;
if(FindObj(x, y, 'eather', 469253, 5))then
begin
MMouse(x, y, 5, 5);
wait(30 + random(10));
Mouse(x, y, 0, 0, false);
wait(100 + random(30));
ChooseOption('eather');
FTWait(2);
wait(150 + random(100));
end;
end;
until(f >= 3);
end;

procedure WaitInFight;
begin
if(not(LoggedIn))then exit;// added
FFlag(0);
if(not(Fighting(x, y)))then Exit;
wait(150 + random(50));
repeat
if(dbug)then writeln('Waiting to get out of fight');
FTWait(2);
FindNormalRandoms;
until(not(Fighting(x, y)));
end;

procedure AssembleDTM;
var
SubPoints: array[0..3] of TDTMPointDef;
MainPoint : TDTMPointDef;
PenTDTM: TDTM;
begin
MainPoint .x:=633;
MainPoint .y:=86;
MainPoint .areasize:=1
MainPoint .areashape:=0;
MainPoint .color:=5987170;
MainPoint .tolerance:=255;

SubPoints[0].x:=621;
SubPoints[0].y:=79;
SubPoints[0].areasize:=2;
SubPoints[0].areashape:=0;
SubPoints[0].color:=15658734;
SubPoints[0].tolerance:=10;

SubPoints[1].x:=651;
SubPoints[1].y:=89;
SubPoints[1].areasize:=2;
SubPoints[1].areashape:=0;
SubPoints[1].color:=15922923;
SubPoints[1].tolerance:=10;

SubPoints[2].x:=616;
SubPoints[2].y:=93;
SubPoints[2].areasize:=2;
SubPoints[2].areashape:=0;
SubPoints[2].color:=15922923;
SubPoints[2].tolerance:=10;

SubPoints[3].x:=647;
SubPoints[3].y:=93;
SubPoints[3].areasize:=2;
SubPoints[3].areashape:=0;
SubPoints[3].color:=15922923;
SubPoints[3].tolerance:=10;

PenTDTM.MainPoint := MainPoint;
PenTDTM.SubPoints := SubPoints;
ChickenPen:= AddDTM(PenTDTM);
end;

function CheckGate: Boolean;
var
cx, cy: Integer;

begin
if(not(LoggedIn))then exit;//added
AntiBan;
cx := MSCX;
cy := MSCY;
if(dbug)then WriteLn('Opening Gate');
if(FindColorTolerance(x, y, 2906746, cx - 150, cy - 150, cx + 150, cy + 150, 5))then
begin
MMouse(x, y, 3, 3);
if(IsUpTextMulti('pen', 'Open', 'pen'))then
GetMousePos(x, y);
Result := True;
end;
if(Result)then
Mouse(x, y, 0, 0, true);//fixed
end;

procedure Callibrate;
var
WhichAngle : Extended;
begin
AntiBan;
if(not(LoggedIn))then Exit;
if(FindBlackChatMessage('can''t reach that'))then CheckGate;
if(dbug)then WriteLn('Callibrating');
if(FindDTMRotated(ChickenPen, x, y, MMX1, MMY1, MMX2, MMY2, - Pi/2, Pi/2, 0.1,
WhichAngle))then
begin
mouse(x, y, 4, 4, true);
c := 0;
end;
end;

function Fighting(cx, cy: Integer): Boolean;
var
cx, cy: Integer;

begin
if(not(LoggedIn))then exit;
if(FindColor(cx, cy, 255, x - 10, y - 20, x + 10, y + 20)or
FindColor(cx, cy, 65280, x - 10, y - 20, x + 10, y + 20)or
FindColor(cx, cy, 192, x - 10, y - 20, x + 10, y + 20)or
FindColor(cx, cy, 16728128, x - 10, y - 20, x + 10, y + 20))then
begin
Result := True;
end else
Result := False;
end;

procedure FindChicken;
var
Points1: TPointArray;
Points2, p: TPointArray;
cx, cy, i: Integer;
q: TPoint;

begin
AntiBan;
if(not(LoggedIn))then Exit;
if(Fighting(x, y))then exit;
cx := MSCX;
cy := MSCY;
FFlag(0);
FindColorsSpiralTolerance(cx, cy, Points1, 857701, MSX1, MSY1, MSX2, MSY2, 10);
FindColorsSpiralTolerance(cx, cy, Points2, 8431292, MSX1, MSY1, MSX2, MSY2, 10);
i := i + 1;
p := CombineTPA(Points1, Points2);
q := MiddleTPA(p);
MMouse(q.x, q.y, 5, 5);
wait(10 + random(20));
if(i >= 5)then Callibrate;//Added
if(IsUpTextMulti('tack', 'hicken', 'cken'))then
begin
Mouse(q.x, q.y, 0, 0, true);
FTWait(4);
FindNormalRandoms;
FFlag(0);
if(FindBlackChatMessage('can''t reach that'))then CheckGate;
end;
if(Random(30) = 2)then
begin
if(dbug)then writeln('Random Skill Check');
HoverSkill(Players[CurrentPlayer].Skill, false);
wait(700 + random(500));
end;
inc(Chickens);
inc(Players[CurrentPlayer].Integers[3]);
inc(ReportVars[0]);
CheckGate;
end;

procedure SetupPlayer;
Begin
if(not(LoggedIn))then exit;
wait(250);
LoginPlayer;
SetFightMode(Players[CurrentPlayer].Integers[0]);
SetRun(True);
SetAngle(True);
MakeCompass('N');
GameTab(4);
wait(500);
end;

procedure Proggy;
var
i, f: Integer;
begin
for i := 0 to HowManyPlayers - 1 do
begin
writeln(IntToStr(i) + ': ' + Players[i].Nick + ' |' + Left(BoolToStr(Players[i].Active), 1) + '| '
+ 'Collected: ' + IntToStr(Players[i].Integers[2] - Players[i].Integers[1]) + '| Killed: ' + IntToStr(Players[i].Integers[3]));
f := f + Players[i].Integers[1];
Writeln('');
writeln('|<---------------------------->|');
writeln('|< Stamp''s Chicken Killer 1.5 >|');
writeln('|<---------------------------->|');
writeln('|< Killed : ' + inttostr(Chickens) + ' Chickens >|');
writeln('|< Collected : ' + IntToStr(f) + ' Feathers >|');
writeln('|< Worked For : ' + TimeRunning + ' >|');
writeln('|<---------------------------->|');
ReportVars[1]:=f-feather;
feather := f;
SRLRandomsReport;
end;
end;

begin
SmartSetupEx(51 , false, false);
while(not(SmartReady))do wait(1000);
SetTargetDC(SmartGetDC);
SetupSRL;
ScriptID := '601';
SRLID := YourSRLID;
SRLPassword := YourSRLPass;
if(YourSRLID = '')then
begin
WriteLn('Get A SRL Stats ID, script terminated...');
TerminateScript;
end;
DeclarePlayers;
AssembleDTM;
MouseSpeed := 30;
repeat
begin
SetupPlayer;
Proggy;
Players[CurrentPlayer].Integers[2]:= CountFeathers;
MarkTime(PlayerTimer);
repeat
FindChicken;
WaitInFight;
c := c + 1;
if(c = 3)then
begin
Callibrate;
end;
if(dbug)then writeln('Done Waiting for Fight');
Feathers;
FindNormalRandoms;
until(TimePerPlayer * 60000 <= TimeFromMark(PlayerTimer));
Players[CurrentPlayer].Integers[1] := CountFeathers - Players[CurrentPlayer].Integers[2];
Proggy;
if(not(LoggedIn))then NextPlayer(False);
if(LoggedIn)then NextPlayer(True);
end;
until(false);
end.

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

gerauchert

2008-02-06 21:03:47

Not bad, you are definitely improving. Holding my vote for now to see what everyone else is thinking…

Things I noticed:

Not really any failsafes…You need to have a if(not(LoggedIn))then Break on repeat loops in your mainloop. Also, what happens if it fails finding the gate? You need a failsafe for that as well. Maybe some timing failsafes if it doesnt find the chicken after x amount of seconds it will recalibrate.

For this:
function CheckGate: Boolean;
var
cx, cy: Integer;

begin
AntiBan;
cx := MSCX;
cy := MSCY;
if(dbug)then WriteLn('Opening Gate');
if(FindColorTolerance(x, y, 2906746, cx - 150, cy - 150, cx + 150, cy + 150, 5))then
begin
MMouse(x, y, 3, 3);
if(IsUpTextMulti('pen', 'Open', 'pen'))then
Result := True;
end;
if(Result)then
MMouse(x, y, 0, 0);
if(IsUpTextMulti('pen', 'Open', 'pen'))then
Mouse(x, y, 0, 0, true);
end;

Why do you have it check the uptext twice? If it finds the uptext on a mouse move it should still be there….just throw in a click instead of the extra check. Maybe a failsafe for this as well.

You do show improvement in your SRL knowledge, but im not sure if it is enough yet. I like the FindColorsSpiralTolerance with TPAs , giving you a bonus in my book. I also like the DDTM, but im not sure it serves its purpose without autocolor involved in it somehow…it is working just like a normal DTM would imo.

Standards still arent quite there. Uhg see the tutorial in my sig and look under the standards section. They really really arent that hard. You should have them down by now especially since this is your third attempt. :rolleyes:

Holding vote, leaning towards a yes though. ;)

stampede10343

2008-02-06 21:16:26

i'll edit this and fix those errors, and add failsafes in there, thanks i didnt see it moved twice.

Narcle

2008-02-07 00:24:22

From: stampede10343
i'll edit this and fix those errors, and add failsafes in there, thanks i didnt see it moved twice.


I wouldn't edit anymore. Those should of been fixed before applying with it, not while it was up. Some SRL members that vote don't like that… It was debated before if you can edit it and from what I've listened to its better not to edit and just admit that you will fix that… Or just post a fixed version on the thread you released it on (if you released it).

I will agree with gera, the failsafes needed to be added… I see you added them like they should of been before. Looks a lot better. However I'm ignoring that fact because before they weren't there until mentioned.

The use of TPAs and DDTM and such is defiantly a plus, if this script works then you know how to use them.

Leaning towards a yes for sure.

stampede10343

2008-02-07 06:42:21

yea, i'm sorry i understand that i should have looked it over a couple times. i added a lot in this version so i probably skipped some of the things

MylesMadness

2008-02-07 08:36:13

hmmmmm. I don't see an rrw or rw in there. Isn't that required for a members app. Unless someone can correct me I'm thinking its a no.

footballjds

2008-02-07 11:49:30

From: Mylesmadness
hmmmmm. I don't see an rrw or rw in there. Isn't that required for a members app. Unless someone can correct me I'm thinking its a no.


not required, just suggested :D
NO from me sorry ;)

PriSoner

2008-02-08 11:48:36

You haven't updated the version number in the proggy report:
{.Script Info:
# ScriptName = Stamp's ChickenKiller v1.7
# Author = Stampede10343
# Description = Kills Chickens and Collects Feathers
# Version = 1.7
# Date = 02/02/08
# Comments = Set your constants, and your players up and press play :)
/Script Info}

   Writeln('');
writeln('|<---------------------------->|');
writeln('|< Stamp''s Chicken Killer 1.5 >|');
writeln('|<---------------------------->|');
writeln('|< Killed : ' + inttostr(Chickens) + ' Chickens >|');
writeln('|< Collected : ' + IntToStr(f) + ' Feathers >|');
writeln('|< Worked For : ' + TimeRunning + ' >|');
writeln('|<---------------------------->|');

For that I'm going to have to punsih you and vote NO!!! :stirthepot:





only Joking! :D It's a YES from me..

C'mon lighten up people………..

stampede10343

2008-02-08 15:33:16

hey thanks i didn't notice that, you must be a newer member cause i haven't seen you around much;)

MylesMadness

2008-02-08 15:49:18

Yep I think hes the newest.

JAD

2008-02-08 16:06:59

I hate all the whole FindObj functions… IMO it's a poopy function (sorry for the language :p).

Yes from me though. You can script better than some members here, but some members feel less important the more members there are so they vote no on most applications so they feel more important which is wrong.

Good luck and good job!

stampede10343

2008-02-08 18:22:57

JAD your a funny guy lol… anyways a couple of your tuts helped out more than you could imagine thanks :)

Santa_Clause

2008-02-09 03:24:16

No, sorry. Script is too short. Too much antiban, plus the DDTM. Standards aren't good.

Sir R. M8gic1an

2008-02-09 04:15:43

Yes from me. I'm not sure about the TPA pasrt, n3ss3s would be much more at telling you about it, but i think you need a split TPA in there. because you'll find many chickens and if you go to the middle point of the two chickens you won't actually find anything in there. do keep in mind i might be wrong because TPA's are not my best subject :p and then it would also be good to have a for to do loop to actually look at more than just one spot.

your standards are off sometimes, but the fact that they're right most of the time shows you know it, th ones off just show some lazyness and distraction.

i like the fact that you edited the script in your app, show commitment.

Also, Like JAD, i think peopel should loosen up a bit. the requirement for SRL members is not a flawless script, it's a script that shows a good amount of Scar and SRL knowledge.

edit: [offtopic] yay, 350k alches on my alcher![/offtopic]

~RM

stampede10343

2008-02-09 10:51:09

From: Santa_Clause
Too much antiban, plus the DDTM. Standards aren't good.
Too much AntiBan?? you've got to be kidding. I'm sorry if i sound unreasonable but i didn't think there was too much antiban, and its not using it every time its called

MasterKill

2008-02-09 11:01:55

yes.

one of the better aply's.

[hint] 'fix standaards' in script C:\Program Files\Scar 3.14\scripts\Stamp's ChickenKiller v1.7.scar

EDIT:
where did all those "no's" come from?

Raskolnikov

2008-02-09 11:24:13

Lol, nice debug line MK :p.

I think you should've used TPA's for the feather picking. I would've used FindColorsTolerance then use MiddleTPA then check for uptext. I don't nessecarily like FindObj… It could get you banned :S. Oh, and, work on your standards…

Cut em2 it

stampede10343

2008-02-09 11:32:08

From: MasterKill
yes.

one of the better aply's.

[hint] 'fix standaards' in script C:\Program Files\Scar 3.14\scripts\Stamp's ChickenKiller v1.7.scar

EDIT:
where did all those "no's" come from?


Well like the first day it was up there was like 2 or 3 no's and like the posts stopped at footballjds post. i wanted to say something but i dont more people to get mad at me :(


EDIT:
Im tallying up the votes
gerauchert: yes, fo show! ;)
Narcle: maybe, leaning towards yes
Mylesmadness: probably no, but RRW not required
footballjds: No
PriSoner: yes
JAD: yes
Santa_Clause: No, too much antiban??
Rasta Magician: yes
MasterKill: yes
cut em2 it: who knows?

Yes: 6 maybe 7
No: 3 maybe 4

Hmmm…

gerauchert

2008-02-09 12:00:05

I voted yes. gl ;)

JAD

2008-02-09 12:22:25

From: stampede10343
Well like the first day it was up there was like 2 or 3 no's and like the posts stopped at footballjds post. i wanted to say something but i dont more people to get mad at me :(


EDIT:
Im tallying up the votes
gerauchert: yes, fo show! ;)
Narcle: maybe, leaning towards yes
Mylesmadness: probably no, but RRW not required
footballjds: No
PriSoner: yes
JAD: yes
Santa_Clause: No, too much antiban??
Rasta Magician: yes
MasterKill: yes
cut em2 it: who knows?

Yes: 6 maybe 7
No: 3 maybe 4

Hmmm…


People aren't required to post what they voted, although it's wrong not to post your reasons unless your reasons had already been specified by posts above where you would have posted. Remember why I said a lot of people are voting no… It's not personal, it's them being insecure and wanting all the members stuff to themselves because it makes them feel special, even though you'd be a great asset to the force.

Good luck, and I hope some more people vote yes. You deserve to get in.

stampede10343

2008-02-09 12:30:27

o ok i never knew that, sorry i'm just being a little impatient boger( Excuse my foul words ;) )

Raskolnikov

2008-02-09 12:32:50

Oh and, for the record, I'm holding my vote… I'm leaning towards a yes then I lean towards a no. Right now I'm leaning towards a yes…

Cut em2 it

stampede10343

2008-02-11 18:10:07

is that all the members there are? its been 2 days idle…

TheGuyWhoGotOn

2008-02-12 11:26:56

I'll have to say yes :). I think your script looks good and you seem very promising to get better. I really see no reason to vote no :P.

Edit: What's up with all the no's?

n3ss3s

2008-02-12 11:44:49

There is nothing actually "wrong" in FindObj, it's just that it's the old Stupid3ooo algorithm, and now we can just find the closest one with an uptext with a FindColorsSpiralTolerance and a for loop.

Yes, your chicken finding needs a bit fixing - after the CombineTPA do

TPAA(an Array of TPointArray) := TPAToATPAEx(p, 4, 4);

That splits the one tpa of red points to tpa's of 4*4 blocks, so then, have a for loop, and then with the MiddleTPA do "TPAA[loopcounter]" instead of p.

I think you get the idea?

stampede10343

2008-02-12 16:58:32

thanks for that im still a little confised, but i PM'd u

Pure1993

2008-02-13 05:58:23

Well, like so many before me said: I can't really see where all the noes come from. I think atm I am the newest member, and I know I am not suppossed to vote yet, but come on, my application wasn't much better, and I got in, I even think his script is better than mine was, so why vote no? I have my pride for being the newest member, and probably one of the fastest ones to get accepted, but I would have nothing against him taking up my place as "newest member", he seems to be quite active, has a good longetivity, and his script is not bad, yes from me.

Edit: By the way, losing by such a small margine doesn't mean anything, it is up to the admins to take care of teh final decision, and I think they'll have nothing against you. :)

stampede10343

2008-02-13 06:51:49

From: Stur Pure
Edit: By the way, losing by such a small margine doesn't mean anything, it is up to the admins to take care of teh final decision, and I think they'll have nothing against you. :)

I never knew that. Congratz on the membership though ;)

Pure1993

2008-02-13 06:54:41

Thanks :D
Btw: Maybe you should change your sig to 100%, makes you look better and more secure ;)

MylesMadness

2008-02-13 08:41:05

From: Stur Pure
Edit: By the way, losing by such a small margine doesn't mean anything, it is up to the admins to take care of teh final decision, and I think they'll have nothing against you. :)
Then wizzy must not like me(I'm not going to hold this against you after this)10 yes 6 noes and i got declined on my 3rd try. You had 2 more yeses then noes(As I recall off the top of my head)and got in.

Pure1993

2008-02-13 09:23:17

you recall correctly. I guess I had teh luck ending up with nielsies, but wizzup voted yes on my app, so I think I would have gotten in either way. how about you ask Wizzup? why he declined you (if he didn't say so on the thread).

MylesMadness

2008-02-13 09:36:36

I already did and I understand the admins have max power no matter what so they can do that and thats why I'm not going to hold it against him anymore.

nielsie95

2008-02-14 03:48:12

I'm sorry, you're not getting in this time.
But, because this was a close one, you may try again in two weeks :)
Closed.