• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • FollowBot for ExileBuddy (Basic Beta Release)

    Discussion in 'Archives' started by xtenshisanx, Nov 18, 2013.

    1. xtenshisanx

      xtenshisanx Community Developer

      Joined:
      Dec 4, 2012
      Messages:
      212
      Likes Received:
      1
      Trophy Points:
      0
      Thanks for your patience.
      I will recode this project under a new name, its atm under development so please stand by.
       
    2. Angully

      Angully Member

      Joined:
      Sep 19, 2010
      Messages:
      764
      Likes Received:
      1
      Trophy Points:
      18
      Im glad to hear :)
       
    3. araklisk

      araklisk New Member

      Joined:
      Apr 4, 2014
      Messages:
      47
      Likes Received:
      0
      Trophy Points:
      0
      Looking forward to seeing this completed :)
       
    4. xtenshisanx

      xtenshisanx Community Developer

      Joined:
      Dec 4, 2012
      Messages:
      212
      Likes Received:
      1
      Trophy Points:
      0
      Yeah, but its really complicated right now, because EB changed the complete code of the Bot so none of my snippets are working.
       
    5. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      The new code added and being added is designed to help developers like you do things a lot easier than before! It's somewhat of an inconvenience, but since EB dev really hasn't taken off community wise, mostly because of how the code is always changing, we can at least progress towards something that will be future proof and work well in the long run.

      The future of EB development is going to be coroutine based and not behavior tree based, so now's a good point to start switching over. I'm not sure how possible it'll be to run the coroutine logic from BTs, but we'll try to add some wrappers for compatibility later after all the coroutine stuff is done. The reason for the switch is purely technical; the way this game works, trying to do what we need in a BT is very complex and messy. It requires a ton more code and state tracking, which makes it more likely for things to break and become hard to maintain.

      There's a lot going on behind the scenes right now transiting our bot base into something more modular so people can achieve the same things the grindbot can do, without having to have all of the code. Ideally, we provide users with a bunch of high level functions that greatly simplifies tasks, so users can just use those, and not have to worry about the nitty gritty details. This is important, because as bugs are found or logic has to change, we can change that stuff, and your end user code stays the same. We can't really help you rewrite all of your project just yet, because like I mentioned a lot of things are being changed and added, but we'll do our best to help you transition to the new code and add useful functions to our shared code that you can make use of to make life easier.

      A few examples are in the Community Developer forum, but a lot of the things you had a lot of code to do before, can easily be wrapped up into common coroutines everyone can make use of. Here's an example of a bot that will do some basic stash orgainization by withdrawing all skill gems not on page 4, and then depositing them on page 4.

      OrganizedStashBot.cs
      You need to register and have one post to see spoilers!
      It might look foreign and confusing at first, but that's just from it being new. What matters is the actual code required to do things, looking past error handling:

      * To open stash in town: yield return Coroutines.OpenStashCoroutine();

      * To request all stash contents once stash is opened: yield return Coroutines.RequestStashContentsCoroutine();

      * To withdraw various items from stash (as per a user function): yield return Coroutines.WithdrawItemsCoroutine(WithdrawItemsDelegate);

      * To stash various items (as per a user function): yield return Coroutines.StashItemsCoroutine(ShouldStashItem, BestStashTabForItem);

      All of those things that would require a lot of code before are now simplified into one line calls where you can specify what the function does with a user function where applicable.

      We can easily add in things that wrap party stuff, so you could have something like: yield return Coroutines.JoinParty(ShouldJoinParty); where ShouldJoinParty is a function that would be called for all the pending party invites to check things based on members, names, or any other of the available information.

      Some of the new input code not shown yet makes tasks like opening chests or picking up items much simpler as well. For example, without error handling the two calls are simply:

      yield return Coroutines.ClickToMoveTo(nearbyItem.Position);
      yield return Coroutines.InteractWithObject(nearbyItem);

      And that's it. Those same two functions can be used for anything else that requires interaction, so portals, quest objects, area transitions, and anything else other than monsters. Skill stuff is not rewritten yet, but it too will get some new logic down the road.

      Anyways, the code is still changing, but it's being developed with users in mind so it'll be well documented and a lot simpler to use compared to what we have had since the first release. We're starting with the actual bot functions first, so a lot of the "fun" things like follow bots and party bots aren't quite ready to be done by us yet, but if you have any requests for being able to do certain things, just post and we can start adding them as we go along. That goes for anyone interested in writing stuff with EB as well. We want to have something that works a lot better than what we have had, and is really easy to use and fun to play with.
       
    6. krone6

      krone6 Member

      Joined:
      Jun 11, 2012
      Messages:
      441
      Likes Received:
      0
      Trophy Points:
      16
      Can't wait. Been waiting for something just like this.
       
    7. xtenshisanx

      xtenshisanx Community Developer

      Joined:
      Dec 4, 2012
      Messages:
      212
      Likes Received:
      1
      Trophy Points:
      0

    Share This Page