What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[OrderBot][Crafting][Collectable]Cockatrice Meatballs

DBe

New Member
Joined
Jan 31, 2015
Messages
30
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
 
Have you tried what iyake suggested on another thread? I'll directly quote him:

here's what I've been using to interact with the collect window:

Code:
    public static class CollectWindow {
        public static bool IsOpen {
            get {
                return RaptureAtkUnitManager.GetWindowByName("GatheringMasterpiece") != null;
            }
        }
        public static void Collect() {
            if (IsOpen) {
                RaptureAtkUnitManager.GetWindowByName("GatheringMasterpiece").SendAction(1, 1, 0);
            }
        }
    }
 
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>
 
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">
    <=!=[=C=D=A=T=A=[
        if (Core.Me.HasAura(903) && await Buddy.Coroutines.Coroutine.Wait(5000, () => ff14bot.RemoteWindows.SelectYesNoItem.IsOpen)) {
            ff14bot.RemoteWindows.SelectYesNoItem.Yes();
        }
]=]=>
</CodeChunk>

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?
 
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?
Same exact issue, can't get it to work or I'm missing how the logic behind the scene is working..
 
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:
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">
    <=!=[=C=D=A=T=A=[
            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>

Works a treat!!! Thanks very much for that! Hopfully Mastahg will see this, its way above my skills.
 
Last edited:
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 :(
 
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 :(

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.
 
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?
 
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">
<=!=[=C=D=A=T=A=[

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.

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)
 
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>
 
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">
    <=!=[=C=D=A=T=A=[
            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>
Omg ty for this <3
Finally got it to compile, I completely forgot to add the runcode line!!
 
Omg ty for this <3
Finally got it to compile, I completely forgot to add the runcode line!!

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?
 
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 ^^
 
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.
 

Attachments

Last edited:
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.

Similar to the ones I have, thank you for it regardless!
 
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.

Thanks for this, Will be using it to move along my crafts!
 
Back
Top