• Visit Rebornbuddy
  • [OrderBot][Crafting][Collectable]Cockatrice Meatballs

    Discussion in 'Other Profiles' started by DBe, Aug 18, 2015.

    1. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      This is a quick profile that I used to farm Blue Scripts of Crafting - I was doing Cockatrice Meatballs however you can adjust the recipe ID to whatever you want to use for hand-ins just keep in mind this is a level 58 recipe, if you opt for lvl 59 or 60 you need to make sure the Careful Synthesis II's are enough to finish it off.

      Gear Used:
      MH: i150 HQ
      OH: i149 HQ
      Left side minus belt: i150 HQ with 0 melds
      Right side + Belt: Pre-expansion BiS

      Food:
      HQ Bouillabaisse

      Stats unbuffed:
      Craft: 665
      Control: 604

      How to use:
      1. Turn on Collectable Synthesis
      2. Start bot
      3. *Once the craft is done you have to manually click yes, then it will go back into auto-mode until the collectable window pops up again

      *I've searched all over the forums, haven't found how I could implement an auto-yes click on the crafting collectability window so this could run 100% automatically - Any input/help here would be highly appreciated!!

      On average I get about 90% full value on collectability unless super bad RNG on the hasty touches

      Note: For easier code writing I use a Custom Tags (CraftActionByName) to avoid having to keep looking up action ID #s.
      I will attach the CS file for the custom tags (Note: I only added Muscle Memory (CUL new skill) to the list because its used in this profile. You can add all the new skills into the custom tags just need to look up the skill IDs from xivdb.com)

      How to install custom tags:
      1. Where ever you save the BlueScript XML file, make sure you have a folder called "CustomTags"
      2. Inside that folder save the CraftActionByNameTag

      View attachment CraftActionByNameTag.cs
      View attachment BlueScript.xml
       
    2. ShotsFired162

      ShotsFired162 New Member

      Joined:
      Aug 15, 2015
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
    3. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Yeah I already tried it, couldn't get it to work ;(
       
    4. imbored

      imbored New Member

      Joined:
      Aug 16, 2015
      Messages:
      2
      Likes Received:
      0
      Trophy Points:
      0
      Have you tried what iyake suggested on another thread? I'll directly quote him:

       
    5. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      that's for the gathering collect window, the official api has support for the fishing and crafting collect windows

      try this code chunk (I haven't run it myself yet)

      Code:
      <CodeChunk Name="AcceptCollectable">
          <![CDATA[
              if (Core.Me.HasAura(903) && await Buddy.Coroutines.Coroutine.Wait(5000, () => ff14bot.RemoteWindows.SelectYesNoItem.IsOpen)) {
                  ff14bot.RemoteWindows.SelectYesNoItem.Yes();
              }
      ]]>
      </CodeChunk>
      
       
    6. Djdave

      Djdave New Member

      Joined:
      Feb 22, 2015
      Messages:
      166
      Likes Received:
      1
      Trophy Points:
      0
      I tried this along with some code that ExMatt kindly provided me and when the YesNo Window opens it just stays open only showing the last craft action. I've tried everything to my knowledge but have been unable to get it to accept.

      Even running the ff14bot.RemoteWindows.SelectYesNoItem.Yes(); code in the console when its open doesn't let it accept, so I assume this is something to do with it being in the middle of the craft still?
       
    7. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Same exact issue, can't get it to work or I'm missing how the logic behind the scene is working..
       
    8. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      Oh, I noticed that CraftingManager.AnimationLocked wasn't returning false when selectyesnoitem is open causing craftaction to wait forever for animationlocked to be false.

      Either animationlocked needs to return false when selectyesnoitem is open or craftaction will have to properly finish when selectyesnoitem is open. That's something you'll have to bring up with mastahg.

      In the meantime, try this in place of the last careful synthesis II:

      Code:
      <CodeChunk Name="CSIIAndAcceptCollectable">
          <![CDATA[
                  if (await Buddy.Coroutines.Coroutine.Wait(5000, () => ff14bot.Managers.Actionmanager.CanCast(100069, null))) {
                      ff14bot.Managers.Actionmanager.DoAction(100069, null);
                      await Buddy.Coroutines.Coroutine.Wait(10000, () => CraftingManager.AnimationLocked);
                      await Buddy.Coroutines.Coroutine.Wait(Timeout.Infinite, () => !CraftingManager.AnimationLocked || ff14bot.RemoteWindows.SelectYesNoItem.IsOpen);
                      if (ff14bot.RemoteWindows.SelectYesNoItem.IsOpen) {
                          ff14bot.RemoteWindows.SelectYesNoItem.Yes();
                          await Buddy.Coroutines.Coroutine.Wait(10000, () => !ff14bot.RemoteWindows.SelectYesNoItem.IsOpen);
                          await Buddy.Coroutines.Coroutine.Wait(Timeout.Infinite, () => !CraftingManager.AnimationLocked);
                      }
                  }
      ]]>
      </CodeChunk>
      
       
      Last edited: Aug 19, 2015
    9. Djdave

      Djdave New Member

      Joined:
      Feb 22, 2015
      Messages:
      166
      Likes Received:
      1
      Trophy Points:
      0
      Works a treat!!! Thanks very much for that! Hopfully Mastahg will see this, its way above my skills.
       
      Last edited: Aug 19, 2015
    10. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      What am I missing to get this to compile? I copy pasted the above codechuck instead of my last CSII but I get this error when loading the profile;

      Failed to load profile: The value "ff14bot.NeoProfiles.CodeChunk" is not of type "ff14bot.NeoProfiles.ProfileBehavior" and cannot be used in this generic collection.
      Parameter name: value

      CodeChunk is not part of ProfileBehavarior, its part of NeoProfiles, figured that much out but not sure how to fix it :(
       
    11. Djdave

      Djdave New Member

      Joined:
      Feb 22, 2015
      Messages:
      166
      Likes Received:
      1
      Trophy Points:
      0
      Dont know enough to answer your question about that error, what I did notice which looks like its happened to you also is all the = in the CDATA at the beginning of the profile.

      On iyake's code

      <CodeChunk Name="CSIIAndAcceptCollectable">
      <![CDATA[

      Your Code

      <CodeChunk Name="CSIIAndAcceptCollectable">
      <=!=[=C=D=A=T=A=[

      It happened to me also I just took them out. If that doesnt work might be worth posting up your profile and the full log.
       
    12. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Yeah on my end there are no extra equal signs I noticed that. I'll post full error log once I get home. Meanwhile do you mind posting your crafting xml profile that you managed to make that codechunk work on?
       
    13. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Here is full log;
      [13:30:13.475 N] BehaviorDirectory element found, compiling custom behaviors...
      [13:30:14.071 N] Failed to load profile: The value "ff14bot.NeoProfiles.CodeChunk" is not of type "ff14bot.NeoProfiles.ProfileBehavior" and cannot be used in this generic collection.
      Parameter name: value
      [13:30:14.078 D] System.ArgumentException: The value "ff14bot.NeoProfiles.CodeChunk" is not of type "ff14bot.NeoProfiles.ProfileBehavior" and cannot be used in this generic collection.
      Parameter name: value
      at System.ThrowHelper.ThrowWrongValueTypeArgumentException(Object value, Type targetType)
      at System.Collections.Generic.List`1.System.Collections.IList.Add(Object item)
      at Clio.XmlEngine.PropertyProcessor.(PropertyInfo , XElement , Object )
      at Clio.XmlEngine.XmlEngine.Load(Object obj, XElement element)
      at Clio.XmlEngine.PropertyProcessor.(PropertyInfo , XElement , Object )
      at Clio.XmlEngine.XmlEngine.Load(Object obj, XElement element)
      at Clio.XmlEngine.PropertyProcessor.(XElement , Type )
      at Clio.XmlEngine.PropertyProcessor..(XElement )
      at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
      at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
      at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
      at Clio.XmlEngine.PropertyProcessor.(XElement , PropertyInfo )
      at Clio.XmlEngine.PropertyProcessor.(PropertyInfo , XElement , Object )
      at Clio.XmlEngine.XmlEngine.Load(Object obj, XElement element)
      at ff14bot.NeoProfiles.NeoProfile.Load(XElement element, String path)
      at ff14bot.NeoProfiles.NeoProfile.Load(String path)
      at ff14bot.NeoProfiles.NeoProfileManager.Load(String profilePath, Boolean rememberPath)
       
    14. Djdave

      Djdave New Member

      Joined:
      Feb 22, 2015
      Messages:
      166
      Likes Received:
      1
      Trophy Points:
      0
      I am also at work but a quick example profile would be - (The item ID's and RecipeID's are fake all I have done is bash 1.)

      So the below would just do CS2 3 times and apcept the yes/no box.

      Code:
      
      <Profile>
      <Name>Crafting Profile</Name>
      
      <Codechunks>
      
      <CodeChunk Name="CSIIAndAcceptCollectable">
          <![CDATA[
                  if (await Buddy.Coroutines.Coroutine.Wait(5000, () => ff14bot.Managers.Actionmanager.CanCast(100069, null))) {
                      ff14bot.Managers.Actionmanager.DoAction(100069, null);
                      await Buddy.Coroutines.Coroutine.Wait(10000, () => CraftingManager.AnimationLocked);
                      await Buddy.Coroutines.Coroutine.Wait(Timeout.Infinite, () => !CraftingManager.AnimationLocked || ff14bot.RemoteWindows.SelectYesNoItem.IsOpen);
                      if (ff14bot.RemoteWindows.SelectYesNoItem.IsOpen) {
                          ff14bot.RemoteWindows.SelectYesNoItem.Yes();
                          await Buddy.Coroutines.Coroutine.Wait(10000, () => !ff14bot.RemoteWindows.SelectYesNoItem.IsOpen);
                          await Buddy.Coroutines.Coroutine.Wait(Timeout.Infinite, () => !CraftingManager.AnimationLocked);
                      }
                  }
      ]]>
      
      </CodeChunk>
      
      </CodeChunks>
      
      <Order>
      	    
      		<While Condition="(HasAtLeast(1111,1)">
      			<Synthesize RecipeId="1111" MinimumCp="388" HQMats="-1,-1,-1,-1,-1,-1" />
      			<While Condition="CraftingManager.IsCrafting">
      				<CraftAction Name="Careful Synthesis II" ActionId="100069" />
      				<CraftAction Name="Careful Synthesis II" ActionId="100069" />
      				<RunCode Name= "CSIIAndAcceptCollectable" />
      			</While>
      		</While>
      	</Order>
      </Profile>
      
      
       
    15. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Omg ty for this <3
      Finally got it to compile, I completely forgot to add the runcode line!!
       
    16. Djdave

      Djdave New Member

      Joined:
      Feb 22, 2015
      Messages:
      166
      Likes Received:
      1
      Trophy Points:
      0
      No worries its all iyake's hard work!

      Just one thing, I noticed doing this we dont even see the YesNo box, is this not something SE will catch on to? or is it just doing it that quick we dont see it?
       
    17. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      I've been wondering the same thing. I think its just quick that we don't see it I doubt SE would be able to pick up on. However, any pro input here especially someone with a dev background could be useful ^^
       
    18. SinisterJoint

      SinisterJoint Member

      Joined:
      Feb 13, 2015
      Messages:
      83
      Likes Received:
      2
      Trophy Points:
      8
      I've made a profile that will make redscrip and bluescrip turn ins. Just plug in the recipe ID and you can use it for any of them. Higher melds is recomended for red scrips

      So far im 100% on these. Feel free to modify the rotation as needed. It does require (at least for me 700 craft, 680 control) I put food already in the profile and the select yes/no chunk so you can afk this. Just turn on collector buff and hit start. It works without food but obviously having booya base increases your chances (and is easy as hell to make) Thanks iyake for your awesome code chunk.
       

      Attached Files:

      Last edited: Aug 25, 2015
      Tinytox likes this.
    19. DBe

      DBe New Member

      Joined:
      Jan 31, 2015
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Similar to the ones I have, thank you for it regardless!
       
    20. Tinytox

      Tinytox Member

      Joined:
      Nov 5, 2014
      Messages:
      370
      Likes Received:
      7
      Trophy Points:
      18
      Thanks for this, Will be using it to move along my crafts!
       

    Share This Page