Item parser mac/snippet for new TLO members

PeteSampras

Your UI is fucking you. Stop using it.
Joined
Dec 12, 2007
Messages
3,956
Reaction score
49
Points
38
i wrote a mac to test the new members, figured id share it in case someone needed the info.

This creates a full INI called Gear_CharName.ini
/mac itemparse

This echoes only the stats for item in invslot 13:
/mac itemparse 13

New members I was testing:
.Procs
.Worn
.Focus

Code:
#define GearIni Gear_${Me.Name}_${Me.Class}.ini
Sub Main(int one)
/if (${one}) {
    /call ItemInfo ${one}
    /return
    }
/declare slot int local
/declare i int local
/echo ${Macro.Name} started. Please wait.
/for slot 0 to 22
/if (${InvSlot[${slot}].Item.ID}) /ini "GearIni" "Item" "${InvSlot[${slot}].Name}" "${InvSlot[${slot}].Item.Name}"
/if (${InvSlot[${slot}].Item.Spell.ID} && ${InvSlot[${slot}].Item.Spell.Name.NotEqual[${InvSlot[${slot}].Item.Focus}]}) /ini "GearIni" "Clicky" "${InvSlot[${slot}].Name}" "${InvSlot[${slot}].Item.Spell}"
/if (${InvSlot[${slot}].Item.Procs.Name.Length}) /ini "GearIni" "Procs" "${InvSlot[${slot}].Name}" "${InvSlot[${slot}].Item.Procs}"
/if (${InvSlot[${slot}].Item.Worn.Name.Length}) /ini "GearIni" "Worn" "${InvSlot[${slot}].Name}" "${InvSlot[${slot}].Item.Worn}"
/if (${InvSlot[${slot}].Item.Focus.Name.Length}) /ini "GearIni" "Focus" "${InvSlot[${slot}].Name}" "${InvSlot[${slot}].Item.Focus}
/for i 1 to 5
/if (${InvSlot[${slot}].Item.Item[${i}].ID}) /ini "GearIni" "Item" "${InvSlot[${slot}].Name}_Aug${i}" "${InvSlot[${slot}].Item.Item[${i}]}"
/if (${InvSlot[${slot}].Item.Item[${i}].Procs.Name.Length}) /ini "GearIni" "Procs" "${InvSlot[${slot}].Name}_Aug${i}" "Proc: ${InvSlot[${slot}].Item.Item[${i}].Procs}"
/if (${InvSlot[${slot}].Item.Item[${i}].Focus.Name.Length}) /ini "GearIni" "Focus" "${InvSlot[${slot}].Name}_Aug${i}" "Focus: ${InvSlot[${slot}].Item.Item[${i}].Focus}"
/if (${InvSlot[${slot}].Item.Item[${i}].Worn.Name.Length}) /ini "GearIni" "Worn" "${InvSlot[${slot}].Name}_Aug${i}" "Worn: ${InvSlot[${slot}].Item.Item[${i}].Worn}"
/next i
/next slot
/return

Sub ItemInfo(int slot)
/declare i int local
/echo [${InvSlot[${slot}].Name}]
/if (${InvSlot[${slot}].Item.ID}) /echo Name: ${InvSlot[${slot}].Item.Name}
/if (${InvSlot[${slot}].Item.Spell.ID} && ${InvSlot[${slot}].Item.Spell.Name.NotEqual[${InvSlot[${slot}].Item.Focus}]}) /echo Clicky: ${InvSlot[${slot}].Item.Spell}
/if (${InvSlot[${slot}].Item.Procs.Name.Length}) /echo Proc: ${InvSlot[${slot}].Item.Procs}
/if (${InvSlot[${slot}].Item.Worn.Name.Length}) /echo Worn: ${InvSlot[${slot}].Item.Worn}
/if (${InvSlot[${slot}].Item.Focus.Name.Length}) /echo Focus: ${InvSlot[${slot}].Item.Focus}
/for i 1 to 5
/if (${InvSlot[${slot}].Item.Item[${i}].ID}) /echo Aug${i}: ${InvSlot[${slot}].Item.Item[${i}]}
/if (${InvSlot[${slot}].Item.Item[${i}].Procs.Name.Length}) /echo Aug${i} Proc: ${InvSlot[${slot}].Item.Item[${i}].Procs}
/if (${InvSlot[${slot}].Item.Item[${i}].Focus.Name.Length}) /echo Aug${i} Focus: ${InvSlot[${slot}].Item.Item[${i}].Focus}
/if (${InvSlot[${slot}].Item.Item[${i}].Worn.Name.Length}) /echo Aug${i} Worn: ${InvSlot[${slot}].Item.Item[${i}].Worn}
/next i
/return
 

Attachments

  • ItemParse.mac
    2.7 KB · Views: 3
Thanks for the macro, I finally got a chance to try it out. It's nice for me since I used to keep track of stuff like that by hand.

I did notice something strange I thought I'd mention. The mainhand proc (combat) shows up as both a clicky and a proc.

Code:
[Item]
mainhand=Dagger of Spectral Disruption
mainhand_Aug1=Covetous Shard of Crystallized Light
[Clicky]
mainhand=[B]Surge of Corruption VIII[/B]
[Focus]
mainhand=Sympathetic Alleviating Burst VI
[Procs]
mainhand=Surge of Corruption VIII
 
Last edited:
Ya, the clicky can be the same as the Procs or Focus sometimes. I could change the macro so that doesnt happen but I wasnt worried about it, was just testing the TLO members.