Macro tested and working good. As a mage/scout I use just Shot, so in one game macro is:
/script local duraValue, duraMax, itemName, duraV, duraM = GetInventoryItemDurable("player", 18 ); if duraValue == 100 and itemName == "Pet Experience Charm" then UseEquipmentItem( 18 ); end; if not itemName then UseItemByName("Pet Experience Charm"); end
/script CastSpellByName("Shot")
and Shot can be replaced with which ever skill is used for the class being played.