http://www.rbdocumentation.com/html/6ee6b8b8-18ce-991d-3879-0eba3334ba6c.htmQuick additional question.
How do I find the arguments for the SelectYesNoItem to SendAction to?
ClearLog();
foreach(var item in RaptureAtkUnitManager.Controls)
{
Log(item);
}
[XmlRoot(IsNullable = true, Namespace = "")]
[XmlElement("Collectable")]
[XmlType(AnonymousType = true)]
[Serializable]
public class Collectable
{
[XmlAttribute("Name")]
public string Name { get; set; }
[XmlAttribute("Value")]
public int UValue { get; set; }
public uint Value { get { return Convert.ToUInt32(UValue); } }
}
[XmlElement("Fish")]
public class FishTag : ProfileBehavior
{
[XmlElement("Collectables")]
public List<Collectable> Collectables { get; set; }
....
}
<Fish>
<Collectables>
<Collectable Name="Whilom Catfish" Value="459" />
<Collectable Name="Warmwater Bichir" Value="683" />
</Collectables>
</Fish>
Would it be possible to have a plugin that simply auto-accepts all of them?My fishing script does that, but currently can only use a single threshold instead of a threshold per fish.
You could put the Collectability value at 1 if you really wanted all the fish...but you would end up with plenty you can't turn in.Would it be possible to have a plugin that simply auto-accepts all of them?
I'm more thinking of ephemeral node accepting and crafting collectability accepting.You could put the Collectability value at 1 if you really wanted all the fish...but you would end up with plenty you can't turn in.
How would you go about adding the same functionality to crafting? I just need a codechunk that can click Yes/No for crafting collectables.
await Coroutine.Wait(3000, () => SelectYesNoItem.CollectabilityValue > 0);
uint value = SelectYesNoItem.CollectabilityValue;
if (value >= 4000) // Change this number to the min collectability value.
{
SelectYesNoItem.Yes();
}
else
{
SelectYesNoItem.No();
}
I haven't actually done any crafting with orderbot yet, but I plan to and I believe that this should do the trick.
Code:await Coroutine.Wait(3000, () => SelectYesNoItem.CollectabilityValue > 0); uint value = SelectYesNoItem.CollectabilityValue; if (value >= 4000) // Change this number to the min collectability value. { SelectYesNoItem.Yes(); } else { SelectYesNoItem.No(); }
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>