SRL Archive - Archive

newbiezkid - SRL Member Application


Orbital

2009-12-16 08:29:42

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
php, action-script, javascript


Are you a member of any other communities?
Evokeone


Tell us about yourself…
From: newbiezkid
Have to go over this again :/

I'm 15 and go to school in Australia… This was the first forum I ever visited… So its kinda special…

I enjoy graphics alot… I think sp0rk-eh and c0de are responsible for that…

I stepped down to junior member to polish my skills and this is my second attempt to regain my membership…



Please show us one (or multiple) of your scripts.
{____________________________________________________________________________________
\\ //
// What it does? \\
\\ //
// Smelts ores at Falador east bank into bars. \\
// //
\\ Instructions \\
// //
\\ Set your character at Falador east bank and fill out the character details. \\
// Then press play. //
\\ And then do something else. \\
// //
\\ Please post any bugs with the script \\
// //
____________________________________________________________________________________}

program FallyEasySmither;
{.include SRL\SRL\Misc\Smart.scar}
{.include SRl/SRl.scar}

var
Loads: Integer;
Bars: Integer;
LoadsToGo: integer;

procedure declarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; //username
Pass := ''; //password
Nick := ''; //3-4 letters from your username
Skill:= '';
loc := '';
Active := true;
end;
end;

const
SpamDebugBox = True;
Load = 10; // Loads Until Next Player

procedure DebugText(what: string);
begin
if SpamDebugBox then
begin
Writeln(what);
Status(what);
Disguise(what);
end else
begin
Status(what);
end;
end;

procedure Prog(what: string);
var
X,I,Time: integer;

begin
MarkTime(time);
repeat
X := GetSkillInfo('Smithing', False);
if timefrommark(time) > 4000 then
Break;
until(X > 0);

WriteLn('----------------------------');
WriteLn('----------------------------');
case what of
'full':
begin
WriteLn('');
WriteLn('Newbiz Smither East Fally ');
WriteLn('');
WriteLn('Ran For '+ TimeRunning);
If Bars > 0 then
WriteLn('Bars Made : '+IntToStr(Bars));
If Loads > 0 then
WriteLn('Loads done ' + IntToStr(Loads));
if X > 0 then
WriteLn('X');
WriteLn('');
WriteLn('----------------------------');
WriteLn('----------------------------');
end;
end;
Writeln('Player Info:');
WriteLn('');
WriteLn('|---------------------------');
Disguise('-• Loads Done: ' + IntToStr(Loads)+'•––');
for i := 0 to HowManyPlayers - 1 do
begin
WriteLn('| ' + Players[i].loc);
WriteLn('|---------------------------');
WriteLn('|---------------------------');
end;
end;

function FindOre(what: string): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
Color: Integer;
begin
begin
case what of
'iron': Color:=2305869;
'silver': Color:=11971499;
'coal': Color:=2702653;
'gold': Color:=1815515;
end;
end;
dtmMainPoint.x := 1080;
dtmMainPoint.y := 406;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := Color;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 1080;
dtmSubPoints[0].y := 406;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := Color
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 1074;
dtmSubPoints[1].y := 392;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 65536;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 1092;
dtmSubPoints[2].y := 399;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 65536;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 1073;
dtmSubPoints[3].y := 419;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 65536;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 1063;
dtmSubPoints[4].y := 404;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
DebugText('Loading DDTMs');
end;

function FallyRRdColor: Integer;
var
H,S,L,X,Y,Z : Extended;
R,G,B,P,A,Color : Integer;
TPA : TPointArray;
begin
FindColorsSpiralTolerance(MMCX, MMCY, TPA, 6187895, MMX1, MMY1, MMX2, MMY2, 60)
P := High(TPA);
for A := 0 to P do
begin
if RS_OnMinimap(TPA[A].X, TPA[A].Y) then
begin
Color := GetColor(TPA[A].X, TPA[A].Y);
if SimilarColors(Color, 6187895, 50) then
begin
ColorToRGB(Color, R, G, B);
ColorToXYZ(Color, X, Y, Z);
if InRange(R - G, -8, 32) then
if InRange(R - B, 5, 45) then
if InRange(G - B, -7, 33) then
if InRange(Round(X) - Round(Y), -7, 7) then
if InRange(Round(Y) - Round(Z), -5, 9) then
if GetColor(TPA[A].X + 2, TPA[A].Y + 2) = Color then
if GetColor(TPA[A].X + 1, TPA[A].Y + 1) = Color then
begin
Result := Color;
Exit;
end;
end;
end;
end;
Writeln('Color Was Not Found.');
DebugText('Color Not Foind');
Result := 0;
end;

function FallyRdColor: Integer;
begin
if FindFallyRoadColor = 0 then
begin
Result := FallyRRDColor;
Exit;
end else Result:= FindFallyRoadColor;
end;

function WalkDTM(where:string):Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case where of
'1':
begin
dtmMainPoint.x := 1100;
dtmMainPoint.y := 302;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FallyRdColor;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 1100;
dtmSubPoints[0].y := 302;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FallyRdColor;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 1094;
dtmSubPoints[1].y := 294;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 1664615;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 1103;
dtmSubPoints[2].y := 309;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 1530207;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 1103;
dtmSubPoints[3].y := 292;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 1598051;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 1087;
dtmSubPoints[4].y := 299;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16119795;
dtmSubPoints[4].Tolerance := 15;

DebugText('Loaded DTM1');
end;
'2':
begin
dtmMainPoint.x := 1147;
dtmMainPoint.y := 343;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FallyRdColor;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 1147;
dtmSubPoints[0].y := 343;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FallyRdColor;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 1130;
dtmSubPoints[1].y := 335;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 2117978;
dtmSubPoints[1].Tolerance := 12;

dtmSubPoints[2].x := 1153;
dtmSubPoints[2].y := 357;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2185566;
dtmSubPoints[2].Tolerance := 12;

dtmSubPoints[3].x := 1136;
dtmSubPoints[3].y := 355;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2119002;
dtmSubPoints[3].Tolerance := 12;
DebugText('Loading DDTM 2');
end;
end;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

Function Walk(WhereTo: string): boolean;
var
DTMM: integer;
X,Y: Integer;
begin
if not LoggedIn then
Exit;
SetRun(True);

case whereTo of
'Smith':
begin
If RadialWalk(FallyRdColor,00,00,00,2,2) then
begin
Writeln('RoadColor Is Good');
DebugText('Walked Step 1');
end else

begin
Writeln('RadialWalk Failed, DDTM now');
if not DTMRotated(WalkDTM('1'), x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln ('did not found bank dtm');
Nextplayer(false);
DebugText('Bank Not found');
Exit;
end;
FFlag(0);
end;

if RadialWalk(FallyRdColor,20,80,65,2,2) then
begin
Writeln('Walked To Point 2');
DebugText('WalkedToPoint 2');
end else
begin
DebugText('Radial Failed DDTM');
if not DTMRotated(WalkDTM('2'), x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln ('did not found dtm');
DebugText('No DDTM found NecxPlayer');
Nextplayer(false);
Exit;
end;
FFlag(0);
end;

if (findSymbol(x, y, 'bank')) then
begin
writeln('Bank Symbol Found');
DebugText('Found Symbol,, Arrived');
Mouse(x, y -5, 2 , 2, true);
FFlag(0);
Writeln('Arrived At Bank');
Exit;
end;
Mouse(661, 129 - 5 , 2, 2, True);
FFlag(0);
end;

'Bank':
begin
DTMM := DTMFromString('78DA633466616098C6C8800CB6ACEA07D3305' +
'1460BA09AD9A86AFEFC61425563805D0D3FB21A73A09A3904D4D8103' +
'6070012480E37');
if Not RadialWalk(FallyRdColor,250,330,67, 2 , 2) then
begin
if not DTMRotated(WalkDTM('2'), x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln ('did not found dtm');
DebugText('DTM not found');
Nextplayer(false);
Exit;
end;

FFlag(0);
if not DTMRotated(WalkDTM('1'), x, y, MMX1, MMY1, MMX2, MMY2) then
begin
RadialWalk(FallyRdColor,180, 240 , 70 ,2 ,2);
Writeln ('did not found dtm');
DebugText('DTM not found');
end;

FFlag(0);
if not DTMRotated(DTMM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
DebugText('DTM not found');
DebugText('backing up');
Mouse(630, 87,2,2,true);
end;

FFlag(0);
end;
end;
end;
FindNormalRandoms;
Result:= True;
FreeDTM(walkDTM('1'));
FreeDTM(walkDTM('2'));
end;

function FindSmelt : Boolean;
var
Z,I : Integer;
TPA: TPointArray;
TPAS: T2DPointArray;

begin
SetAngle(True);
if not LoggedIn then Exit;
FindColorsSpiralTolerance(MSCX, MSCY - 75, TPA, 4022675, MSX1, MSY1, MSX2, MSY2, 10);
for z:= 0 to High(TPA)do
begin
TPAS := TPAToATPA(TPA, 25);
if GetArrayLength(TPAS) < 6 then
Exit;
for I := 0 To High(TPAS) do
TPA[i] := MiddleTPA(TPAS[i]);
for I := 0 To Length(TPA) do
MMouse(TPA[i].X , TPA[i].Y , 5, 5);

if IsUpText('melt') then
begin
Result := True;
FindNormalRandoms;
DeBugText('Found');
Exit;
end;

Wait(350+random(350));
end;
Result := False;
FindNormalRandoms;
DeBugText('Not found');
end;

function FindPerson : Boolean;
var
Person: TPointArray;
People: T2DPointArray;
I: integer;


begin
if not LoggedIn then
Exit;
if not FindColorsSpiralTolerance(MSCX, MSCY, Person, 456736775, MSX1, MSY1, MSX2, MSY2, 40) then
Exit;
People := TPAToATPA(Person, 16);
if GetArrayLength(people) < 3 then
Exit;
for I := 0 To High(People) do
Person[i] := MiddleTPA(People[i]);
for I := 0 To Length(Person) do
begin
MMouse(Person[i].X , Person[i].Y , 5, 5);
if IsUpText('alk') then
begin
Result:= True;
Exit;
wait(1);
end;
end;
end;

function PosArray(Text: array of string): Boolean;
var
I : integer;
II: string;

begin
Result := False;
GetLastChatText(II);
for I := 0 to High(Text) do
if Pos(Lowercase(Text[i]), Lowercase(II)) > 0 then
Result := True;
wait(1)
end;

procedure AutoRespond;
var
Text: string;
OldMessage: string;
X: integer;
begin
GetLastChatText(Text);
if OldMessage = Text then
Exit;
if not FindPerson then
begin
DeBugText('Not found People Around');
Exit;
end;

if PosArray(['smith l','lvl', 'ith lv', 'sm l', 'smithing lvl']) then
begin
repeat
X := GetSkillInfo('Smithing', False);
until(X > 0);

Case Random(14) of
0: TypeSend(IntToStr(x));
1: TypeSend('im ' + IntToStr(x) + ' and you?');
2: TypeSend('go away');
3: TypeSend('I' + chr(39) + 'm ' + IntToStr(x));
end;
exit;
end;

if PosArray(['lol','ha','lmao','rofl','lmfao']) then
begin
case random(15) of
0: TypeSend('ahahah good 1');
1: TypeSend('lol');
2: TypeSend('rofl');
3: TypeSend('lmao');
4: TypeSend('Meh.');
end;
Exit;
end;

if PosArray(['hi','hello','sup']) then
begin
case random(15) of
0: TypeSend('hey');
1: TypeSend('lol hey');
2: TypeSend('hi');
3: TypeSend('hi!!!!');
4: TypeSend('yessum?');
end;
Exit;
end;
end;

Function Smith(Number: integer): boolean;
begin
while LoggedIn do
begin
DeBugText('Clicking Smithing Box');
MouseBox(40+(Number - 1)* 50,398,61+(Number - 1)* 50,412,1);
wait(500 + random(300));
FindNormalRandoms;
Result:= True;
end;
end;

procedure Banking;
var
KK,x,y:integer;
begin
DeBugText('Banking');

repeat
OpenBankFast('FWB');
if TimeFromMark(Kk) > 20000 then
Exit;
wait(4);
until(BankScreen);

if BankScreen then
begin
DeBugText('Banking');
Deposit(1,28,true);
end else
begin
NextPlayer(False);
DeBugText('Next Player');
end;

Wait(500+random(100));
begin
case (Players[CurrentPlayer].Skill) of
'iron':
begin
FindOre('iron');
begin
mouse(x,y,3,3,false);
wait(200+random(100));
chooseOption('All');
FreeDTM(FindOre('iron'));
end;
end;

'silver':
begin
FindOre('silver');
begin
mouse(x,y,3,3,false);
wait(200+random(100));
chooseOption('All');
FreeDTM(FindOre('silver'));
end;
end;

'steel':
begin
FindOre('iron');
begin
mouse(x,y,3,3,false);
wait(200+random(100));
if chooseOption('X') then
begin
wait(300+random(100));
typesend('9');
end;
FreeDTM(FindOre('iron'));
end;
FindOre('coal');
begin
mouse(x,y,3,3,false);
wait(200+random(100));
if chooseOption('X') then
begin
wait(300+random(100));
typesend('18');
end;
end;
FreeDTM(FindOre('coal'));
end;

'gold':
begin
FindOre('gold');
begin
mouse(x,y,3,3,false);
wait(200+random(100));
chooseOption('All');
FreeDTM(FindOre('gold'));
end;
end;
end;
wait(1000+random(200));
CloseBank;
FindNormalRandoms;
AutoRespond;
end;
end;

function AntiBan(High:string): boolean;
begin
case High of
'high':
begin
case random(3) of
1:begin
BoredHuman;
Result := True;
end;
2:begin
RandomRClick;
Wait(2000 + random(2500));
Result := True;
end;
3:begin
PickUpMouse;
Wait(2000 + random(2500));
Result := True;
end;
end;
Result := True;
end;

'low':
begin
case random(5) of
1:begin
if GameTab(1+random(8)) then wait(random(500));
end;
2:begin
if GameTab(1+random(2)) then wait(random(500));
end;
3:wait(random(1000));
4:PickUpMouse;
5:RandomRClick;
end;
Result := True;
end;
end;
end;

procedure Main;
var
XX,X,Y: integer;

begin
Banking;
DeBugText('Looping');
if walk('There') then
begin
if FindSmelt then
begin
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, True);
end;
end else
begin
DeBugText('Lost NextPLayer');
NextPlayer(False);
Exit;
end;

begin
case (Players[CurrentPlayer].Skill) of
'iron' : Smith(1);
'steel' : Smith(4);
'gold' : Smith(6);
'silver' : Smith(2);
end;
end;
MarkTime(XX);

repeat
AntiBan('high');
AntiBan('low');
AutoRespond;
if TimeFromMark(xx) > 25000 then
Break;
wait(2);
until(false);

FindNormalRandoms;
if walk('There') then
begin
DeBugText('+ 1 Loads');
Exit;
Loads:= Loads + 1;
Bars:= Bars + 1;
end;
Writeln('Lost');
NextPlayer(False);
Exit;
end;

procedure Loop;
begin
repeat
Main;
LoadsToGo:= LoadsToGo - 1;
Prog('full');
until(LoadsToGo = 0)or(not LoggedIn);
NextPlayer(true);
end;

begin
Smart_Server := 110;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
LoadsToGo := Load;
DeclarePLayers;
LoginPlayer;
SetAngle(true);
SetChat('on',1);
SetChat('on',2);
SetChat('on',3);
SetChat('on',4);
SetChat('on',5);
SetRun(true);
MakeCompass ('n');
repeat
Loop;
until(false);
end.

Tickyy

2009-12-16 08:36:08

Took a quick glance, Its phenomenal for a JRM… :).

Yes For sure, Welcome to SRL MEMBERS.

E: Wait… You were a SRL member before?

Gu3st...

2009-12-16 08:41:58

From: Tickyy
E: Wait… You were a SRL member before?
Yes, he was xP

I vote yes this time :)

Sabzi

2009-12-16 08:46:56

Yes from me.

cycrosism

2009-12-16 08:52:47

Script looks good to me.

Yes

Nava2

2009-12-16 08:53:45

Yes, didn't even look at the script.

You deserve it.

Naike

2009-12-16 09:30:10

From: Nava2
Yes, didn't even look at the script.

You deserve it.

…

Nava2

2009-12-16 09:31:50

From: N1ke!
…


I can vote for what ever reason I want, can I not?

Dervish

2009-12-16 09:51:55

No because of your attitude.

j/k I voted yes, of course

Lancelot074

2009-12-16 10:43:36

Took a look at the script, and you seem like a decent enough guy.

Voted yes. ^.^

Sir R. M8gic1an

2009-12-16 10:47:50

Definitely.

~RM

Gu3st...

2009-12-16 14:59:07

From: Nava2
I can vote for what ever reason I want, can I not?
Not really… If someone is from the moon, and you vote yes just because of that then I am pretty sure that it wont be counted when the admins comes to see if the applicator should be accepted or not..

Bionicle

2009-12-16 15:02:30

Wow.
I have nothing to say.
This is new,
Usually I go way in depth with my constructive criticism, as some of you might have seen my last vote was a bit .. long :p
But I can't find anything.
Great attitude from the last while,
Great knowledge in SCAR,
YES!

Daniel

2009-12-16 17:29:45

WalkDTM
FallyRRdColor

Your standards (at the end) in FallyRRdColor are horribly wrong =\ But it doesn't matter, since we can all still read it :) Also, your standards are off a bit in your WalkDTM routine too. So, for the reasons to the left and to the above, I am voting no. Sorry.

Just kidding =) It's a well prepared and made script. So I am voting yes. However, I was leaning towards a no since you constantly spelt coloUr wrong =\ >=(

TRiLeZ

2009-12-16 17:35:47

[QUOTE=Dan's The Man;666425]WalkDTM
FallyRRdColor

Your standards (at the end) in FallyRRdColor are horribly wrong =\ But it doesn't matter, since we can all still read it :) Also, your standards are off a bit in your WalkDTM routine too. So, for the reasons to the left and to the above, I am voting no. Sorry.

Just kidding =) It's a well prepared and made script. So I am voting yes. However, I was leaning towards a no since you constantly spelt coloUr wrong =\ >=(

Colour is the correct spelling of "color" in the United Kingdom, Ireland, New Zealand, Canada and Australia.
Noob :p

It's a yes from me. Don't have the time ATM to examine every line of code in your script though.

Bionicle

2009-12-16 17:41:49

To y'all who are voting no because of his attitude, I'd think again if I were you. I have noticed a change in his behavior, and for that reason plus the reason of his great application script, I have voted yes. Yes, attitude does count in the decision, but it isn't everything. Even if he still had a bad attitude, I would still have voted yes.
Come on people.

Nava2

2009-12-16 17:45:53

From: Zyt3x
Not really… If someone is from the moon, and you vote yes just because of that then I am pretty sure that it wont be counted when the admins comes to see if the applicator should be accepted or not..


I could have just not said something ;)

Btw newbiez, SetAllChats.

Blumblebee

2009-12-16 18:01:46

From: bionicle1800
To y'all who are voting no because of his attitude, I'd think again if I were you. I have noticed a change in his behavior, and for that reason plus the reason of his great application script, I have voted yes. Yes, attitude does count in the decision, but it isn't everything. Even if he still had a bad attitude, I would still have voted yes.
Come on people.


attitude = 60% of the application, the other 40% is scripting ability.

Naike

2009-12-16 18:03:11

From: Nava2
I can vote for what ever reason I want, can I not?


I agreed with you silly.
There's just this stupid limit of three chars, therefor, …

Coh3n

2009-12-17 01:22:14

Yes. :)

Sir R. M8gic1an

2009-12-17 03:29:00

Welcome to Jah People!

~RM