SRL Archive - Archive

Blakebn2011 - SRL Member Application


Syntax

2012-06-04 04:05:22

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
Yes, by 'Yohojo'


What is your general programming knowledge?
Java
Pascal(mildly)
Perl


Are you a member of any other communities?
Runedream.org
Runehq.com
Powerbot.org
Rsbuddy.com(use to be)


Tell us about yourself…
From: Blakebn2011
Who I am, well I'm a student in Highschool and from a very young age I was very interested in computers I'd take them apart just to put them back together again. I don't know what joy i got out of doing that, but it was just something I use to do. I started gaming when i was about 11 which was Runescape, I use to find it hard since I couldn't do things with friends because I'd not want to want experience. So I did some research and found out about rsbot.org (now powerbot.org) and started to create my own scripts for the bot. I slowly developed my skills learning a bit more every day. Which is what I've been doing here. My interests are of course aforementioned computers, programming and gaming. Other interests include skateboarding, rugby and football. I'm a pretty chill guy who just like to enjoy life and help people.



Please show us one (or multiple) of your scripts.
Unfortunately the attachments aren't working for some reason? So I'll provide the paste here:[url]http://paste.villavu.com/show/2932/[/url]

This script I slowly improved as my knowledge got greater I even ended up putting an auto responder in there which no other Powerminer to date on Villavu has. I'm interested in making more scripts in the future, srl member will give me better access to talk to and experiment with other scripts. Expect good things.

YoHoJo

2012-06-04 04:06:15

You are supposed to paste the actual script into the application that way we can all easily see it, please edit and do that.

A ton of your procedures are duplicates of each other except for just a line are two and could easily be turned into just one procedure with a case, which would save A LOT (hundreds) of lines… the bulk of your script is just copypasta talking/quickchat antiban functions.

The actual mining function is such a small proftion of the script, although I like the use of TPA/ATPA.

You don't even have a dropping function?

So all this script is, is one mining function, and then TONS of repetitive antiban functions :/.

It's a good start and definitely shows you have what it takes, but you still have a lot more to learn until you are SRL member material.

Try to learn cases so you can extremely shorten the script down, then try adding other features to it like dropping, more ore support, and other neat things you can find in tutorial section.


good luck.

putonajonny

2012-06-04 04:54:39

You use static waits, make sure you add randomness

Your standards need some work

You do not need repetitive procedures, you could have one like this:
Procedure send_skill(Skill : integer);
then you could either use a case function to type it, or the better way would be to use an array of the letters,

Also you shouldn't use SendKeys you should use TypeSend or TypeSendEx

Your MineOre function is generated by AutoColourAid, not that this is a bad thing, we just want to see an advanced function by you.

You use DropAll, which means you don't check for an axe, you should add this.

You have this:
        KeyDown(13);
KeyUp(13);
You need to add a wait between them, or it will look very bot like

You have this:
procedure mining_lvl_response;
begin
If (inchat('ining')) Then
begin
If (inchat('evel is')) Then
begin
end else
begin
KeyDown(13);
KeyUp(13);
send_skill_mining;
end;
end;
end;
Look into Boolean Operators and you can greatly reduce the number of lines in it.

Overall:
I like the way that you have tried to include talking in the script but you manage to use over 1000 lines for something that could be done in 300, I'm going to say no because of the lack of complex procedures written by you, if you make your own rock finding procedure and have only one lvl_response and one send_skill function then you will have more of a chance of getting in next time.

Good luck if you try again :)

zmon

2012-06-04 17:42:49

just a word about autoresponders - if you always respond, you can easily be flagged as bot, so if you ever autorespond, you might want to be careful to respond very sparingly, furthermore… your procedure to handle responses is using excessive amount of wait, basically you wait whether you are responding or not (in procedure level_respoder), almost every action you take has fixed wait (either 100, 500, or 1000) which is very much not humanlike

and if you use quickchat, chances are that you already know by heart the options so 1 second may be a little too long (the quickchat options are all spaced evenly)

now the reason i mention it is because once i was cutting wood and one bot next to me leveled up and did level up quickchat, so i said grats on woodcutting level up

and the bot responded My Woodcutting…

then it saw its own response and responded again
and again
and again

it was so annoying i had to report him as macro/bot

as for flow, look at this part


P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText('Mine')) then
begin
Result := True;
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
wait(200+random(100))
GetMousePos(fx, fy);
Mouse(fx, fy, 5, 5, False);
WaitOption('Mine', 500);
Wait(2000+random(350));
Break;
end;

so basically if you have moved your mouse and detected "Mine" uptext at whatever your current angle is, you will possibly change angle and therefore lose proper location before you click

if you want to make sure that you have high angle, either do it before search or after selecting option

You already know x,y because you have moved there mouse so no need to read position and move it again to right click, just use clickmouse2

you aren't checking if option was found, or if you successfully mined item - try checking inventory count and whether your character is moving using pixelshift

here is more of a cosmetic and possibly error producing condition if you aren't aware of few issues:


var
x, y: Integer;
function MineOre(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;

[.......]

MineOre(x, y);

the issue is that X and x is same name (as they are case insensitive in pascal) so you are hiding global variable with scope variable, that's alright but if you have global variable, why pass it as parameter, perhaps you can just use globalx, globaly names or something similar

because if you aren't consceous of use of x and the scope, your script might end up doing a few things you don't expect it to do

Syntax

2012-06-05 10:08:25

Thanks for the replies not gonna lie pretty disappointed. Put quite a bit of work into this, the procedures I didn't copy + paste, i actually wrote them out following tutorials. Constants were just copied and declare players.

Abu

2012-06-05 10:19:31

From: Blakebn2011
Thanks for the replies not gonna lie pretty disappointed. Put quite a bit of work into this, the procedures I didn't copy + paste, i actually wrote them out following tutorials. Constants were just copied and declare players.


And this is a very good start!

Just take in the feedback - apply it to the script and trust me you'll have no problem ;)

cause

2012-06-06 00:44:30

Voted no because of what the others said, all antiban really. But in the future PLEASE post your script in the application.

zmon

2012-06-06 15:36:21

From: Blakebn2011
Thanks for the replies not gonna lie pretty disappointed. Put quite a bit of work into this, the procedures I didn't copy + paste, i actually wrote them out following tutorials. Constants were just copied and declare players.


if i thought you were a lost cause i wouldn't spend time checking your script

i know that when you are proud of what you accomplished and people point out flaws, you might take it personally but once you were doing it long enough you realize that everyone makes mistakes and that to have some pointed out is actually a learning experience

working in software field for 20 years i'm rather used to peer review of code and one thing you do want is to have everything questionable pointed out during that process so that you can go back and make it better

because after all we all strive to be as close to perfect as possible, and once you understand that, perhaps you will see the notes about your script more of a mentoring than critique

hope that helps ;-)

Gucci

2012-06-08 18:45:16

No from me. Better luck next time

Sir Ducksworthy

2012-06-16 18:01:04

U should just be using the SRL AutoResponder 2 be doing this it's pretty useless otherwise and makes a bunch of useless code in your script tbh..
I'm gonna vote yes.. only because I see potential, you should continue this with the SRL auto responder mmk.. GL

xtrapsp

2012-06-17 07:23:30

From: leetsxc
U should just be using the SRL AutoResponder 2 be doing this it's pretty useless otherwise and makes a bunch of useless code in your script tbh..
I'm gonna vote yes.. only because I see potential, you should continue this with the SRL auto responder mmk.. GL


Just because it's in SRL Doesn't mean he HAS to use it… he's learning. If anything by making his own it shows his eagerness…


I'm going to say no due to standards etc, I know it's annoying… I was the same :( declined twice. But keep it up!

Kudos from me for the effort though!:spot: