Hi there,
I believe
WithdrawAdditively="False" should be
WithdrawAdditively="True", as in the amount you're already calculating now many *additional* ones it needs to withdraw.
For example:
PHP:
<If Condition="(InbagCount(43533) + OnAhCount(43533)) < 5 && InGBankCount (43533) >= 1">
<GetItemfromBankAction Withdraw="Amount" Bank="Guild" MinFreeBagSlots="0" GetItemfromBankType="SpecificItem" ItemID="43533" Amount="(5) - (InbagCount(43533) + OnAhCount(43533))" AutoFindBank="True" WithdrawAdditively="False"/>
</If>
Say I have 3 in my bags and 1 on the AH. So 4 in total, and there are plenty in the GBank. This will goto the bank and try to take out 1 more. Calling
GetItemfromBankAction with
WithdrawAdditively="False" will make it try and bring my total in bag count to 1 or more, which it already is, so it does nothing, aside from keep running to the GBank and back.
Setting
WithdrawAdditively="True" ensures it trys to take out the correct amount as calculated.
The relevant code inside
GetItemfromBankAction.cs is:
PHP:
if (WithdrawAdditively)
items.Add(itemID, Withdraw == DepositWithdrawAmount.All ? int.MaxValue : Amount);
else
items.Add(itemID, Amount - Util.GetCarriedItemCount(itemID));
(
GetCarriedItemCount doesn't check DataStore, and just looks in bags, so it can't be shortcutted that way either)
Hope this helps!