#event missing "You are missing a #1#."
Sub Main
/declare ContainerType string outer "Planar Jeweler's Kit"
/declare Amount int outer
:mainloop
/doevents
/if (${FindItemCount[Stone Furniture Frame]}==0) /call combine frame 20
/if (${FindItemCount[Stone Chiseled Podium]}<=1) /call combine podium 2
/if (${FindItemCount[Stone Chiseled Podium]}>=1) /call selltovendor "Stone Chiseled Podium"
/goto :mainloop
/return
Sub combine(makeitem, int makeamount)
/declare VRS string local
/varset Amount ${makeamount}
/if (${makeitem.Equal[podium]}) /varset VRS Stone Chiseled Podium
/if (${makeitem.Equal[frame]}) /varset VRS Stone Furniture Frame
/if (${FindItem[${ContainerType}].Name.NotEqual[NULL]}) {
| /echo Found -- (${FindItem[${ContainerType}].Name}) in slot (${FindItem[${ContainerType}].InvSlot})
} else {
/echo Could not find: (${FindItem[${ContainerType}].Name}), ending macro.
/endmacro
}
/if (!${Window[TradeskillWnd].Open}) /itemnotify ${FindItem[${ContainerType}].InvSlot} rightmouseup
/delay 1s
/call SelRecipe "${VRS}"
/delay 10
:CombineLoop
/if (${FindItemCount[${VRS}]}==${Amount}) {
| /notify TradeskillWnd CloseButton Leftmouseup
/return
}
/notify TradeskillWnd CombineButton Leftmouseup
/delay 2s
/doevents
/delay 1s
/notify TradeskillWnd AutoInvButton Leftmouseup
/if (${FindItemCount[Stone Furniture Frame]}==0) /return
:AutoInvLoop
/if (${Cursor.ID}) {
/notify TradeskillWnd AutoInvButton Leftmouseup
/delay 3s !${Cursor.ID}
/goto :AutoInvLoop
}
/delay 1m ${Window[TradeskillWnd].Child[COMBW_CombineButton].Enabled}
/goto :CombineLoop
/return
Sub Event_missing(missingtext, missingitem)
/if (${missingitem.Equal[Stone Furniture Frame]}) /return
/call Vendor Varlad
/delay 1s
/call buy "${missingitem}" 20
/delay 1s
| /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp
/return
sub selltovendor(itemToSell)
/call Vendor Varlad
/if (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory
/delay 10s (${Window[InventoryWindow].Open})
/if (${Window[MerchantWnd].Open} && ${FindItem[${itemToSell}].InvSlot}) {
:sell
/nomodkey /itemnotify ${FindItem[${itemToSell}].InvSlot} leftmouseup
/delay 5
/if (${FindItem[${itemToSell}].InvSlot}) /shiftkey /notify merchantwnd MW_Sell_Button leftmouseup
/delay 2s
/if (${FindItem[${itemToSell}].InvSlot}) /goto :sell
}
| /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp
/return
Sub Vendor(vendorName)
/target npc ${vendorName}
/delay 1S
/face nolook
| /moveto ID
/delay 1s
/nomodkey /click right target
/delay 1s
/return
Sub Buy(string ItemToBuy, int amount)
/declare i int local
/echo Buying ${ItemToBuy}!
/declare QTY int local
/declare ListItem int local
/varset QTY ${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]}
/delay 1s
/if (${FindItemCount[${ItemToBuy}]}>= ${amount}) {
/echo Done!
/return
}
/varset ListItem ${Window[MerchantWnd].Child[ItemList].List[=${ItemToBuy},2]}
/if (!${ListItem}) {
/echo couldn't find ${ItemToBuy}
/return
} else {
/notify MerchantWnd ItemList listselect ${ListItem}
/delay 1s
}
/echo Buying ${ItemToBuy} Till I get ${amount}
:Loop
/if (${QTY}>1) {
/if (${QTY}>19) {
/Shiftkey /notify merchantwnd MW_buy_Button leftmouseup
/delay 30s ${FindItemCount[${ItemToBuy}]}>=${amount}
/echo ${FindItemCount[${ItemToBuy}]} ${ItemToBuy} in inventory
/varset QTY ${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]}
/delay 3
/if (${QTY}<=0) /return
/goto :Loop
}
/if (${QTY}>0 && ${QTY}<20) {
/for i 1 to ${QTY}
/notify merchantwnd MW_buy_Button leftmouseup
/echo Buying ${ItemToBuy} ${i} of ${QTY}
/varcalc QTY ${amount}-${FindItemCount[${ItemToBuy}]}
/echo ${QTY}
/if (${QTY}<=0) /return
/next i
}
}
/return
Sub SelRecipe(findRecipe)
/declare sel2 int local
/varset sel2 ${Window[TradeskillWnd].Child[Combw_Recipelist].List[${findRecipe}]}
/if (!${sel2}) {
/echo uhoh
} else {
/notify TradeskillWnd Combw_Recipelist listselect ${sel2}
}
/return