SRL Archive - Archive

speedster - SRL Member Application


speedster

2013-03-04 08:52:39

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Java/C#/Vb.Net/C/C++/MathLab/ASM/Pascal (thanks to Simba)


Are you a member of any other communities?
RobotzInDisguise ( <3 ). And on Sythe mostly for trading purposes.


Tell us about yourself…
From: speedster
Well I started to play RuneScape in 2002, when I was just a kid, got myself banned in 2006, and resumed playing in 2009 :)

In RL, am a nice guy - went ahead and signed up at University - studying IT Science (Not bragging much about the University I study on as it isn't that hard core (wish it was :( ) - it has been a bit of help, but what and when I learn/study about new stuff I usually do it on my own).

I registered on SRL about a year ago - as someone mentioned you guys on Robotz In Disguise, was a bit curious how bots work :D. I had no clue how to script but I learned quickly :). It's just I found this 2007 RuneScape release to be a good moment to finally get SRL Members, since scripts for 2007 are scarce . :).

I don't have the permission to attach files in Manage Attachments, so I hope I did the right thing in adding
 
below…



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

program OpenGraniteV1dot33;
{$DEFINE SMART}
{$I SRL/SRL.Simba}
{$I P07Include.Simba}

var

Line:TStringArray;
TotalXpGain,BombCount,LastBombIndex,BombIndex:Integer;
Granite:TIntegerArray;
BombBoxes:TBoxArray;


procedure DeclareDTMs;
var
i:Integer;
begin
SetLength(Granite,3);
for i := 0 to High(Granite) do
begin
case i of
0: Granite[i] := DTMFromString('mrAAAAHic42BgYHBhYmDwAGJHILYAYmsgdgBibyD2BWIfRgYGdyCOBeJwIPaH8sOA2A+IaxPcgKYw4sSsDPgBbp0QDAMAAJ8F8Q==');
1: Granite[i] := DTMFromString('mwQAAAHichcwxCoAgAEbhX6GhmzXYIARhuUWEQUHQ2GW8aQ+CRn3wra+VtFsp4cCFGysWbDjhjRQQMWHEgB4dHPIzczNFjeqVD5+/F+VYCGE=');
2: Granite[i] := DTMFromString('mwQAAAHic42RgYOAAYj4g5mKAAGYgZoOyeYGYHcpnh8oxQ/XAAA8QcwPx7PIIIMmIF3MxEAb4TYBgOAAA9vMB/g==');
end;
end;
end;

procedure FreeOurDTMs;
begin
FreeDTMs(Granite);
end;

Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
P07_PlayerName := '';
P07_PlayerPass := '';
Pin := '';
Active := True;
end;
end;



(*
GetUpText2
~~~~~~~~~
by DannyRS

GetUpText in certain situations
didn't scan the entire UpText Area,
failing some functions.

*)
Function P07_GetUpText2: String;
Var
WhiteT,BlueT,YellowT,OrangeT,FoundText: String;
Begin
WhiteT:=GetTextAtExWrap(8, 8, 175, 21, 0, 5, 1, 14541281, 55, 'P07UpChars');
BlueT:=GetTextAtExWrap(35, 8, 230, 21, 0, 5, 1, 13423640, 65, 'P07UpChars');
YellowT:=GetTextAtExWrap(35, 8, 230, 21, 0, 5, 1, 1235160, 40, 'P07UpChars');
OrangeT:=GetTextAtExWrap(35, 8, 230, 21, 0, 5, 1, 4687583, 53, 'P07UpChars');
FoundText:=WhiteT + ' ' + BlueT + YellowT + OrangeT;
FoundText:= ReplaceWrap(FoundText, '.', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '/', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '\', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, ',', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '*', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '^', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '"', '',[rfReplaceAll]);
Result:=FoundText;
End;




function DropGranite:Boolean;
var
x,y,i:Integer;
begin
Result := False;
for i := 0 to High(Granite) do
begin
if FindDTM(Granite[i],x,y,MIX1,MIY1,MIX2,MIY2 ) then
begin
MMouse(x,y,3,3);
wait(135 + Random(45));
ClickMouse2(mouse_Right);
P07_WaitOptionMulti(['Drop','rop'],750) ;
Result := True;
case i of
0: TotalXpGain := TotalXpGain + 50;
1: TotalXpGain := TotalXpGain + 60;
2: TotalXpGain := TotalXpGain + 75;
end;
exit;
end;
end;
end;


procedure FindRandomMysteriousMan; //MoM AntiRandom
var
p:TPoint;
l,i:Integer;
tpa: TPointArray;
atpa: T2DPointArray;
timer:Integer;
begin
writeln('Anti-Random : Checking for the Mysterious Man');
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.27 , 0.0);
FindColorsTolerance(tpa, 2629376, 141 , 71, 350, 260, 2);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
writeln('Mysterious Man Detection: ' + inttostr(Length(tpa)));
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
for i := 0 to l-1 do
begin
writeln('Length[' + inttostr(i) + ']: ' + inttostr(Length(atpa[i])));
end;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 100) then
begin
continue;
end;
if (Length(atpa[i]) > 550) then
begin
continue;
end;
p := MiddleTPA(atpa[i]);
MMouse(p.x,p.y,2,2);
wait(250);
if P07_ContainsText(P07_GetUpText2, ['alk-to','alk-t']) then
begin
ClickMouse2(mouse_Left);
if P07_DidYellowClick then
begin
FindRandomMysteriousMan;
end;
MarkTime(timer);
repeat
wait(100+Random(50));
P07_ClickToContinue;
until TimeFromMark(timer) > 5000;
end;
end;
end;


procedure FindRandomPirate; //Pirate AntiRandom
var
p:TPoint;
l,i:Integer;
tpa: TPointArray;
atpa: T2DPointArray;
timer:Integer;
begin
writeln('Anti-Random : Checking for the Pirate');
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06 , 0.15);
FindColorsTolerance(tpa, 3686246, 141 , 71, 350, 260, 16);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
writeln('Pirate Detection: ' + inttostr(Length(tpa)));
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
for i := 0 to l-1 do
begin
writeln('Length[' + inttostr(i) + ']: ' + inttostr(Length(atpa[i])));
end;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 100) then
begin
continue;
end;
if (Length(atpa[i]) > 500) then
begin
continue;
end;
p := MiddleTPA(atpa[i]);
MMouse(p.x,p.y,2,2);
wait(250);

if P07_ContainsText(P07_GetUpText2,['alk-to','alk-t']) then
begin
ClickMouse2(mouse_Left);
if P07_DidYellowClick then
begin
FindRandomPirate;
end;
MarkTime(timer);
repeat
wait(100+Random(50));
P07_ClickToContinue;
until TimeFromMark(timer) > 5000;
end;
end;
end;


procedure FindRandomGenie; //Genie AntiRandom
var
p:TPoint;
l,i:Integer;
tpa: TPointArray;
atpa: T2DPointArray;
timer:Integer;
begin
writeln('Anti-Random : Checking for the djin');
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.09 , 1.58);
FindColorsTolerance(tpa, 14582841, 141 , 71, 350, 260, 16);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
writeln('Djin Detection: ' + inttostr(Length(tpa)));
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
for i := 0 to l-1 do
begin
writeln('Length[' + inttostr(i) + ']: ' + inttostr(Length(atpa[i])));
end;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 100) then
begin
continue;
end;
if (Length(atpa[i]) > 550) then
begin
continue;
end;
p := MiddleTPA(atpa[i]);
MMouse(p.x,p.y,2,2);
wait(250);
if P07_ContainsText(P07_GetUpText2, ['alk-to','alk-t']) then
begin
ClickMouse2(mouse_Left);
if P07_DidYellowClick then
begin
FindRandomGenie;
end;
MarkTime(timer);
repeat
wait(100+Random(50));
P07_ClickToContinue;
until TimeFromMark(timer) > 5000;
end;
end;
end;


procedure FindStrangePlant; //StrangePlant AntiRandom
var
p:TPoint;
l,i,x,y:Integer;
tpa: TPointArray;
atpa: T2DPointArray;
timer,Fruit:Integer;
begin
Fruit := DTMFromString('mwQAAAHic42RgYDBlZmAwAGI9IDZihvCtgNgaiC2B2ByINzMxMKwH4q1AvAuIdwPxTiDeBMRrgXgFEPdnbAeaxogXczEQBvhNgGA4AACPnwor');
writeln('Anti-Random : Checking for Strange Plant');
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.39 , 0.81);
FindColorsTolerance(tpa, 613969, 141 , 71, 350, 260, 5);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
writeln('Plant Detection: ' + inttostr(Length(tpa)));
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
for i := 0 to l-1 do
begin
writeln('Length[' + inttostr(i) + ']: ' + inttostr(Length(atpa[i])));
end;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 125) then
begin
continue;
end;
if (Length(atpa[i]) > 550) then
begin
continue;
end;
p := MiddleTPA(atpa[i]);
MMouse(p.x,p.y,1,1);
wait(250);
if P07_ContainsText(P07_GetUpText2, ['ick','pick','Pick','range','lant']) then
begin
ClickMouse2(mouse_Left);
if P07_DidYellowClick then
begin
FindStrangePlant;
end;
MarkTime(timer);
repeat
if P07_TabInventoryTab(4) then
begin
if FindDTM(Fruit,x,y,P07_MIX1,P07_MIY1,P07_MIX2,P07_MIY2) then
begin
MMouse(x,y,2,2) ;
ClickMouse2(mouse_Left);
FreeDTM(Fruit);
exit;
end;
end;
until TimeFromMark(timer) > 5000;
FreeDTM(Fruit);
exit;
end;
end;
end;

procedure FindRandomRick; //RickTurpentine AntiRandom
var
p:TPoint;
l,i:Integer;
tpa: TPointArray;
atpa: T2DPointArray;
timer:Integer;
begin
writeln('Anti-Random : Checking for Rick Turpentine');
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00 , 0.15);
FindColorsTolerance(tpa, 3881791, 141 , 71, 350, 260, 10);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
writeln('Rick Detection: ' + inttostr(Length(tpa)));
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
for i := 0 to l-1 do
begin
writeln('Length[' + inttostr(i) + ']: ' + inttostr(Length(atpa[i])));
end;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 125) then
begin
continue;
end;
if (Length(atpa[i]) > 550) then
begin
continue;
end;
p := MiddleTPA(atpa[i]);

MMouse(p.x,p.y,2,2);
wait(250);
if P07_ContainsText(P07_GetUpText2, ['alk-to','alk-t','ick','urpent']) then
begin
ClickMouse2(mouse_Left);
if P07_DidYellowClick then
begin
FindRandomRick;
end;
MarkTime(timer);
repeat
wait(100+Random(50));
P07_ClickToContinue;
until TimeFromMark(timer) > 5000;
end;
end;
end;

procedure FindRandomNPCs;
begin
if (Length(GetMiniMapDotsIn('yellow', 626, 70, 659, 106)) > 0) then
begin
FindRandomRick;
FindStrangePlant;
FindRandomGenie;
FindRandomPirate;
FindRandomMysteriousMan;
end;
end;




function FixBox(tempBox:TBox):TBox; // Used to fix the box for drawing purposes.
var
tempint:Integer;
begin
if (tempBox.X1 > tempBox.X2 ) then
begin
tempint := tempBox.X1;
tempBox.x1 := tempBox.X2;
tempBox.x2 := tempint
end;
if (tempBox.Y1 > tempBox.Y2 ) then
begin
tempint := tempBox.Y1;
tempBox.Y1 := tempBox.Y2;
tempBox.Y2 := tempint
end;
Result := tempBox;
end;

function ClearBoxArray(tempBox:TBoxArray):TBoxArray;
var
i:Integer;
begin
for i := 0 to High(tempBox) do
begin
tempBox[i].X1 := 0;
tempBox[i].Y1 := 0;
tempBox[i].X2 := 0;
tempBox[i].Y2 := 0;
end;
Result := tempBox;
end;

procedure FindBombPixels(PixelArray:TIntegerArray); // This is where the magic happens :)
var
Counter,i:Integer;
begin
writeln(PixelArray);
Counter:=0;
for i := 0 to 9 do
begin
if PixelArray[i] > 70 then
inc(Counter);
if Counter > 2 then
begin
BombCount := 0;
exit;
end;
end;

for i := 0 to 9 do
begin
if (PixelArray[i] > 240) then
begin
if (LastBombIndex = -1) or (LastBombIndex = BombIndex-1) then
begin
inc(BombCount);
LastBombIndex := BombIndex;
end else
begin
BombCount := 0;
LastBombIndex := BombIndex;
end;
end;
if BombCount >= 3 then
begin
writeln('Suspected Exploding Rock detected, if false alarm - ');
writeln('please report on my thread with the latest debug (those numbers above)');
writeln('Thank you!')
MMouse(260,174,1,1);
wait(RandomRange(150,225));
ClickMouse2(mouse_left);
wait(RandomRange(150,225));
MMouse(260,174,1,1);
ClickMouse2(mouse_left);
wait(RandomRange(34500,45500)); // Random lasts 34.5 Seconds flat, no need to continuously check for it.
BombCount := 0 ;
exit;
end;
end;
end;



procedure FindGraniteRockBomb; // Tracking our rocks to scan them for pixelshift.
var
i, l: Integer;
p: TPoint;
tpa: TPointArray;
atpa: T2DPointArray;
begin
BombBoxes := ClearBoxArray(BombBoxes);
SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.02, 0.24);
FindColorsTolerance(tpa, 4153723, 165, P07_MSY1, 386, P07_MSY2, 21);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2)
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
if l < 1 then exit;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 150) then // Object too small, skipping
begin
continue;
end;
if (Length(atpa[i]) > 500) then // Object too large, skipping
begin
continue;
end;
p := MiddleTPA(atpa[i]);
BombBoxes[i].X1 := p.x-15;
BombBoxes[i].Y1 := p.y-26;
BombBoxes[i].X2 := p.x+17;
BombBoxes[i].Y2 := p.y;
if (BombBoxes[i].X1 < MSX1) then BombBoxes[i].X1 := MSX1;
if (BombBoxes[i].Y1 < MSY1) then BombBoxes[i].Y1 := MSY1;
if (BombBoxes[i].X2 > MSX2) then BombBoxes[i].X2 := MSX2;
if (BombBoxes[i].Y2 > MSY2) then BombBoxes[i].Y2 := MSY2;
BombBoxes[i] := FixBox(BombBoxes[i]);
end;
FindBombPixels(PixelShiftMulti(BombBoxes,200));
end;

procedure FindGraniteRock;
var
i, l,temp: Integer;
p: TPoint;
tpa: TPointArray;
atpa: T2DPointArray;
randomkey:Integer;
MinDist,MinIndex:Integer;
begin
BombCount := 0;
LastBombIndex := -1;

SetColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.02, 0.24);
FindColorsTolerance(tpa, 4153723, 165, P07_MSY1, 386, P07_MSY2, 21);
SetColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2)
atpa := SplitTPA(tpa, 3);
SortATPASize(atpa, True);
l := Length(atpa);
MinDist := 10000;
if l < 1 then exit;
for i := 0 to l-1 do
begin
if (Length(atpa[i]) < 150) then // Object too small, skipping
begin
continue;
end;
if (Length(atpa[i]) > 500) then // Object too large, skipping
begin
continue;
end;
p := MiddleTPA(atpa[i]);
temp := Distance(273,187, p.x,p.y );
if (MinDist > temp) then
begin
MinDist := temp;
MinIndex := i;
end;
end;
p := MiddleTPA(atpa[MinIndex]);

MMouse(p.x, p.y, 2, 2);
Wait(105+Random(40));
if not P07_ContainsText(P07_GetUpText2, ['ine','ocks']) then
begin
case RandomRange(38,40) of
38: randomkey := 37;
39: randomkey := 39;
end;
keydown(randomkey);
wait(35);
keyup(randomkey);
exit;
end;
ClickMouse2(ClickLeft);
if P07_DidYellowClick then
begin
exit;
end else
begin
BombIndex := 0;
for i := 0 to 18 do
begin
FindGraniteRockBomb;
inc(BombIndex);
if DropGranite then break;
wait(350);
end;
end;
wait(350);
end;

procedure Progress;
var
i:Integer;
begin
// ClearDebug;
Line[0] := '|| XP/Hour: ' + inttostr(((3600*TotalXpGain) / (1+(GetTimeRunning/1000))));
Line[1] := '|| Total Xp: ' + inttostr(TotalXpGain);
Line[2] := '|| Time Running: ' + MsToTime(GetTimeRunning,3);
for i:=0 to High(Line) do
begin
writeln(Line[i]);
end;
end;



begin
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 72;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := False;
Smart_FixSpeed := False;
{$ENDIF}
{$ENDIF}

DeclarePlayers;
DeclareDTMs;
SetLength(Line,3);
SetLength(BombBoxes,17);
SetupSRL;
AddOnTerminate('FreeOurDTMs');
TotalXpGain := 0;
SetupP07Include;
P07_LoginPlayer;
P07_MakeCompassWest;
P07_MakeCameraAngleHigh;
ClearDebug;


repeat
P07_TabInventoryTab(4);
FindRandomNPCs;
Progress;
FindGraniteRock;
until not P07_LoggedIn;
end.

Kasi

2013-03-04 08:57:38

Erm, Left your Username and password in the Script..
Tried logging in to change it but it's invalid, hopefully you saw it and changed it yourself, if not, Recover your account and be sure to get the IP..

speedster

2013-03-04 09:00:41

Yes sorry (hahah … I changed my password :) , almost had a heart attack when i realized what I did :)) )

Sjoe

2013-03-04 09:10:47

I actually like the script, but u got a lack of activity here. Which is also very important to the SRL Member status.
Since you're here for just over a year and only got 153 posts.

We'll see how it goes ;)

Sin

2013-03-04 09:13:07

Voted yes, finally a semi decent app post 07 lol

Btw, instead of the if..findDTM code block, look into arrays and a for..to..do loop.

E*2
Eek a until false loop >_>

speedster

2013-03-04 09:16:07

I know arrays, could implement it with ease :), give me a bit

Sin

2013-03-04 09:17:05

Fix that infinite loop@@@@@@@@@@@@
It's hurting my eyes D:

speedster

2013-03-04 09:35:28

Added the DTM Array :) , and all of my loops were escaped by a TimeFromMark condition within :), Anyway I pulled them out and added them to the until condition

Thanks for taking the time to give me some feedback, I usually get none :smarty:


From: Sjoekeloe
I actually like the script, but u got a lack of activity here. Which is also very important to the SRL Member status.
Since you're here for just over a year and only got 153 posts.

We'll see how it goes ;)


Thank you! :D and … I know I didn't post much, I will work on sharing my opinion a little bit more often :)

Benny

2013-03-04 16:19:13

Well admittedly I'm liking your script but my only reservation is activity and that's an important bit.

I would like to see you more active.

I'll hold my vote for a now.

speedster

2013-03-04 20:30:53

From: Benny
Well admittedly I'm liking your script but my only reservation is activity and that's an important bit.

I would like to see you more active.

I'll hold my vote for a now.


I understand your pov, I will try to be more active around the forums :) thanks for pointing it out.

Justin

2013-03-04 20:46:57

Script looks good, but activity is low. Good luck :)

YoHoJo

2013-03-04 20:55:21

For those of you voting no based on activity/community etc reasons, I can vouch that Speedster is an awesome individual and cool person, so don't let that be your sole reason to vote no for him, I know he's been working hard and will definitely pick up on activity and contribution in the coming days. I mean he did create and release his own script to the public, and he's taking all of the feedback very well!

Ian

2013-03-04 20:56:44

As others have said, activity is low. You seem like a good person to have around, but unfortunately I need to use the word seem because you're not active enough for me to tell :)

Show us that you're helpful and friendly around the community and you've got my vote :D

Also thank you for submitting a decent script, you have no idea how much of a change that is from recent 07 apps :p

speedster

2013-03-05 02:31:01

Thank you all and I will do my best in improving my activity :), I do come around often on the forums just wasn't posting that much :redface:

Press Play

2013-03-05 02:35:59

Finally, a decent script! :D I really like it! You do seem like a really nice guy and I'm willing to let you into SRL Members, however I would like to see just a little bit more activity :) Ergo, I shall not vote :) Good luck!

I may come back and change my vote to a yes - I'm sitting on the fence here.

DannyRS

2013-03-05 08:14:22

Like a few have said, script is well above what we have grown to expect from post 07 apps,

I'm going to vote Yes ;) Best of luck, be sure to stay active !

speedster

2013-03-05 08:19:08

Thank you guys :D Won't let you down. At the moment I am working in replacing the old ExplodingRock function as it wasn't reliable at all. Going to use Flight suggestion and use PixelShift :)
. Anyway I plan to continuously generate a TBoxArray while mining to do the check for every rock on the screen :)

Justin

2013-03-05 08:24:42

@speedster
Wow I am so sorry, I saw 'Quoted' posts and thought that was your post count! I only just saw your real post count, I'll be reconsidering my vote tomorrow (I haven't submitted my vote yet)

Ashaman88

2013-03-05 09:33:40

I vote yes

NKN

2013-03-05 17:45:47

From: Ashaman88
I vote yes


Ditto'd

Ian

2013-03-05 19:34:28

Voting yes, your posts recently have been helpful, and I expect you'll stay active now that 07 is here :)

speedster

2013-03-05 20:37:00

Thanks for the votes guys! :)

I updated my script with more anti randoms and to a different exploding rocks anti random (took me hours to get the random and to debug everything ) but it works really great :)! Could probably use a little bit of more tweaking, I just need the random to trigger a bit more often :stirthepot:


*removed all the Canvas debugging because of SMART compatibility issues*

Justin

2013-03-05 21:31:04

Reviewed recent script, I like what I see, Yes from me :)

Just try and get your activity up

Justin

Hobbit

2013-03-06 22:19:16

As above, increased activity would be nice. You show potential so it's a yes from me on the prospect that you will stick around :)

xtrapsp

2013-03-07 08:34:46

To be fair, he's semi-active on skype… it's just the board :(

speedster

2013-03-07 13:59:00

From: xtrapsp
To be fair, he's semi-active on skype… it's just the board :(


Hehe yea :D I am on skype 24/7 and On IRC too :)
I will and am doing my best to improve my activity on the forum and then try to maintain it :D (I don't like to post on every single topic, but I do read a lot of the stuff that is being posted around,I post when I believe a subject is of interest to me or if I am in a position to help :smile: )

Press Play

2013-03-08 17:51:22

From: Press Play
Finally, a decent script! :D I really like it! You do seem like a really nice guy and I'm willing to let you into SRL Members, however I would like to see just a little bit more activity :) Ergo, I shall not vote :) Good luck!

I may come back and change my vote to a yes - I'm sitting on the fence here.


Voted yes :)

YoHoJo

2013-03-08 19:14:55

If anyone cares to change their mind/vote from a no to a yes based on seeing his further work/posts/activity/helpfulness/responses to posts made on here please do let me know!

speedster

2013-03-08 20:09:46

From: YoHoJo
If anyone cares to change their mind/vote from a no to a yes based on seeing his further work/posts/activity/helpfulness/responses to posts made on here please do let me know!


Oh lol… Don't do that People don't like being pressured in to doing things, meanwhile I got one more no vote :(

riwu

2013-03-08 22:29:54



for i := 0 to High(Granite) do
begin
case i of
0: Granite[i] := DTMFromString('mrAAAAHic42BgYHBhYmDwAGJHILYAYmsgdgBibyD2BWIfRgYGdyCOBeJwIPaH8sOA2A+IaxPcgKYw4sSsDPgBbp0QDAMAAJ8F8Q==');
1: Granite[i] := DTMFromString('mwQAAAHichcwxCoAgAEbhX6GhmzXYIARhuUWEQUHQ2GW8aQ+CRn3wra+VtFsp4cCFGysWbDjhjRQQMWHEgB4dHPIzczNFjeqVD5+/F+VYCGE=');
2: Granite[i] := DTMFromString('mwQAAAHic42RgYOAAYj4g5mKAAGYgZoOyeYGYHcpnh8oxQ/XAAA8QcwPx7PIIIMmIF3MxEAb4TYBgOAAA9vMB/g==');
end;
end;
The for loop and case statement is redundant in this case as you could just do this directly

Granite:= [DTMFromString({first dtm}), DTMFromString({2nd dtm}), DTMFromString({last dtm})];



FoundText:= ReplaceWrap(FoundText, '.', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '/', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '\', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, ',', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '*', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '^', '',[rfReplaceAll]);
FoundText:= ReplaceWrap(FoundText, '"', '',[rfReplaceAll]);
This would be a more appropriate place to use a TSA and for loop to shorten the code to 3 lines, although ReplaceWrap() may not be needed at all if you use regex or ExtractFromStr() to filter non-alphabet characters.



if (Length(atpa[i]) < 100) then
begin
continue;
end;
if (Length(atpa[i]) > 550) then
begin
continue;
end;
Could be just

if not InRange(Length(atpa[i]), 100, 550) then
Continue;

FindRandomMysteriousMan(), FindRandomPirate(), FindRandomGenie(), FindStrangePlant() and FindRandomRick() could all be shorten into a single procedure with appropriate loops to go through all the colors.


function ClearBoxArray(tempBox:TBoxArray):TBoxArray;
var
i:Integer;
begin
for i := 0 to High(tempBox) do
begin
tempBox[i].X1 := 0;
tempBox[i].Y1 := 0;
tempBox[i].X2 := 0;
tempBox[i].Y2 := 0;
end;
Result := tempBox;
end;
You do not have to clear the array if you are just directly assigning them to a different value later on. Also SetLength(BombBoxes, 0) would do the job ;)


Given your knowledge of arrays and generally being helpful around the forums i'll vote yes :) Do improve on what i mentioned though.

speedster

2013-03-09 02:41:17

From: Press Play
Voted yes :)


From: riwu

Given your knowledge of arrays and generally being helpful around the forums i'll vote yes :) Do improve on what i mentioned though.


Thank you for your pointers *that's how people get better* , will make sure to use them on my future projects :smarty: . And also thank you for your votes as well *Press Play and riwu* :) ! Really appreciate it

Richard

2013-03-13 20:36:10

Originally, I was like a lot of the opinions posted here; love the script, but was a bit concerned about your activity. But then I saw this..

From: speedster
Thank you all and I will do my best in improving my activity :), I do come around often on the forums just wasn't posting that much :redface:


..and realised I'm exactly the same. Reading the forum every day, feeling like you're involved because you know all that's going on, but not actually digging yourself in. Similar to watching a YouTuber and feeling like you know them personally. So, it's a yes from me :)

speedster

2013-03-14 02:49:02

From: Richard
Originally, I was like a lot of the opinions posted here; love the script, but was a bit concerned about your activity. But then I saw this..



..and realised I'm exactly the same. Reading the forum every day, feeling like you're involved because you know all that's going on, but not actually digging yourself in. Similar to watching a YouTuber and feeling like you know them personally. So, it's a yes from me :)


It is true I rarely replied to threads around here, but was constantly checking out the forums - but that doesn't mean I won't change :) I will become a more active and involved member of this community , so expect to see me a little bit more often ^-^ !

Thanks again for the vote of confidence! :)

Noob King

2013-03-14 19:17:23

Voted yes.
Good script, Good Attitude. :)

speedster

2013-03-16 18:49:29

From: Noob King
Voted yes.
Good script, Good Attitude. :)


Gratitude to you and everyone who voted yes :wub:, and for those who voted No, I will do my best to improve and be worthy of your 'yes' vote, even if the poll will be closed :)

[XoL]

2013-03-16 19:15:43

I just accidentally voted no, someone change my vote.
Not exactly sure what I did but yeah meant to vote yes.

You show promise and if what they say about you on skype is true, that is enough activity points for me.

YoHoJo

2013-03-16 19:26:28

From: [XoL]
I just accidentally voted no, someone change my vote.
Not exactly sure what I did but yeah meant to vote yes.

You show promise and if what they say about you on skype is true, that is enough activity points for me.


Fixed your vote.

WT-Fakawi

2013-03-23 11:04:27

In.