Jump to content

Road to an automated 100m (+Writing my own scripts)


Colonel_Panic

Recommended Posts

Introduction

Hi all. I'm new here, so I figured I'd give a bit of background about myself.

 

I'm a software engineer by trade (graduated with a CS degree several years ago and work full-time as a software engineer) and used to play a ton of Runescape.  In the past, I've tried to get into script development, but always got sidetracked and gave up without producing anything.

This time, I'm hoping to see it through by setting some short and long term goals to keep me motivated. 

I have experience in Java, although it's been a few years since I've used it; however, the OSBot devs did a great job with the API so I don't think it'll be too long till I'm making progress.

 

Short Term Goals

  • Develop script that can do tutorial island  (DONE)
    • This should give me a lot of practice as it's doing a large variety of tasks
    • In order to not jump into this entirely blind, I've been looking at some open source tutorial island scripts as well (shout out to @lisabe96's RQ Tutorial Island Completer)
    • This may end up being trashed if the ban rate is too high, but either way the scripting experience will be valuable.
  • Write script to mine clay  (DONE - With caveat.  See Week 1 updates for more info)
  • Build infrastructure to facilitate combining scripts well, and combine tutorial island + clay miner (DONE)
    • This will aid in the future as I hope to have bots complete prerequisites, and then automatically jump to gold farming once those are finished
  • Build script to automatically mule
  • F2P Fishing Script (V1 Done, still a WIP to improve it to a gold-farm ready script)
  • 10 mill automatically farmed and muled
  • MySQL Server for managing bots and facilitating communication between them (see update for 9/25 for more info)

 

Long Term Goals

  • Automatic account replacement as they're banned
  • Alerts (via email, twitter, or text message) when something seems off
  • Profit in the black (should be a relatively quick one to complete as I won't be paying too much on servers at the start)
  • Communication between bots (so I don't end up with to many on the same world, or to alert others should something go wrong (e.g. JMod in a certain world)
  • 100m profit

Progress

9/18:

  Reveal hidden contents

9/19:

  Reveal hidden contents

9/22:

  Reveal hidden contents

9/23

  Reveal hidden contents

9/24

  Reveal hidden contents

9/25

  Reveal hidden contents

9/28

  Reveal hidden contents

 

Edited by Colonel_Panic
  • Like 6
Link to comment
Share on other sites

  On 9/19/2017 at 6:39 PM, Apaec said:

Nice read, good luck!

Also, if you haven't already, be sure to check out Explv's tutorial island script source, found here https://github.com/Explv/Tutorial-Island/tree/master/src

Apa

Expand  

Thanks Apa! I don't know how I missed that.

I have a working prototype currently, but I'll definitely go back and look through Explv's code to see what I might be able to improve on.

  • Like 1
Link to comment
Share on other sites

  On 9/19/2017 at 7:09 PM, Code Hero said:

It's funny that you finished a very complex script, yet the "hello world" clay miner is still under development. :doge:

Good luck with your project! :)

Expand  

Haha that's because I started with a roughly working copy thanks to lisabe96.  There were definitely some bugs and some unrealistic actions it took that I had to fix, but the core code was there already.  It's always easier to add on and fix an existing code base than to start from scratch ;)

They clay miner is 100% my code and I'm trying to do it only using the API documentation as a resource (vs looking back at the tutorial island stuff or other open source scripts).

Anyways, the clay miner should be done tonight.  Just working out some kinks that I missed on version 1 that could lead to it getting stuck.

Edited by Colonel_Panic
  • Like 1
Link to comment
Share on other sites

Update: Clay miner is "sorta" done.

It's working as well as it can, but there is a big problem that I didn't foresee (see bottom)

Features:

  • Toggles run energy if I have above a certain threshold (random so it's not always toggling at same value)
  • Hops world if there are too many other players competing at clay
  • Uses correct pick axes for level
  • Banks -> Mines -> repeats

 

HOWEVER. The big problem is that there are just too many F2P clay mining bots.  I had no idea how many there actually were, and I'm not able to get any clay as my mining level is too low.  Looking around they all seem to be using rune pick axes, so I'm thinking I'll need to have it power mine somewhere else to get some levels before actually trying to get clay.  If anyone has any input here, I'd appreciate it.

I might just toss this script and find something else in F2P to bot.  That'll set back my time frame for working on mule scripts, but it seems better than pushing forward with Clay when it's already saturated with bots.  

Edited by Colonel_Panic
Link to comment
Share on other sites

So I've moved on to working on a new script to fish in f2p to hopefully avoid some of the issues with competition that I saw with mining.  

Ideally it will be done very quickly, but there's some architecture flaws in my tutorial island script that are really annoying the dev side of me.  They aren't causing any real problems, especially since I don't plan on releasing any of these early scripts, so my eyes will be the only ones seeing them.  But still, odds are I'm going to get tired of looking at them and I'll need to remake some stuff to get it to an acceptable standard.  

For those of you script writers who care:  The original RQ Tutorial island solver used a state interface class, and each new script/task would introduce a new child of that class.  The actual state data was kept in a string.  I hated using and comparing strings for state data, so I switched to enums, but that essentially breaks the whole parent-child relationship (and purpose of having a state interface in the first place) as child classes can't add new enum values to their parents.  



Also, I've been brainstorming some simple ways to communicate between bots.  Might not be useful, but it would at least be a cool feature with some potential use cases.  I'm thinking something like keeping bots spread out across worlds and notify each other if certain alert conditions are met (e.g. JMod seen in certain world, so other bots are notified to avoid that world for a set time).  Probably won't work on this for a bit, so I added it to the long term goals for now.

Edited by Colonel_Panic
Link to comment
Share on other sites

Update:

Fishing script v1 is done. As is the process of cleaning up the faulty architecture around script states that I mentioned before.

It still will need work before I can really gold farm on it as currently it won't automatically move on to lobsters as it won't have the required lobster pot.  I figure I'll either have it automatically run to the GE and sell off all loot and buy a lobster pot, or I'll take this an excuse to automate some of the muling process to have a mule give them lobster pots once they reach fishing level 40.

I also am currently fishing in Al Kharid and I want to find some creative solution to deal with the scorpion that roams around there; currently I simply run away if it attacks me.  

Link to comment
Share on other sites

Big progress!

 

My Fisher now is completely automated. I haven't been able to truly test it 100% as I haven't had an account run for longer than 24 hours to get rid of the F2P trade restrictions (to test mule features fully).

 

However, I can create an account, type the credentials into osbot and leave it to:

-finish tutorial island

-sell items to afford to buy required fishing gear

-fish until 40 fishing

-fish lobsters until I tell it to mule

 

I'll hopefully get some long runtimes and progress this weekend and take some pictures.

 

This is a big stepping stone as it not only is essentially "gold farm ready", but it really reassured me that I should be good to go developing any more complex scripts in the future.

 

 

At this point I'm going to need to do some more logistical planning to figure out if I want to just suicide bot f2p at a larger scale (more dev ops/ban management related work), or write something for a P2P method and spend less time fighting mass bans. I'd love some input if there's anyone out there still reading this :)

 

 

Also, I finally set a money goal. For now it's a meager 10 mill fully automated as a short term and the long term is 100m. Just wanted to keep my goals very realistic at this stage as I'm sure I'll run into more problems with bans and system management as I scale up.

 

Edited by Colonel_Panic
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...