≡

Please disable your ad blocker to support our website.

M

MySpells.mac - Write all your spells to an ini file

MQ2 Resource

Download
AuthorMaskoi
First releaseAug 7, 2011
Last updateJul 29, 2018

Here is another stupid macro I wrote a awhile ago. It will write all the spells in your spell book to an ini file ToonNameSpells.ini by level. You can view or print it out to check if you are missing any spells. See sample below.

Sample of the ini file i.e RangerbobSpells.ini

[Spell Level 1]
|=======================================================================|
|     Spell ID 5011=Salve - Alteration - Single - Page 2
|=======================================================================|
[Spell Level 2]
|=======================================================================|
|     Spell ID 51=Glimpse - Divination - Self - Page 1
|=======================================================================|
[Spell Level 3]
|=======================================================================|
|     Spell ID 239=Flame Lick - Evocation - Single - Page 2
|=======================================================================|
| MySpells.mac by Emperor 06/09/09
| Dumb little macro that will write every spell or song in your spell book by level
| to an ini file named ToonsnameSpells.ini. Useful to see & print out what spells you have.

#turbo 40

Sub Main

/call create_spell_sections
/call write_spells
/call footer_spell_sections
/return

sub create_spell_sections
/echo "Creating ini file ${Me.Name}Spells.ini"
/declare j int local 1
/for j 1 to 85
/ini ${Me.Name}Spells.ini "Spell Level ${j}" "|===================================" "===================================|"
/next j
/return

sub footer_spell_sections
/declare k int local 1
/for k 1 to 90
/if (${Ini[${Me.Name}Spells.ini,Spell Level ${k},0]}==0) /ini ${Me.Name}Spells.ini "Spell Level ${k}" "|===================================" "===================================|"
/next k
/return

sub write_spells
/declare spell_book_slots string outer 480
/declare PageNum int outer
/declare i int local 1
/for i 1 to ${spell_book_slots}
/if (${Me.Book[${i}].Name.NotEqual[NULL]}) {
/varcalc PageNum (${i}/8)+.9
/echo Slot #${i} ${Me.Book[${i}]} Page ${PageNum}
/ini "${Me.Name}Spells.ini" "Spell Level ${Me.Book[${i}].Level}" "|     Spell ID ${Me.Book[${i}].ID}" "${Me.Book[${i}].Name} - ${Me.Book[${i}].Skill} - ${Me.Book[${i}].TargetType} - Page ${PageNum}"
} else {
/goto :Skip
}
:Skip
/next i
/return