• Visit Rebornbuddy
  • [Destiny V2] FateBot Automation

    Discussion in 'Archives' started by Wheredidigo, Jun 3, 2015.

    1. Cloud30000

      Cloud30000 New Member

      Joined:
      May 9, 2015
      Messages:
      298
      Likes Received:
      7
      Trophy Points:
      0
      I agree; I ran into an issue where the bot got stuck trying to attack a mob from someone else's leve quest while on patrol.

      Edit: Patrol's blacklist is static and hardcoded, so while it would fix the target dummy issue it would not help for my leve quest issue. Patrol also blacklists one specific location, though I am not sure if that is relevant to Destiny.

      Here is a quick implementation of Patrol's mob blacklist which includes Stricking Dummy and Tempered Sword:
      View attachment Destiny.cs
       
      Last edited: Jun 7, 2015
    2. Endus

      Endus Community Developer

      Joined:
      Jul 9, 2012
      Messages:
      458
      Likes Received:
      6
      Trophy Points:
      18
      Rather than a Blacklist, it would be better (if possible) to just prevent it from attacking any unwanted mobs using the proper logic (to future proof it, rather than having to blacklist a bunch of stuff as they're discovered).

      Using:

      GameObjectType BattleNpc
      CharacterStatus Idle or !InCombat or !Tapped
      IsTargetable
      IsValid
      CanAttack

      etc.
       
      Last edited: Jun 8, 2015
    3. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      This is the method as it stands right now(added a check to see if the name is in the blacklist):

      Code:
      private static BattleCharacter FindTarget()
              {
                  return GameObjectManager.GetObjectsOfType<BattleCharacter>()
                      .Where(x => !Settings.Instance.BlackListMobNames.Contains(x.EnglishName)
                                  && x.CanAttack
                                  && !x.IsDead
                                  && x.IsTargetable
                                  && x.IsVisible
                                  && !x.TappedByOther
                                  && x.FateId == 0
                                  && x.ClassLevel >= (Core.Me.ClassLevel - Settings.Instance.MinLevel)
                                  && x.ClassLevel <= (Core.Me.ClassLevel + Settings.Instance.MaxLevel)
                                  && x.MaxHealth < (Core.Player.MaxHealth * 5))
                      .OrderBy(x => x.Distance(Core.Player.Location))
                      .FirstOrDefault();
              }
      If you can come up with the check that would filter them out without using a blacklist, I would be more than happy to implement it. For right now, this will be easier. Just working on making the UI look nice for it.
       
    4. botuser2610

      botuser2610 New Member

      Joined:
      Jun 1, 2015
      Messages:
      6
      Likes Received:
      0
      Trophy Points:
      1
      Thanks for the answers Wheredidigo!

      Btw Unknown Buddy is right the Patrol addon had an issue with attacking target dummies. A Black list option would be amazing not only for Destiny but in genereal such a plugin would be awesome as some Monsters are just too tough for the bot or my char--
       
    5. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18

      I've just released a new version that gives you all the ability to add/remove mobs to a BlackList. I have also defaulted the BlackList to contain the Striking Dummy.

      Unfortunately, I haven't been able to find a way to definitively determine if a mob belongs to someone else's leve quest so if you get unlucky, it will still attack those mobs. At least those mobs will eventually die/de-spawn, so it won't break the functionality for too long.

      Thank you all for your input and for providing logs. It has really helped to make this a wonderful plugin.

      -Wheredidigo
       
    6. Mantian

      Mantian New Member

      Joined:
      Feb 18, 2015
      Messages:
      67
      Likes Received:
      1
      Trophy Points:
      0
      Hi
      add/remove mobs to a BlackList by mod's english name sometime is hard for non english cline cuz they'll need to search online database to check the english name
      can it be like the profile editor. add by current select target?
      thanks
       
    7. Cloud30000

      Cloud30000 New Member

      Joined:
      May 9, 2015
      Messages:
      298
      Likes Received:
      7
      Trophy Points:
      0
      Type this in RebornConsole to get the english name of the currently selected target:
      Code:
      var x = Core.Target;
      Log (x.EnglishName);
       
    8. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      I'm glad you are liking the plugin so far.

      To answer your first question:
      What I did was go to the AH and buy gear for all of the classes that I wanted to level ahead of time. I bought enough gear to have it upgrade the gear at about every 10 levels. I then use Agil's gear optimizer to make it auto-equip the new equipment as soon as it can.

      Regarding the error you received: Please re-read the first post in this thread for instructions on how to post an entire log file. If you report a bug/problem without providing a corresponding log file, your post will end up being deleted and your problem will go un-resolved.

      Thanks,
      -Wheredidigo
       
    9. y2krazy

      y2krazy Community Developer

      Joined:
      Jun 21, 2011
      Messages:
      2,803
      Likes Received:
      70
      Trophy Points:
      48
      An alternative to the (in most cases) marked-up gear on the Market Board, if you have the time to run around and buy gear, you could look up gear for each class and visit the vendors to save some Gil. If Gil isn't an issue, the MB is the quickest way, though.

      Example:

      Class: Archer - Gamer Escape's Final Fantasy XIV (FFXIV, FF14) wiki
      Head Slot: Category:Archer Head - Gamer Escape's Final Fantasy XIV (FFXIV, FF14) wiki

      Level 10 Items: Category:Archer Head/iLevel 10-19 - Gamer Escape's Final Fantasy XIV (FFXIV, FF14) wiki (Bronze Sallet for Archer, but can use for 5 additional classes as well)
      Level 20 Items: Category:Archer Head/iLevel 20-29 - Gamer Escape's Final Fantasy XIV (FFXIV, FF14) wiki (Iron Sallet for Archer, but can use for 5 additional classes as well)
      Level 30 Items: Category:Archer Head/iLevel 30-39 - Gamer Escape's Final Fantasy XIV (FFXIV, FF14) wiki (Steel Sallet for Archer, but can use for 5 additional classes as well)
      Level 40 Items: http://ffxiv.gamerescape.com/wiki/Category:Archer_Head/iLevel_40-49 (Woolen Turban for Archer, but can use for 5 additional classes as well)

      Merchant gear on those pages is indicated by this icon: [​IMG]

      Most items bought for Gil will be white items, so your options are very limited while leveling with merchant gear.
       
      Last edited: Jun 8, 2015
    10. Meetra

      Meetra New Member

      Joined:
      Sep 6, 2014
      Messages:
      15
      Likes Received:
      0
      Trophy Points:
      1
      Is there a way to set multiple locations to a single level range? That way it does not afk in a zone in between fates.
       
    11. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      Not currently. If you don't want to just AFK, then I suggest turning on the Patrol feature. What it does is after you run to a fate and complete it, while you are on your way running back to the aetheryte, Patrol will be trying to find any mob that you are close to that you can kill and it will go and kill that mob. This way whenever there isn't any fates to do, your character should just grind on mobs in the area.
       
    12. Meetra

      Meetra New Member

      Joined:
      Sep 6, 2014
      Messages:
      15
      Likes Received:
      0
      Trophy Points:
      1
      I have found patrol to have a few problems, at times running so far from the fate area that it takes so long to get back through mobs that fates dissipate, not my favorite thing.
       
    13. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      Was that with using the build in Patrol function in Destiny or was that using the old standalone Patrol Plugin? If you're having issues with Patrol, I'd love to take a look at them. If you can provide a log that is.
       
    14. Cloud30000

      Cloud30000 New Member

      Joined:
      May 9, 2015
      Messages:
      298
      Likes Received:
      7
      Trophy Points:
      0
      I have noticed what I believe to be the "Navigator.MoveTo(target.Location);" command sometimes giving a different path when called with the same target/location, which has led to the character running back and forth every three seconds on occasion until the "5" counter has elapsed; I am still experimenting with a good solution to prevent it. I tried only calling the function once in that "while (further then pull range)" loop, but after the first Coroutine.Yeild expires and the "while" loop restarts, the character stops moving for the remaining Yields until the counter expires again.

      If I find a good solution to this occurrence, I'll let you know.
       
    15. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      The "5" counter was my solution, lol. I couldn't think of anything better and noticed that it didn't happen "too" often so I wasn't worried about it. Let me know if you come up with something better though. 15 seconds less of downtime is "that" much more exp! =)
       
    16. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      New Version has been uploaded:

      Properly implemented the PreferedRoutine option with an attached Event Handler. The Pick Routine window should no longer show up when Destiny switches classes and more than 1 Combat Routine is loaded.
       
    17. scorpinot

      scorpinot Member

      Joined:
      Oct 1, 2014
      Messages:
      133
      Likes Received:
      1
      Trophy Points:
      18
      Suggest having redbelly sharpeye blacklisted by default, he's in southshroud near the breaching the hive fate. Seems when the fate isnt active the gate is closed and the char will try to target mobs on the other side.
       
      Last edited: Jun 14, 2015
    18. throne

      throne Member

      Joined:
      May 1, 2015
      Messages:
      66
      Likes Received:
      0
      Trophy Points:
      6
      Seems like Destiny prioritizes grinding than doing fates, just like the old patrol plugin. It doesn't show in the log but it would grind multiple mobs before it decides to do fate.

      Sometimes destiny doesn't patrol either even when patrol button is ticked. It just says "no fate in perimeter". This only happens sometimes though, I don't know why. restarting RB fixes it.

      And a question: Will you be fixing the walking back and forth thing? it seems too blatant when it does that. o_O

      Awesome work btw! I just noticed that most of the plugins that I'm using was made by you. hehe
       
    19. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      This is definitely a perception issue that you are having. If you look at the code for the Patrolling part, it will only ever start to Patrol if there are no Fates available within your specified Settings. When it starts Patrolling, it will finish killing the mob that it has found before it moves on to a Fate one comes up while he is still fighting that mob, but it will never start finding another mob to kill if there are any available Fates.

      The way Patrol works is that it will just kill any mob it passes while FateBot tries to move back to the aetheryte to wait for more Fates. If you manage to get all the way back to the Aetheryte without passing any mobs that you can kill, then you will experience that issue. This is the gamble that I've made for my version of Patrol in order to keep the logic simple.

      I'm currently completely refactoring Destiny so that it is a lot easier to maintain and a lot easier for other people to be able to make their own tweaks to it if they want. Part of that refactoring will be trying to find a better way to navigate to mobs. One thing I've done is change the Navigator.MoveTo() call to be called 4 times a second instead of just 1 time every 3 seconds. This has produced better paths to the mobs and from my experience in testing, has reduced the amount of time it would encounter the back and forth thing.

      Thanks! I'm glad my Plugins are working well for you. If you have any other suggestions on improvements or new features to add to Destiny, please let me know.

      -Wheredidigo
       
    20. throne

      throne Member

      Joined:
      May 1, 2015
      Messages:
      66
      Likes Received:
      0
      Trophy Points:
      6
      OH. so that's why I thought patrol wasn't working. I have set mine to do "nothing" after fates just like the old patrol. Maybe that's why my toon wasn't grinding stuff.
      If it was stated that it should be "return to aetheryte" then I missed out on reading it. My bad. Thanks for the quick response and make more awesome plugins please!
       

    Share This Page