1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Question Open Source Bots and Code

Discussion in 'Developer Support' started by sniperkid2160, Feb 3, 2016.

  1. sniperkid2160

    Joined:
    Jan 26, 2016
    Messages:
    4
    Likes Received:
    0
    Hi there,
    I used to code for powerbot 5-6 years ago and am interested in starting again for Runemate. I was very happy to see the Runemate API is very similar to what I used to code with.

    So my question: I saw on one post someone mention an open-source bot that people are working on. Is this a typical thing? I was interested in writing a combat bot for the stronghold of security (Ankous, Flesh crawlers), because no other bots on the SVN seem to be able to handle them. But I know there are good fighting scripts bots out there and I don't want to reinvent the wheel for smart fighting/looting/etc. If there are code bases I can pull from (and obviously credit) that would be awesome.

    Anyone know anything regarding this? Thanks!
     
  2. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,212
    Likes Received:
    1,042
    [​IMG]

    Sadly there are no open source fighters at this point in time.
    I do plan to create an open source tutorial series sometime soon, but it'll probably be after Spectre is released.
    As for smart fighting/looting/etc. It's usually a good idea to have your own implementation to make it harder for bot detection systems to detect your bot.
     
  3. blisterz

    Joined:
    Nov 2, 2015
    Messages:
    302
    Likes Received:
    119
    Or one that mimicks human behavior better yet ;). So even if they know how it works it's still not detectable
     
  4. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,212
    Likes Received:
    1,042
    Yeah true, but it seems like a lot of bots just use .nearest() or .sortByDistance().limit(3).random(), which is something you don't want to copy XD
     
  5. blisterz

    Joined:
    Nov 2, 2015
    Messages:
    302
    Likes Received:
    119
    Agreed. For learning, what would you think is best? A random disposure of each of them?
     
  6. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,212
    Likes Received:
    1,042
    For a while I was filtering and sorting them based on their distance, so distance < (the nearestDistance + a random amount), and then returning null if the result is empty, or if it's not, returning results.get(Random.nextGaussian(0, results.size(), 0);

    So the nearest one is returned the majority of the time, but the others are also returned in lessened amounts due to the gaussian distribution.

    Now I use something different, but I can't really share that xD
    Edit: For Npcs, it's relatively easy, for resources like trees and ores, there's a better way to go about it based on respawn times and resource availability times (like average tree life etc.)
    The best way to do it, although time consuming, is to pay attention to how you play legit, probably record it as well, and later on write down how you interact with stuff and model your selection interaction based off of that. I don't do that though xD
     
    blisterz likes this.
  7. blisterz

    Joined:
    Nov 2, 2015
    Messages:
    302
    Likes Received:
    119
    If runemate had a playersense nearest that would be sweet. And maybe it would be incorporated more allowing lower detection ;).

    Not that runemate should do all the work for us.
     
  8. SlashnHax

    Joined:
    Dec 10, 2014
    Messages:
    3,212
    Likes Received:
    1,042
    Eh a PlayerSense nearest would be pretty weird, because nearest is the one with the least distance xD, and in specific scenarios you will always want to get the nearest one.
     
  9. sniperkid2160

    Joined:
    Jan 26, 2016
    Messages:
    4
    Likes Received:
    0
    Interesting discussion. thanks guys. Looks like I'll write it from scratch with a simple algorithm and then make it more complex as I see fit. Thanks!
     

Share This Page

Loading...