• Visit Rebornbuddy
  • Important Crafting Tags

    Discussion in 'Rebornbuddy Profiles' started by mastahg, Jan 17, 2015.

    1. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      Some issues I've come across:

      CrafingManager.Step always returns 5068
      CraftingManager.QualityCap throws

      Code:
      System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
         at ff14bot.RemoteWindows.Synthesis.GetProperty(String key)
         at ff14bot.Managers.CraftingManager.get_QualityCap()
      

      Some nice-to-haves for 3 and 4 star crafting.

      # of stacks left on comfort zone, steady hand, steady hand II, waste not, etc.
      # of stacks of inner quiet
      Counter for tricks of the trades used
       
      Last edited: Jan 18, 2015
    2. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Ok, fixed the settings, the last 3 were shifted by one index so thats why they werent working. As for the aura counts thats not hard, but i dont understand what the tott counter would be useful for.
       
    3. dcone

      dcone New Member

      Joined:
      Nov 19, 2014
      Messages:
      29
      Likes Received:
      0
      Trophy Points:
      1
      The tricks of trade counter helps for HQ'ing 3* and 4* items. It lets you know if you can substitute a hasty touch with a basic touch. You could possibly use total CP for the same effect.

      Re my question earlier about HQ mats
      Just to clarify, is it possible to use HQ and when you run out, to use NQ mats? Other than making multiple if statements to check if an ingredient is depleted or not.
      From my understanding the HQMats parameter stops the crafting if it cannot find any HQ available.

      eg. If I'm crafting Twinthread, have 30 NQ Crawler Cocoons, 14 HQ Crawler Cocoons and have HQMats set to "2,0", the bot will stop after the 14 HQ Crawler Cocoons have been depleted.
      Also, in some cases, we wouldn't want to use NQ Mats even if we have them:
      eg. Making HQ Silver Brocades. I'd like to use ONLY HQ Twinthread for silver brocades, but it'd be fine to use HQ and NQ Silver Ingots. This might be able to be completed with another parameter? eg. a boolean array called UseNQ
      where if the parameter was UseNQ="False, True" and HQMats was set to "2,1", then the recipe would continue if it ran out of Silver Ingots as long as NQ was available, but would stop if all HQ Twinthread was depleted.
      Not sure how easy that would be to implement or whether that's reasonable or not or if there's something already available that works like that.
      Thanks!

      Also, regarding the "EatFood" tag, it doesn't seem that the bot waits for you to finish eating before moving on in the profile.
      eg. If you have EatFood(Bouillabaise) followed by a Synthesize(MinimumCP="388"), it will eat the Bouillabaise then move on to the Synthesize line before you receive the CP bonus from Bouillabaise. As such, the profile will stop because you won't have the minimum CP. Not sure if this is intentional and I suppose I could throw in a wait there to give it some time. But just thought I'd bring it up.

      Either way, amazing job Mastahg! The addition of crafting has really opened tons of capabilities for the rebornbuddy! Keep up the good work and thanks!
       
    4. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      Just to illustrate dcone's point

      If you've used 2 totts, you'll have +56 more CP at a hasty touch step than you would normally. The 16 is from 2 extra ticks of comfort zone. The CZ ticks are what makes using CurrentCP hard to determine whether you should use hasty or basic touch. It's much easier to just count # of totts, and swap that number of hasty touches into basic touches. Not impossible, but you'd have to write some long conditionals that checks stacks of CZ left vs. current CP.

      While we're at it, might be better to make counters for # of a any skill used in this synthesis. Sometimes you'll get enough tott procs for 3 master mend IIs, but don't want to do the third one since it'll leave you without enough CP for your finisher. Again, we can work around this by writing long conditionals that check multiple variables, but it would be a nice-to-have.
       
    5. Neverdyne

      Neverdyne Community Developer

      Joined:
      Sep 12, 2014
      Messages:
      644
      Likes Received:
      18
      Trophy Points:
      18
      Something that would be very helpful in order to make intelligent crafters would be to know the player's Craftsmanship and Control. I read in older posts that player attributes are not yet implemented, but don't know if that's still the case. Couldn't find them on LocalPlayer at least. Any chance this might come in the future?
       
    6. Yasuko

      Yasuko Member

      Joined:
      Oct 28, 2010
      Messages:
      314
      Likes Received:
      6
      Trophy Points:
      18
      So I was reading what you were saying about counting stacks.. and I had a very simple idea of creating a condition to use with orderbot to see if it might be worth continuing with..

      It basically adds two conditions to orderbot for crafting.

      1) HasCraftAura(uint id)
      2) CraftAuraCount(uint id)

      ..With the help of iyake pointing out to me what I was missing to actually get the condition to work in a profile, I was able to successfully test it.. Again, This is just a very simple "draft" of a condition addon that just loops through your current CharacterAuras to see if you have the buff, and how many stacks of that buff are there.. You can get the Aura ID by doing the following in console, as I have not gone through and found the AuraID for each crafting buff yet:

      Code:
       foreach (var x in ff14bot.Core.Me.CharacterAuras)
      {
         Log(x.Id);
      }
      
      I tested this in a quick toss together crafting profile, just to log to the bot log if the conditions were true:

      Code:
      <While condition = "True">
      
      			<Synthesize RecipeId="973" HQMats="1,0,0"/>
      				<While Condition="CraftingManager.IsCrafting">
      					<CraftAction Name="Comfort Zone" ActionId="286" />
      					<If Condition="CraftingConditions.HasCraftAura(261)">
      						<If Condition="CraftingConditions.CraftAuraCount(261) == 10">
      						<LogMessage Message="10 Stacks of Comfort Zone" />
      						</If>
      					</If>
      				</While>
      		</While>
      
      which in return spammed RB Log with
      Code:
       [08:10:05.724 N] 10 Stacks of Comfort Zone 

      ..This might help make better 3star-4star crafting profiles.. feel free to edit the conditions to your needs. Granted it doesn't really help with ToTT as much..

      View attachment CustomConditions.cs -- Make sure to place it in a folder/any folder in your Plugin directory.
       
      Last edited: Jan 19, 2015
    7. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      I've already gone and added a GetAuraStacks func to the Aura subclass of Characters for the next version. Will return -1 if the buff is not present, otherwise itll return how many stacks. Also modifying HqMats param, -1 will mean use use all mats available preferring Hq first, and -2 will mean use all mats preferring Nq first.
       
    8. Yasuko

      Yasuko Member

      Joined:
      Oct 28, 2010
      Messages:
      314
      Likes Received:
      6
      Trophy Points:
      18

      I have noticed that when using HQMats="1,0,0,1" and pressing start to start the first craft, it will come up saying not all materials were found and stop the bot, but as soon as i press start again it will apply the HQ materials to the crafting bot and actually start crafting.. also randomly it will say that not all materials are found randomly through out crafting and stop the bot - even though there are HQ materials available to use.

      View attachment 1276 2015-01-19 10.53.txt ..Log doesnt really show anything other than the error
      Code:
      [17:48:31.314 D] Replaced hook [ProfileOrderBehavior_Hook] d89589b6-2481-4fd5-8a0e-3104f12a69c8
      [17:48:32.013 N] [Synthesize] Cannot craft, perhaps we are out of materials?
      [17:48:32.013 N] Stopping the bot. Reason:[Synthesize] Cannot craft, perhaps we are out of materials?
      [17:48:32.013 D] CurrentBot.Stop()
      [17:48:32.013 N] Connection closed! 192.99.148.87:31214
      [17:48:32.013 D] TreeHooks.Instance.ClearAll()
      [17:48:32.013 N] Clearing all hooks.
      [17:48:32.013 D] Navigator.Clear()
      [17:48:32.013 V] [Poi.Clear] Reason: Bot stopped
      
       
    9. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      As the error says perhaps we are out of materials. We don't know the exact reason the game says we cannot craft. That said ill increase the delay before we do that check after adjusting the number of hq mats.
       
    10. Yasuko

      Yasuko Member

      Joined:
      Oct 28, 2010
      Messages:
      314
      Likes Received:
      6
      Trophy Points:
      18
      Yes, I'm Sorry. I should have added that FFXIV returns the error that the correct materials were not selected. I should have said that.. So it would make sense if it were the delay timer from when the crafting box opens and materials are selected is too short.. or my client could just be lagging from running multiple ffxiv's at once on my computer, which I normally do not notice from within private housing.. I apologize.
       
    11. ZaneMcFate

      ZaneMcFate Member

      Joined:
      Nov 17, 2014
      Messages:
      137
      Likes Received:
      2
      Trophy Points:
      18
      I also had that problem when eating food, but I hadn't put two and two together on the cause. I will add a delay after eating to help there :)

      There is also a bit of an enigma for multiple crafting processes: the EatFood can't get out of the crafting stance to refresh the food buff. I could get around that by using <StopCrafting /> after each crafting attempt, but that would cause unnecessary delay. In the mean time, I suppose I could put a condition on top of the crafting loop to exit and rebuff when the food has worn off, but it would be nice to have the bot intelligently exit to rebuff, then re-enter crafting and continue.
       
    12. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Eatfood should be exiting the crafting window.
       
    13. Tigger

      Tigger New Member

      Joined:
      Mar 12, 2014
      Messages:
      17
      Likes Received:
      0
      Trophy Points:
      1
      Sorry might have missed it, but how can we determine when food has worn off ?
       
    14. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Eatfood tag will do it for you. It wont eat blindly.
       
    15. bobbyx

      bobbyx Member

      Joined:
      Sep 12, 2014
      Messages:
      72
      Likes Received:
      5
      Trophy Points:
      6
      i love this new crafting tag, thank you very much !!! <3
       
    16. Zamphire

      Zamphire Member

      Joined:
      May 16, 2013
      Messages:
      349
      Likes Received:
      11
      Trophy Points:
      18
      Loving the new crafting so far!

      Question though, I can't seem to get it to eat the food I'm trying to make it eat.

      Code:
      			<EatFood ItemId="4721" Name="Bouillabaisse" HqOnly="True"/>
      
      It says in the log it goes to eat but doesn't. Am I doing it right?
       
    17. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Post the log....
       
    18. Zamphire

      Zamphire Member

      Joined:
      May 16, 2013
      Messages:
      349
      Likes Received:
      11
      Trophy Points:
      18
      Well darn. I restarted everything to make you a fresh log.... and it worked.
       
    19. Tigger

      Tigger New Member

      Joined:
      Mar 12, 2014
      Messages:
      17
      Likes Received:
      0
      Trophy Points:
      1
      Yeah, I can Eatfood, and it will craft away for 30 mins until the food wears off, but it will stop when the food wears off, because of low CP.

      But to use Eatfood I have to exit the crafting cycle, which is a waste of time, so was wondering if there was a "FoodAura" or something.

      Really loving the crafting, it just made your app, a whole lot better.
       
    20. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      You can't eatfood while crafting anyway....
       

    Share This Page