Inventory.mac CSV Listing
Posted: Thu Jun 24, 2004 11:49 pm
Well, this is my first post.. hope I'm not completely waisting my time cause there's already one out there (I didn't find any) but this is an update to inventory.mac to use MQ2Data, in addition, it's been modified to create a CSV file (rename the .log file to .csv)
Anyway, one small problem with this macro is that two of the slots come up NULL, "hands" and "legs".. Anyone know why? Is it a bug or a typo or what?
Hope someone finds this useful! :)
Anyway, one small problem with this macro is that two of the slots come up NULL, "hands" and "legs".. Anyone know why? Is it a bug or a typo or what?
Hope someone finds this useful! :)
Code: Select all
| -- Inventory.mac --
|
#turbo
Sub Main
/declare index int local
/echo Taking ${Me.Name}'s Inventory...
/mqlog clear
/mqlog
/mqlog
/mqlog , Location, Location Slot, Conatiner, Container Slot, Quantity, Name
/mqlog , Charm, 1, None, None, ${InvSlot[charm].Item.Stack}, ${InvSlot[charm].Item.Name}
/mqlog , Left Ear, 1, None, None, ${InvSlot[leftear].Item.Stack}, ${InvSlot[leftear].Item.Name}
/mqlog , Head, 1, None, None, ${InvSlot[head].Item.Stack}, ${InvSlot[head].Item.Name}
/mqlog , Face, 1, None, None, ${InvSlot[face].Item.Stack}, ${InvSlot[face].Item.Name}
/mqlog , Right Ear, 1, None, None, ${InvSlot[rightear].Item.Stack}, ${InvSlot[rightear].Item.Name}
/mqlog , Neck, 1, None, None, ${InvSlot[neck].Item.Stack}, ${InvSlot[neck].Item.Name}
/mqlog , Shoulders, 1, None, None, ${InvSlot[shoulder].Item.Stack}, ${InvSlot[shoulder].Item.Name}
/mqlog , Arms, 1, None, None, ${InvSlot[arms].Item.Stack}, ${InvSlot[arms].Item.Name}
/mqlog , Back, 1, None, None, ${InvSlot[back].Item.Stack}, ${InvSlot[back].Item.Name}
/mqlog , Left Wrist, 1, None, None, ${InvSlot[leftwrist].Item.Stack}, ${InvSlot[leftwrist].Item.Name}
/mqlog , Right Wrist, 1, None, None, ${InvSlot[rightwrist].Item.Stack}, ${InvSlot[rightwrist].Item.Name}
/mqlog , Ranged, 1, None, None, ${InvSlot[ranged].Item.Stack}, ${InvSlot[ranged].Item.Name}
/mqlog , Hands, 1, None, None, ${InvSlot[hand].Item.Stack}, ${InvSlot[hand].Item.Name}
/mqlog , Primary, 1, None, None, ${InvSlot[mainhand].Item.Stack}, ${InvSlot[mainhand].Item.Name}
/mqlog , Secondary, 1, None, None, ${InvSlot[offhand].Item.Stack}, ${InvSlot[offhand].Item.Name}
/mqlog , Left Finger, 1, None, None, ${InvSlot[leftfinger].Item.Stack}, ${InvSlot[leftfinger].Item.Name}
/mqlog , Right Finger, 1, None, None, ${InvSlot[rightfinger].Item.Stack}, ${InvSlot[rightfinger].Item.Name}
/mqlog , Chest, 1, None, None, ${InvSlot[chest].Item.Stack}, ${InvSlot[chest].Item.Name}
/mqlog , Legs, 1, None, None, ${InvSlot[leg].Item.Stack}, ${InvSlot[leg].Item.Name}
/mqlog , Feet, 1, None, None, ${InvSlot[feet].Item.Stack}, ${InvSlot[feet].Item.Name}
/mqlog , Waist, 1, None, None, ${InvSlot[waist].Item.Stack}, ${InvSlot[waist].Item.Name}
/mqlog , Ammo, 1, None, None, ${InvSlot[ammo].Item.Stack}, ${InvSlot[ammo].Item.Name}
/mqlog , Inventory Platinum, 1, None, None, ${Me.Platinum}, Platinum
/mqlog , Inventory Gold, 1, None, None, ${Me.Gold}, Gold
/mqlog , Inventory Silver, 1, None, None, ${Me.Silver}, Silver
/mqlog , Inventory Copper, 1, None, None, ${Me.Copper}, Copper
/mqlog , Bank Platinum, 1, None, None, ${Me.PlatinumBank}, Platinum
/mqlog , Bank Gold, 1, None, None, ${Me.GoldBank}, Gold
/mqlog , Bank Silver, 1, None, None, ${Me.SilverBank}, Silver
/mqlog , Bank Copper, 1, None, None, ${Me.CopperBank}, Copper
/mqlog , Shared Platinum, 1, None, None, ${Me.PlatinumShared}, Platinum
/for index 1 to 8
/if (${InvSlot[pack${index}].Item.Container} > 0) {
/call MainPack ${index}
} else {
/mqlog , Inventory, ${index}, None, None, ${InvSlot[pack${index}].Item.Stack}, ${InvSlot[pack${index}].Item.Name}
}
/next index
/for index 1 to 16
/if (${InvSlot[bank${index}].Item.Container} > 0) {
/call MainBank ${index}
} else {
/mqlog , Bank, ${index}, None, None, ${InvSlot[bank${index}].Item.Stack}, ${InvSlot[bank${index}].Item.Name}
}
/next index
/for index 1 to 2
/if (${InvSlot[sharedbank${index}].Item.Container} > 0) {
/call MainShared ${index}
} else {
/mqlog , Shared Bank, ${index}, None, None, ${InvSlot[sharedbank${index}].Item.Stack}, ${InvSlot[sharedbank${index}].Item.Name}
}
/next index
/echo Done...
/return
Sub MainPack(int PackSlot)
/declare index int local
/declare max int local
/declare usedslots int local
/declare freeslots int local
/echo ${PackSlot}
/varset max ${InvSlot[pack${PackSlot}].Item.Container}
/varset usedslots ${InvSlot[pack${PackSlot}].Item.Items}
/varset freeslots ${Math.Calc[${max}-${usedslots}]}
/for index 1 to ${max}
/if (!${String[${InvSlot[pack${PackSlot}].Item.Item[${index}]}].Equal[NULL]}) {
/mqlog , Inventory, ${PackSlot}, ${InvSlot[pack${PackSlot}].Item.Type}, ${index}, ${InvSlot[pack${PackSlot}].Item.Item[${index}].Stack}, ${InvSlot[pack${PackSlot}].Item.Item[${index}].Name}
}
/next index
/return
Sub MainBank(int PackSlot)
/declare index int local
/declare max int local
/declare usedslots int local
/declare freeslots int local
/echo ${PackSlot}
/varset max ${InvSlot[bank${PackSlot}].Item.Container}
/varset usedslots ${InvSlot[bank${PackSlot}].Item.Items}
/varset freeslots ${Math.Calc[${max}-${usedslots}]}
/for index 1 to ${max}
/if (!${String[${InvSlot[bank${PackSlot}].Item.Item[${index}]}].Equal[NULL]}) {
/mqlog , Bank, ${PackSlot}, ${InvSlot[bank${PackSlot}].Item.Type}, ${index}, ${InvSlot[bank${PackSlot}].Item.Item[${index}].Stack}, ${InvSlot[bank${PackSlot}].Item.Item[${index}].Name}
}
/next index
/return
Sub MainShared(int PackSlot)
/declare index int local
/declare max int local
/declare usedslots int local
/declare freeslots int local
/echo ${PackSlot}
/varset max ${InvSlot[sharedbank${PackSlot}].Item.Container}
/varset usedslots ${InvSlot[sharedbank${PackSlot}].Item.Items}
/varset freeslots ${Math.Calc[${max}-${usedslots}]}
/for index 1 to ${max}
/if (!${String[${InvSlot[sharedbank${PackSlot}].Item.Item[${index}]}].Equal[NULL]}) {
/mqlog , Shared Bank, ${PackSlot}, ${InvSlot[sharedbank${PackSlot}].Item.Type}, ${index}, ${InvSlot[sharedbank${PackSlot}].Item.Item[${index}].Stack}, ${InvSlot[sharedbank${PackSlot}].Item.Item[${index}].Name}
}
/next index
/return