SRL Archive - Archive

akarigar - SRL Member Application


akarigar

2014-12-15 05:28:31

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
No


What is your general programming knowledge?
C, C++, C#, Java, PHP, Python and more.


Are you a member of any other communities?
No


Tell us about yourself…
From: akarigar
I used to play RSC a long time ago and haven't played much recently. I like to code, so my work and hobby revolves around programming. That about sums me up: I am a software engineer and am here for some fun.

Here is my script: http://puu.sh/dvt8f/96ca63e0cd.png
memb pl0x!

Just kidding.

As some of you know, I have been working on what started out as an engine to make me not have to code a main loop ever again. It has since then evolved into something much bigger. The engine is still there, but this is more of an AIO Runescape on top of the engine. It is kind of similar to HLT. This script is a little complicated. It's made in a way that someone only needs to code how to do a task once. For example, I only have one fishing task, and I can fish almost anywhere in Runescape! All that changes are details relevant to the task at hand. Details such as what colors make up the object, where the object is, how to get to the object and so on. The engine figures out the rest and does it. On top of that, all of the details for the tasks and activities are stored online. I have a very trivial AI back-end that knows about certain activities in the world. This AI is currently smart enough to determine what task to do based on your characters levels and previously acquired items (only items the items itself).

So just to give an example of the potential power of the script. Today the script only knows about how fish & cook in Lumbridge, and cut & burn logs in Edgeville. If it doesn't fail, it will go through and alternate between those three activities. But it would require no client changes to make the script be able to fish lobsters in Catherby, trout in Lumbridge, cut trees near Draynor, burn logs at any bank and so on. I would only need to let my engine back-end know how to get to the task, what the requirements are for the activity, what the object in question looks like (dtms, color details about the trees at Draynow, for example). The script would then be able to do all those tasks! I will be making changes so that this scenario will be possible. Let's say you run your bot and tell it certain things to do that will keep it busy for 5 hours. Then you leave to go out. Later you decide you want your bot to do some other activities than you originally told it. Well, you could then get on your phone and essentially tell the bot exactly what to do next and for how long!

The script I present here is just the beginning, but I hope the potential is obvious.

Make sure the account you intend to run this on has all lodestones unlocked and has access to the Cook-O-Matic (Lumbridge castle range).
Run the following updater. It will add 'AllInOne.simba' in your scripts directory (usually C:\Simba\Scripts\). Run that, & fill out the form.

Thanks to @Incurable, @Justin and @The Mayor for helping me test it to make sure it doesn't immediately break.



Please show us one (or multiple) of your scripts.
{$f-}

const __INSTALL_PATH = [
'Includes\akarigar',
'Includes\SPS\img\akarigar',
'Scripts\AllInOne.simba'
];

procedure __deletePreviousFiles();
var i: integer;
begin
for i := 0 to high(__INSTALL_PATH) do
if fileExists(appPath + __INSTALL_PATH[i]) then
deleteFile(appPath + __INSTALL_PATH[i])
else if directoryExists(appPath + __INSTALL_PATH[i]) then
deleteDirectory(appPath + __INSTALL_PATH[i], true);
end;

procedure updateEngine();
var
data: string;
f: integer;
currentVersion, latestVersion: extended;
begin
currentVersion := strToFloatDef(settings.getKeyValue('AKE_version'), -1);
// strToFloatDef doesn't work all the time here..
try
latestVersion := strToFloat(getPage('http://srl-akarigar.rhcloud.com/static/media/version.txt'));
except
latestVersion := -1;
end;

if latestVersion = -1 then
begin
writeLn('Failed to retrieve update info from server.');
end;

if currentVersion >= latestVersion then
begin
writeLn('No update available.');
exit;
end;
writeLn('Starting update from version ', currentVersion, ' to version ', latestVersion);

__deletePreviousFiles();

writeLn('Downloading update archive.');
data := getPage('http://srl-akarigar.rhcloud.com/static/media/engine.zip');
if data = '' then
begin
writeLn('Failed to retrieve archive from server.');
terminateScript();
end;

if (f := rewriteFile(appPath + '.engine.zip', false)) = -1 then
begin
writeLn('Failed to create update archive.');
terminateScript();
end;

if not writeFileString(f, data) then
begin
writeLn('Failed to create update archive.');
closeFile(f);
terminateScript();
end;
closeFile(f);

writeLn('Extracting archive.');
try
unzipFile(appPath + '.engine.zip', appPath);
except
writeLn('Failed to extract archive.');
terminateScript();
finally
deleteFile(appPath + '.engine.zip');
end;

if fileExists(scriptFile) then deleteFile(scriptFile);
settings.setKeyValue('AKE_version', floatToStr(latestVersion));
writeLn('Updated successfully. Please restart Simba.');
terminateScript();
end;

begin
updateEngine();
end.

Hoodz

2014-12-15 05:32:51

can you post the script also here? im too lazy to run the auto updater ;)

(already voted yes)

Justin

2014-12-15 05:37:14

Yes

akarigar

2014-12-15 05:38:12

From: hoodz
can you post the script also here? im too lazy to run the auto updater ;)


There are 10+ files. It would be easier to use the updater. But you can install via unzipping this in your C:\Simba\ directory too.

The Mayor

2014-12-15 05:38:21

From: hoodz
can you post the script also here? im too lazy to run the auto updater ;)


GL copying and pasting 30 different files

E: It seemed to work well for the first ~2 hours I tested last night! I think you will being some really neat stuff to this community, seeing as you have the skills ;)

Hoodz

2014-12-15 05:39:35

From: akarigar
There are 10+ files. It would be easier to use the updater. But you can install via unzipping this in your C:\Simba\ directory too.

From: The Mayor
GL copying and pasting 30 different files


already did check it out

Ross

2014-12-15 10:01:38

Ran the script and it decided on "Edgeville Forest Burn". It chopped exactly 18 logs, tried to bank at Lumbridge? and then instead of finding the bank it opened Runescape's Task List. It 'Finished Bank task with status ERR.', and then 'Decided to run activity "Edgeville Forest Burn."' again. After that it just got confused because there wasn't a fail-safe for the task list.

A couple of notes:

The colors for the evergreens need adjusting because it would find 10-15 ATPA's on the ground(or something like that) before finding a tree or not finding one when there are plenty around.
The wait time after clicking on a tree and getting a log is extremely high, lots of wasted time. I have a feeling this is because of line 98 in your \engine.simba being called for anti-ban every time.


That's just feedback for the script so it might be out of place, but I like you and you obviously have the scripting ability, so I vote yes! Really ambitious project, super excited to see what comes of it!

3Garrett3

2014-12-15 10:06:33

I voted yes just because it sounds like MSI but solo. If you want feedback/suggestions on Edgeville evergreen chopping then I have quite a bit of experience dealing with the problems Ross described in his attempt to cut trees.

Janilabo

2014-12-15 12:04:30

I am always happy to see activity like this around the community! (as in; new projects, ideas, concepts) :)
That means, it is a pretty easy YES-vote from me.

Good luck!

akarigar

2014-12-15 16:51:28

From: Ross
Ran the script and it decided on "Edgeville Forest Burn". It chopped exactly 18 logs, tried to bank at Lumbridge? and then instead of finding the bank it opened Runescape's Task List. It 'Finished Bank task with status ERR.', and then 'Decided to run activity "Edgeville Forest Burn."' again. After that it just got confused because there wasn't a fail-safe for the task list.

A couple of notes:

The colors for the evergreens need adjusting because it would find 10-15 ATPA's on the ground(or something like that) before finding a tree or not finding one when there are plenty around.
The wait time after clicking on a tree and getting a log is extremely high, lots of wasted time. I have a feeling this is because of line 98 in your \engine.simba being called for anti-ban every time.


That's just feedback for the script so it might be out of place, but I like you and you obviously have the scripting ability, so I vote yes! Really ambitious project, super excited to see what comes of it!


Hmm, what is this task list you speak of? I haven't coded it to open it. As for not finding trees. Are you using DirectX? I guess I should have mentioned, but I have made it for OpenGL and it can mess up a lot in DirectX. Also, the log before 'Finished Bank task with status ERR' should say why the error occurred, but I'm guessing it was because it couldn't find the tree. You can find a screenshot for the error in your logs folder. Also, what happened when it tried to bank at Lumbridge? Did it do any fishing afterwards? Or did it not find colors for the chest?


if self.__activityManager.getRelatedSkill() = SKILL_NONE then
hoverRandomSkill()
else
hoverSkill(self.__activityManager.getRelatedSkill());
This is on line 98. Did you find that it was hovering over skills a lot? Lastly, can you explain what you mean by wasted time? Would it be better if it went to the next tree as soon as the current one is chopped?

Thanks for the feedback. If you provide more details I'll fix these issues.

From: 3Garrett3
I voted yes just because it sounds like MSI but solo. If you want feedback/suggestions on Edgeville evergreen chopping then I have quite a bit of experience dealing with the problems Ross described in his attempt to cut trees.

Thanks, I might hit you up on Skype.

From: Janilabo
I am always happy to see activity like this around the community! (as in; new projects, ideas, concepts) :)
That means, it is a pretty easy YES-vote from me.

Good luck!

Thanks buddy :)

Frement

2014-12-15 18:11:16

Yes.

bonsai

2014-12-15 19:28:03

From: Frement
Yes.


I threw in my yes as well even though you've been only around for a short time. Obviously you can code at a high level and you've been helpful to others.

From our various interactions you seem interested in all sorts of curious things and I think you would make a valuable member of the community.

I'm still running the (updated) script. It needs some refinement in the task code but it's freakin awesome. I love it. Once it's polished up it will be the best script on the site.

I spotted a few ?? in the code but It's probably not smart for me to throw rocks like that.

:bart:

akarigar

2014-12-15 19:41:49

From: bonsai
I threw in my yes as well even though you've been only around for a short time. Obviously you can code at a high level and you've been helpful to others.

From our various interactions you seem interested in all sorts of curious things and I think you would make a valuable member of the community.

I'm still running the (updated) script. It needs some refinement in the task code but it's freakin awesome. I love it. Once it's polished up it will be the best script on the site.

I spotted a few ?? in the code but It's probably not smart for me to throw rocks like that.

:bart:


Thanks bonsai. I agree, it needs more refinement in the task portions and I will be making those refinements. Currently, I have spent 80-85% of the effort on the infrastructure. But since the infra seems to be working well, I'll be spending more time on the tasks now. If you let me know more about the ??s, I can either explain why I've done it that way or fix it up. Much appreciate it.

Thanks to all for trying it out. I welcome all suggestions & I will make changes based on the feedback. I will be adding more tasks in the future. I'll consider the script finished when we can run it and leave it be and in a month or so it gets us a few 99s.

Update: I have changed the bot to use DirectX now. I suggest switching over to DirectX & restarting the script. :)

Fitta

2014-12-15 20:35:13

Nice work!

Incurable

2014-12-15 20:37:55

Friendly, active, incredibly helpful, and with a brain full of programming knowledge. I actually think that you should be around for a little longer before applying for SRL, but that's just me. Either way, I voted a definite yes. :D

John

2014-12-16 06:15:01

Of course

The Mayor

2014-12-17 18:10:16

@Daniel; @Coh3n; @Hobbit; @core;

Justin

2014-12-17 18:58:52

From: The Mayor
@Daniel; @Coh3n; @Hobbit; @core;


The application was posted 3 days ago. Give it some time Mayor.

The Mayor

2014-12-17 19:00:09

From: Justin
The application was posted 3 days ago. Give it some time Mayor.


Not going to make a difference whether it's now or then :p

slacky

2014-12-18 00:39:58

Yes.

Turpinator

2014-12-18 02:33:27

C'mon guys! we need to have at least one no, otherwise its clearly rigged. :)

What are we in pennsylvania?
http://www.huffingtonpost.com/2012/11/06/pennsylvania-voting-machine-switches-vote-obama-romney_n_2083015.html

Frement

2014-12-18 02:50:11

From: Turpinator
C'mon guys! we need to have at least one no, otherwise its clearly rigged. :)

What are we in pennsylvania?
http://www.huffingtonpost.com/2012/11/06/pennsylvania-voting-machine-switches-vote-obama-romney_n_2083015.html


Well I promised to vote no solely based on the fact that "memb pl0x" was present in the application. So I can't change my vote.

slacky

2014-12-18 06:52:10

From: Turpinator
C'mon guys! we need to have at least one no, otherwise its clearly rigged. :)

What are we in pennsylvania?
http://www.huffingtonpost.com/2012/11/06/pennsylvania-voting-machine-switches-vote-obama-romney_n_2083015.html

Akarigar paid me $100 to vote Yes (no bs!). I suspect the other was also bribed :O

Ian

2014-12-18 07:49:25

From: slacky
Akarigar paid me $100 to vote Yes (no bs!). I suspect the other was also bribed :O


Akarigar told me he would hijack my facebook account if I didn't vote yes.

Gu3st...

2014-12-18 13:28:27

Yuuuuuuuup
- Dana

The Mayor

2014-12-18 16:36:22

Akarigar told me he would ddos my botting pc if I didn't vote yes.

bonsai

2014-12-18 17:12:26

This is the most messed up app I ever saw. He sent me compromising pictures.

akarigar

2014-12-18 18:48:00

Okay guys, too much info. No more, or I will have to send all your dirty private messages on FB to everyone (including your parents and significant others)! You were hired for one thing, to vote yes. Let's stick to that, mkay?

Olly

2014-12-18 18:51:53

From: akarigar
Okay guys, too much info. No more, or I will have to send all your dirty private messages on FB to everyone (including your parents and significant others)! You were hired for one thing, to vote yes. Let's stick to that, mkay?


Make some 3d projection mmtoms epicness then maybe il vote….. !

Justin

2014-12-18 19:09:46

From: akarigar
Okay guys, too much info. No more, or I will have to send all your dirty private messages on FB to everyone (including your parents and significant others)! You were hired for one thing, to vote yes. Let's stick to that, mkay?


Verified for buying votes. Application declined. Thread closed.

jk, admins please promote

masterBB

2014-12-18 19:22:35

From: Justin
Verified for buying votes. Application declined. Thread closed.

jk, admins please promote


By this I announce Justin is temporary suspended from the staff. Any discusion regarding (staff) members being bribed will now be ILLEGAL on this forum. I deny being bribed.

No one can read it if you write like this…

NKN

2014-12-18 21:44:32

From: masterBB
By this I announce Justin is temporary suspended from the staff. Any discusion regarding (staff) members being bribed will now be ILLEGAL on this forum. I deny being bribed.

No one can read it if you write like this…


I saw your spelling mistake, there's no correcting it.

Gu3st...

2014-12-19 18:30:03

From: NKN
I saw your spelling mistake, there's no correcting it.
I think he'll denie that as well :/

akarigar

2014-12-19 18:50:47

From: Zyt3x
I think he'll denie that as well :/


Yes, just like how I'm denying to bribing and or blackmailing anyone here into voting yes.

King

2014-12-19 19:26:50

Yes.

Olly

2014-12-19 20:48:51

From: akarigar
Yes, just like how I'm denying to bribing and or blackmailing anyone here into voting yes.


No reply on the super 3d math mmtoms…. still not voted!

:)

The Mayor

2014-12-19 22:23:41

From: Olly
No reply on the super 3d math mmtoms…. still not voted!

:)


No need for that if you got rs3 reflection :D

Clarity

2014-12-20 06:43:26

From: akarigar
Yes, just like how I'm denying to bribing and or blackmailing anyone here into voting yes.



I feel victimized and coerced into actions against my will.

OT: Good quality, unique application material. Looking forward to working with you.

akarigar

2014-12-20 16:46:06

From: Olly
No reply on the super 3d math mmtoms…. still not voted!

:)


From: The Mayor
No need for that if you got rs3 reflection :D

3D math or reflection.. Hmm ;)

From: Clarity

I feel victimized and coerced into actions against my will.

OT: Good quality, unique application material. Looking forward to working with you.

The image you're showing has clearly been Photoshoped! Even then, thanks for the vote :)

Olly

2014-12-20 16:59:01

From: akarigar
3D math or reflection.. Hmm ;)


Super hardcore 3d math! /me is not a fan of reflection.

Enslaved

2014-12-21 13:39:00

From: Olly
Super hardcore 3d math! /me is not a fan of reflection.


not really olly, its only a transformation of vectorspace provided you have the angle setting sorted

Daniel

2014-12-21 21:45:20

I think we can close this early.

Welcome in. Congratulations! :)