• Visit Rebornbuddy
  • [GatherAssist] Gather multiple items with a single command

    Discussion in 'Plugins' started by ZaneMcFate, Nov 29, 2014.

    1. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      GatherAssist is a plugin for RebornBuddy that is designed to rapidly build and execute gathering (Mining and Botany) profiles for various counts of various items. It will intelligently gather items from maps that your character has discovered, and switch to the next item when the appropriate count has been completed. It plays nicely with RePear, so you can gather for hours, or at least until your bags fill up :)

      Features:
      - Multiple gathering classes (Miner, Botanist)
      - Multiple gather items
      - Select item count goals for each item
      - HQ option to collect until the appropriate number of high quality items have been gathered
      - Automatically selects the best spell for each gather item, based on your class/level and the target gather item
      - AutoSkip option to skip profiles that are not working properly
      - Logout and/or sound alert when gathering is finished

      This is an active project, and I am continuing to add new functionality to the tool at this time. Please give the tool a try, break it, run it into the ground, and tell me where it can be improved. I have been using this tool for my own gathering needs, and I am quite happy with the performance.

      Click here for the direct download:
      https://s3-us-west-2.amazonaws.com/rebornbuddy-gatherassist/GatherAssist-Latest.zip

      SVN Access to directly update your plugins folder:
      https://github.com/ZaneMcFate/rebornbuddy-gatherassist/trunk/GatherAssist/Plugins/GatherAssist

      GitHub access for source code collaboration:
      https://github.com/ZaneMcFate/rebornbuddy-gatherassist

      Browse current issues and project status:
      https://github.com/ZaneMcFate/rebornbuddy-gatherassist/issues
       
      Last edited: Dec 7, 2014
      lotrodude likes this.
    2. Sc4res

      Sc4res New Member

      Joined:
      Jan 5, 2014
      Messages:
      10
      Likes Received:
      0
      Trophy Points:
      0
      Love you <3 will run it till it smokes and report bugs if there are some =)
       
    3. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      Awesome Zane, just awesome. Keep at it :)
       
    4. hkme

      hkme Member

      Joined:
      May 12, 2014
      Messages:
      197
      Likes Received:
      0
      Trophy Points:
      16
      Thank you.
       
    5. Dgame

      Dgame Member

      Joined:
      Aug 19, 2014
      Messages:
      320
      Likes Received:
      0
      Trophy Points:
      16
      GatherAssist SVN Folder screenshots

      These are the screenshots before and after the SVN commit.
       
    6. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      I still am unable to find a problem with SVN updating from the moving Github source, provided you are using the proper subfolder trunk/GatherAssist/Plugins/GatherAssist ; I can even move forward and backward in time between various Github commits. Can someone else please test the SVN download? I'm concerned that my client is reading some type of access that only I have, even though the Github project is completely public.
       
    7. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      Beta 0.9.1 posted:
      - Fixed a bug with timer interval settings, no longer requires a restart for the settings update to take effect.
      - Updated shard-based spell selections to work with either class, so long as the cross-skill spells are enabled.

      Thanks for all the positive words! I have been using my own plugin over the long weekend and trying to find corner cases; do let me know if there is a useful feature that is missing.
       
    8. Dgame

      Dgame Member

      Joined:
      Aug 19, 2014
      Messages:
      320
      Likes Received:
      0
      Trophy Points:
      16
      Not sure if it's a bug or not but its using HQ skills by default. If you're mass producing an item and you can easily HQ items with NQ mats, you can save a lot of time by just using the buffs that increase your quantity instead of quality.

      Maybe check boxes or something next to the items in the Request list indicating HQ or quantity for each item. Just my suggestion. Keep up the great work please!
       
    9. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      I have not put much effort into spell selection at this point; the only thing it does right now is choose spells for increasing shard production if you are seeking out shards specifically. The other spells are chosen by the current level only. The reason I hadn't looked into it yet was that I wanted to really do it proper and know precisely what the gathering chances were for each item, based on stats which, to my knowledge, can't be read by the bot right now. But at the very least, I can put an option onto the plugin to favor %+ spells or HQ+ spells.
       
    10. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      Two questions - how are you handling items that are gathered in an area that doesn't have an Aetheryte? I'm not sure if there are any items specific to those area(s). Secondly, I was briefly looking through your code and saw how you check for a Gathering spell to use depending on the class level, have you thought about maybe doing it based on the gather chance for the item you want? Something like:

      Code:
      If GatheringChance > 90
      	If Level > 35
      		If Miner
      			return Unearth II
      		If Botanist
      			return Leaf Turn II
      	ElseIf Level > 15
      		If Miner
      			return Unearth
      		If Botanist
      			return Leaf Turn
      	ElseIf Level > 4
      		If Miner
      			return Sharp Vision
      		If Botanist
      			return Field Mastery
      	Else
      		If Miner
      			return Prospect
      		If Botanist
      			return Triangulate
      ElseIf GatheringChance > 85
      	If Level > 4
      		If Miner
      			return Sharp Vision
      		If Botanist
      			return Field Mastery
      	Else
      		If Miner
      			return Prospect
      		If Botanist
      			return Triangulate
      ElseIf GatheringChance > 75
      	If Level > 5
      		If Miner
      			return Sharp Vision II
      		If Botanist
      			return Field Mastery II
      	ElseIf Level > 4
      		If Miner
      			return Sharp Vision
      		If Botanist
      			return Field Mastery
      	Else
      		If Miner
      			return Prospect
      		If Botanist
      			return Triangulate
      Else
      	If Level > 10
      		If Miner
      			return Sharp Vision III
      		If Botanist
      			return Field Mastery III
      	If Level > 5
      		If Miner
      			return Sharp Vision II
      		If Botanist
      			return Field Mastery II
      	ElseIf Level > 4
      		If Miner
      			return Sharp Vision
      		If Botanist
      			return Field Mastery
      	Else
      		If Miner
      			return Prospect
      		If Botanist
      			return Triangulate
      
      Obviously that's not optimal code but it's easier to read for pseudo-code imo.

      Just a thought I had, thought I'd share. There's nothing wrong with how you're doing it now.
       
    11. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      This is an excellent idea, and I am interested in doing it this way; the only problem is, I do not currently have a way of predetermining gather chance for an item; I might be able to figure it out when I get to the item, but I'm not sure even that is possible. I am hoping to make some basic assumptions about gathering chance based on level, to at leadt get closer to the mark, but if I could come up with a GatheringChance function, this would all be much simpler :)
       
    12. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      I'm not sure about precalculating because of all the factors that go into the calculation, but once you're at the node it's easy: ff14bot.Managers.GatheringWindow.GatheringWindowItems, ff14bot.Managers.GatheringItem.Chance, ff14bot.Managers.GatheringItem.HqChance, etc.
       
    13. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      Is there a convenient way (without writing an entire bot) to tell when I have approached a node to run that code? Is that what OnPulse should be used for? It would certainly be easier to dynamically adjust for the current item than to maintain complex % calculations inside the plugin.
       
    14. Yasuko

      Yasuko Member

      Joined:
      Oct 28, 2010
      Messages:
      314
      Likes Received:
      6
      Trophy Points:
      18
      I would use onpulse to see when the gathering window opens. I'm not sure if there is an event to fire in the api for whenever the gathering window opens.. just check in the pulse if window is open.
       
    15. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      No event, just use a conditional that checks if the window is open, that would be good enough.
       
    16. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      Beta 0.9.2 posted:
      - Completed item validation!
      - Accommodated the v207 update by removing some now-redundant item management code.
      - Added support for the new AutoEquip feature, then learned it only supports combat classes; greyed it out for now.
      - Added debug option so DEBUG messages don't pepper the log file.
      - Added logout and sound alert options when gathering is complete.

      I still want to group nearby nodes and improve the gathering spell selection before I can call this a production tool. I might actually get that done if I stop jumping at the other shiny features instead...
       
      Last edited: Dec 3, 2014
    17. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      Just posted a bug fix to the new item count logic; seems to be working properly now.
       
    18. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      0.9.3 RC posted:
      - Improved default spell selection, based on NQ/HQ choice.
      - Added dynamic spell selection based on the difficulty of the target and the NQ/HQ choice. Takes place after the first gathering attempt for each item.

      With this, all open issues and bugs are closed; if nothing surfaces, I will call this first stage of the plugin complete! I intend to get a combat class to 50 next and perhaps work on some other tool ideas. I'm open to ideas for future improvements, so please let me know. Some ideas I have considered:

      - Automatic break-down of recipe components
      - Addition of grinding items (mob drops)
      - Addition of fishing (this could be rather difficult, hopefully fishing will be added to Orderbot by the time I try this)
       
    19. Dgame

      Dgame Member

      Joined:
      Aug 19, 2014
      Messages:
      320
      Likes Received:
      0
      Trophy Points:
      16
      Download link not working for some reason.

      This is what it opens up
      Code:
      This XML file does not appear to have any style information associated with it. The document tree is shown below.
            <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>9F5BEFDAD88B280D</RequestId><HostId>BPCUhMCL2B0iRR4bkFZOSDKaFCrzLej9qqWfkjWM2nukElo1BpUdylpdzxuqTuf1ckG0beNudGQ=</HostId></Error>
       
    20. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      Sorry, still learning that particular client, and I forgot to make the link public. Try again now!
       

    Share This Page