SRL Archive - Archive

benny999 - SRL Member Application


benny999

2012-06-04 06:37:57

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
-


What is your general programming knowledge?
Just started learning with pascal (that is what simba/scar is programmed with yeah?)


Are you a member of any other communities?
Powerbot.org


Tell us about yourself…
From: benny999
My Name is ben im a 23 year old carpet layer /computer technician, i enjoy learning new things, computers booze, working on my old vh commodore and mucking around with runescape time to time, im enjoying learning to program within the srl community and i find everyone very helpful and keen to share knowledge or help test things.



Please show us one (or multiple) of your scripts.
[CODE]program Benny999cm;
{Version 1.06
Setup Start At Mine, Well or Bank
with pickaxe in inventory or equipped}
{$DEFINE SRL5}
{$loadlib sps}
{$DEFINE SMART}
{$i SRL/srl.simba}
//{$i ObjectDTM\ObjDTMInclude.simba}
{$i SPS/sps.simba}

Procedure DeclarePlayers;
begin
HowManyPlayers := 1; // change for how many players your using
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;


with Players[0] do
begin
Name := ''; // Enter usename between ''
Pass := ''; // Enter password between ''

Active := True; // Set to True if you want to use!
end;


{with Players[1] do
begin
Name := ''; // Enter usename between ''
Pass := ''; // Enter password between ''

Active := True; // Set to True if you want to use!
end;}

end;
Var
myPath:TPointArray;
myPrath:TPointArray;
ClayMined, STimeRan, PlusOne: integer;

Procedure MineCheck;
begin
SetupSrl;
SPS_Setup(RUNESCAPE_SURFACE, ['10_7']);
SPS_BlindWalk(point(4163, 3055));
end;


Procedure WalkBank; //walks to the bank
begin
if not LoggedIn then Exit;
RestUntil(100);
SPS_Setup(RUNESCAPE_SURFACE, ['10_7','11_7']);
myPath := [Point(4138, 2958), Point(4145, 2958),
Point(4148, 2957), Point(4158, 2955), Point(4165, 2955),
Point(4177, 2960), Point(4193, 2964), Point(4202, 2971),
Point(4213, 2972), Point(4226, 2971), Point(4238, 2969),
Point(4245, 2969), Point(4258, 2968), Point(4268, 2966),
Point(4279, 2967), Point(4289, 2971), Point(4298, 2971),
Point(4305, 2978), Point(4314, 2986), Point(4331, 2989),
Point(4346, 2989), Point(4357, 2985), Point(4374, 2986),
Point(4387, 2987), Point(4399, 2986), Point(4406, 2984),
Point(4418, 2987), Point(4429, 2985), Point(4444, 2982),
Point(4457, 2978), Point(4463, 2977), Point(4471, 2972),
Point(4483, 2966), Point(4492, 2963), Point(4496, 2957),
Point(4500, 2951), Point(4507, 2943), Point(4514, 2936),
Point(4520, 2937), Point(4528, 2937), Point(4532, 2937),
Point(4543, 2934), Point(4549, 2934), Point(4554, 2934),
Point(4557, 2933), Point(4564, 2931), Point(4571, 2928),
Point(4578, 2926), Point(4581, 2915), Point(4579, 2904),
Point(4582, 2897)];
SPS_WalkPath(myPath)
end;

Procedure WalkWell; //walks to the bank
begin
if not LoggedIn then Exit;
RestUntil(100);
SPS_Setup(RUNESCAPE_SURFACE, ['10_7']);
myPath := [Point(4164, 3055), Point(4166, 3050),
Point(4169, 3044), Point(4173, 3038), Point(4174, 3032),
Point(4161, 3025), Point(4153, 3016), Point(4155, 3004),
Point(4163, 2997), Point(4160, 2990), Point(4156, 2983),
Point(4150, 2978), Point(4144, 2975), Point(4141, 2968),
Point(4138, 2962), Point(4134, 2957)];
SPS_WalkPath(myPath)
end;


Procedure WalkMine; //walks to the mine
Begin
if not LoggedIn then Exit;
SPS_Setup(RUNESCAPE_SURFACE, ['11_7','10_7']);
myPrath := [Point(4584, 2903), Point(4583, 2909), Point(4581, 2916),
Point(4578, 2924), Point(4569, 2930), Point(4557, 2933),
Point(4542, 2934), Point(4523, 2935), Point(4514, 2938),
Point(4504, 2941), Point(4496, 2949), Point(4488, 2959),
Point(4483, 2967), Point(4474, 2970), Point(4465, 2976),
Point(4455, 2980), Point(4443, 2984), Point(4429, 2984),
Point(4416, 2983), Point(4406, 2984), Point(4398, 2984),
Point(4391, 2985), Point(4380, 2987), Point(4365, 2987),
Point(4348, 2987), Point(4327, 2988), Point(4317, 2982),
Point(4308, 2974), Point(4298, 2972), Point(4290, 2971),
Point(4282, 2969), Point(4275, 2967), Point(4263, 2968),
Point(4251, 2968), Point(4242, 2969), Point(4233, 2969),
Point(4229, 2978), Point(4229, 2987), Point(4226, 2994),
Point(4224, 3001), Point(4220, 3007), Point(4217, 3012),
Point(4216, 3019), Point(4211, 3025), Point(4205, 3031),
Point(4200, 3035), Point(4192, 3041), Point(4186, 3045),
Point(4177, 3049), Point(4168, 3053), Point(4163, 3055)];
SPS_WalkPath(myPrath)
SetAngle(SRL_ANGLE_HIGH);
end;


Procedure StatsGuise(wat:String);
Begin
if not LoggedIn then Exit;
Status(wat);
Disguise(wat);
end;

Procedure Antiban; //does the antibans
Begin
if not LoggedIn then Exit;
Case Random(250) of
0: Begin Statsguise ('AntiBan') GameTab(tab_Stats) HoverSkill('Magic', False) GameTab(28); end;
1: Begin Statsguise ('AntiBan') SleepAndMoveMouse(7000 + Random(500)); End;
2: Begin Statsguise ('AntiBan') GameTab(tab_Inv) ExamineInv; GameTab(28); end;
3: Begin Statsguise ('AntiBan') RandomAngle(1); end;
4: Begin Statsguise ('AntiBan') GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(28); end;
5: Begin Statsguise ('AntiBan') GameTab(Tab_Stats) HoverSkill('random', False); GameTab(28); end;
end;
end;


function FindObject(var fx, fy: Integer): Boolean; // finds the clay rocks
var
arP: TPointArray;
ararP: T2DPointArray;
tmpCTS, i, arL: Integer;
P: TPoint;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.04, 1.57);

if not(FindColorsTolerance(arP, 4696020, MSX1, MSY1, MSX2, MSY2, 22)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

SortTPAFrom(arP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arP, 15, 15);
arL := High(ararP);

for i := 0 to arL do
begin
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText('ay ro')) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;

GetMousePos(fx, fy);
end;

Var
Clay, Soft, xt, yt, x, y: Integer;

function FindObject2(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.04, 0.88);

if not(FindColorsTolerance(arP, 9679036, MSX1, MSY1, MSX2, MSY2, 19)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);

for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 18.83) and (X <= 69.40) and (Y >= 19.88) and (Y <= 73.38) and (Z >= 17.86) and (Z <= 64.54) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;

SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);

for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText('Well')) then
begin;
Result := True;
Break;
end;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;

GetMousePos(fx, fy);
end;


Procedure SoftenClay;
var xy, yy: integer;
begin
if not LoggedIn then Exit;
SetAngle(SRL_ANGLE_HIGH);
FindNormalRandoms;
Clay := DTMFromString('mbQAAAHicY2VgYJjODMHTgLgfiOcDsRsTA4MjEHsBsSsUtxV4AVUzoWA5ICnJgAoYsWAwAADsngXw');
Soft := DTMFromString('mrAAAAHic42BgYFBgZmCQA2IlIBYGYn0g1gBiKSAWA+JIRgYGXyBOAuJoIA4BYj8oH8QOt+cBmsKEE/9nwA8YCWAYAACK0wWV');
Wait(2000+Random(500));
FFlag(0);
if FindDTM(Clay, xt, yt, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(xt, yt, 4, 4, False);//FindDTM gives (x, y) as the coordinates of the DTM we made it look for.
ChooseOption('Use');
FindObject2(x, y);
Mouse(x, y, 0, 0, true);
Wait(3000+Random(500));
Mouse(256, 415, 5, 5, true);
Wait(2000+Random(500));
If FindDTM(Soft, xy, yy, MIX1, MIY1, MIX2, MIY2) then
Begin
writeln('Softening some clays');
Wait(40000+Random(500));
FreeDTM(Clay);
FreeDTM(Soft);
FindNormalRandoms;
exit;
end else
FindDTM(Clay, xt, yt, MIX1, MIY1, MIX2, MIY2);
Mouse(xt, yt, 4, 4, False);//FindDTM gives (x, y) as the coordinates of the DTM we made it look for.
ChooseOption('Use');
FindObject2(x, y);
Mouse(x, y, 0, 0, true);
Wait(3000+Random(500));
Mouse(256, 415, 5, 5, true);
FreeDTM(Clay);
FreeDTM(Soft);
writeln('tryed again');
Wait(35000+Random(500));
FindNormalRandoms;
exit;
end;
end;

procedure Bank; // does the banking
begin
if not LoggedIn then Exit;
wait(1000);
FindNormalRandoms;
SetAngle(SRL_ANGLE_HIGH);
PlusOne:= InvCount + 1
inc(ClayMined);
Wait(2000+Random(500));
OpenBankFast('vwb')
WriteLn('Opened bank. Depositing clay...');
Wait(2000+Random(500)); //need to wait this long otherwise wont bank
Deposit(2, 28, True);
CloseBank;
Antiban;
WriteLn('We have finished banking. Resting...');
Antiban;
wait(1500);
RestUntil(100);
end;


procedure ProgressReport;
begin
ClearDebug;
Writeln('********************************************');
Writeln('* Benny999 ClayMiner *');
Writeln('********************************************');
Writeln('We have Mined ' + IntToStr(ClayMined*27) + 'Clay. ');
Writeln('We have gained ' + IntToStr((ClayMined*27)*5) + ' xp.');
Writeln('We have been running for ' + TimeRunning + '');
WriteLn('********************************************');
end;

procedure CheckMine; //checks if your at the mining spot
begin
if not loggedin then Exit;
wait(2500)
if FindSymbol(x, y, 'Water') Then
Begin
Writeln('Were At Well');
SoftenClay;
WalkBank;
Bank;
ProgressReport;
WalkMine;
end else
if FindSymbol(x, y, 'Bank') Then
Begin
Writeln('Were At Bank');
Bank;
ProgressReport;
WalkMine;
end else
if FindSymbol(x, y, 'mining spot') then WriteLn('found us a mining spot') else
begin
MineCheck; // see's if were around the mining spot
wait(2000);
end;
if FindObject(x, y) then Writeln('Good To Go') else // checks if it sees the rocks
begin
MineCheck; //walks right onto the mining spot
wait(2000);
if FindObject(x, y) then Writeln('Good To Go') else // checks if it sees the rocks
begin
writeln('Didnt find mining spot Changing Player');
logout; // Log him out!!
writeln('Next Player')
exit;
end;
end;
end;

procedure MineClay; // mining clay procedure
var x, y, PlusOne, RockCounter: integer;
begin
if not LoggedIn then Exit;
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
If InvFull then Exit;
repeat
FindNormalRandoms;
PlusOne:= InvCount + 1
if FindObject(x, y) then
begin
Mouse(x, y, 0, 0, true);
ChooseOption('lay');
MarkTime(RockCounter);
Antiban;
repeat
Wait(150);
FindNormalRandoms;
until (InvCount=PlusOne) Or (TimeFromMark(RockCounter) > 5000 + random(1000))
if (InvCount=PlusOne) then
Writeln ('Got One');
end;
until (InvFull)or (not LoggedIn);
end;

begin //mainloop
Smart_Members := False; // Setup For
Smart_Server := 108; // Smart
Smart_Signed := True; //
Smart_SuperDetail := False; //
SetupSRL; //
// ObjDTM_Setup; // was for dtm walking
DeclarePlayers; //
LoginPlayer; //
MarkTime(STimeRan); //
repeat //
repeat //
CheckMine; // Checks if at mine
MineClay; // Does the mining
WalkWell; // Walk to the well
SoftenClay; // Softens the clay
WalkBank; // Walks to bank
Bank; // Does the banking
ProgressReport; // Progress Report
WalkMine; // Back to mine
until (not LoggedIn) // while you get it
NextPlayer(False); // changes guy and making the other one dead
until(AllPlayersInactive); // and same again you get it
end. // and hope it never uses this[/CODE]




[CODE]********************************************
* Benny999 ClayMiner *
********************************************
We have Mined 1728Clay.
We have gained 8640 xp.
We have been running for 6 Hours, 3 Minutes and 23 Seconds
********************************************
* Benny999 ClayMiner *
********************************************
We have Mined 1620Clay.
We have gained 8100 xp.
We have been running for 6 Hours, 1 Minutes and 30 Seconds
********************************************
[/CODE]

[url]http://villavu.com/forum/showthread.php?t=82550[/url]

putonajonny

2012-06-04 08:03:28

Standards! Standards! Standards!

This script made my eyes burn…

You don't use tab or symbol constants (symbol constants are fairly new so don't blame you for that).

//need to wait this long otherwise wont bank
On a fast connection that's a waste of time, on a laggy one that will still fail, use While(not BankScreen)… or something

When you click the soft clay thing in the chatbox you use a randomness of 5 which for a button that size is no where near enough, look into MouseBox

I don't think you quite understand when to use begin and end; with an if statement and when to not.

The only advanced procedures are ACA ones, for an SRL member application you should write your own object finding functions.

You don't seem to have many checks for if things have gone wrong, like you just use FindObject2(x, y); not if(FindObject2(x, y))then…

Sorry if I sound harsh, this is a very good start, I think you just need to brush up on a few things.

Sorry it's a no from me :(

benny999

2012-06-04 09:02:36

thanks for the tips :)

benny999

2012-06-04 09:10:29

i dont understand why i need to have this if(FindObject2(x, y))then check can you please shed some light? maybe to say writeln('found well') but thats all i can think of

'Toxin

2012-06-05 00:12:16

It seems like you have the right idea here, but you're missing a few things here. Standards, as johnny said, they are pretty bad. Also, there doesn't seem to be many failsafes here, I see minimal use of timers, not sure if it is also needed due to where exactly this thing mines. I'm personally keeping an eye out for you, I like the actual coding style, but even posting more and becoming part of the community more I feel that it would help you. For now, it's a no for me, but good luck.

benny999

2012-06-05 00:23:33

Thank you for the compliment yeah this is my first script and it seems very stable at the moment and I feel there's fail safes were it needed then like returning to mining spot I found sps playing up so I used a quick blindwalk to fix it when it does and alike when softening other than that it never really stuffs up

P1nky

2012-06-14 02:37:54

Standards :( Please fix, although I do like your script and such but I just think you aren't didn't come prepare with this application, proof read the script and a lot of tweaks could be made, try being a tad more creative ;)

Good luck!

benny999

2012-06-14 09:19:58

thank you yeah i think i did rush a little

punkd

2012-06-14 17:34:09

Benny, great start! Your getting the hang of it but you'll need a bit more work. The advanced functions are ACA coded and thats somewhat of a minus for me ( That doesn't mean don't use ACA, it just means I would prefer to see a custom TPA made from scratch).

You seem to lack standards and it makes the script really messy, you should fix that up a bit. Your logtivity is awesome but your activity needs to improve. Post some simple scripts in the public forums, get feedback and eventually youll make a great script worth applying with! best of luck to you!

Sir Ducksworthy

2012-06-16 18:10:40

True^
Yeh but made my eyes burn as well…
No from me.

Sin

2012-06-16 18:11:42

From: leetsxc
True^
Yeh but made my eyes burn as well…
No from me.


Your standards are bad, if not worse than his. You have no right to say that.
Anyways, stop with the useless posting, this is all I see around the member apps from you.

Sir Ducksworthy

2012-06-16 18:17:23

Sin I could out code you any day, my standards are perfect now they may have been crappyish when I first started but the same could be said about you.
Your Maple Script sux compared 2 mine.

benny999

2012-06-16 23:54:58

calm down fellas its all good ill fix my standards. next time i apply when in a couple months ill have it all beautiful haha but till then i want to make it a bit better after all i have one being programming for little over a week (sitting in a chair doing it) ill get there.

Kyle Undefined

2012-06-16 23:55:37

Guys, keep it clean, stop attacking each other.

Sin

2012-06-18 22:50:29

From: leetsxc
Sin I could out code you any day, my standards are perfect now they may have been crappyish when I first started but the same could be said about you.
Your Maple Script sux compared 2 mine.


Made me laugh :) Your grammar 'sux' compared 2 mine

@Benny, there's one thing in particular that's bothering me.
You're using a LOT of static waits, try adding random integers into them such as

Wait(Random(5000)) or Wait(1000 + random(500));

Get what I mean? Best of luck on future apps!

benny999

2012-06-20 09:47:14

From: Shay
Made me laugh :) Your grammar 'sux' compared 2 mine

@Benny, there's one thing in particular that's bothering me.
You're using a LOT of static waits, try adding random integers into them such as

Wait(Random(5000)) or Wait(1000 + random(500));

Get what I mean? Best of luck on future apps!




thanks bud ill use that a bit more :)

cycrosism

2012-06-20 10:29:48

Could you please (Without googling or searching) explain what these lines do:


SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(GetColorToleranceSpeed);

benny999

2012-06-21 12:57:22

ColorToleranceSpeed(GetColorToleranceSpeed); it finds the colour tolerance (or you would set it to that it would use a tolerance finding colours if say with the mining i set it to 2 in aca because i dont want it finding the ground and mucking around things like that)
SetColorSpeed2Modifiers(0.2, 0.2); you can change the hue and Saturation tolerance this is the default one atm but you could change it to less if there is a very close shade or colour and make it again more tolerant or less depending on what you want


this are both to do with colour tolerance and you will see them a lot in say aca when it sets its tolerance looking for the colour

cycrosism

2012-06-22 00:33:43

More than 50 percent of your script isn't your work, I would vote no but the poll is closed.

benny999

2012-06-22 03:48:45

how so?

cycrosism

2012-06-22 07:38:10

Your script is 426 lines.

Lets get rid of the 3 walking procedures because they are just points, and are really nothing at all. Sure you may have done that, but this requires very little skill/knowledge.

Now lets get rid of the findobject procedures you have created, because everything in those functions were created entirely in ACA (Or so it seems).

Now the script is 237 lines. That's around 55 percent.

benny999

2012-06-24 00:49:59

i think if you can use a tool to make a script easier then use it who cares i thought thats what they brought aca out for you make it harder for new scripters to start out maybe instead of saying crap like that maybe you could support them in saying hey maybe instead of using aca so much next time try using your own procedure of finding the colour i thought this forum was about helping everyone who wants to be a scripter to learn more instead of saying crap bud this is my first script i tried at and i thought it was pretty good i have had it run countless 6hr progress reports and at the end of the day i think thats all that matters in a script if it works well. stop being so anal

Yago

2012-06-24 00:57:51

I personally don't vote yes based on a script. In an app, a script is a requirement… Once I see that the person can write a well-written script, then I begin the deliberation process of the persons community activity/attitude.

We're just trying to help you out, help you improve, and help you reach your max potential mate :) We're here for you