Testing Potential Update 2024-01-18
- Added in some Backward Compatibility so old INI's with ^ separators still work as intended.
- Changed INI layout for Swapping and made it consistent with other INI's for MQ using | separators and cond1 etc. variables for conditions.
- Now checks for cond# statements and looks those up for conditions, this allowed the use of | separators without an or statement breaking it.
- Item swapping can now be done one of 2 ways.
- 1: With the in game bandolier command, this requires you to save your hotkeys in game and define the hotkey name in the config.
- toggle Bandolier use (on/1) or (off/0) with /medley bandolier will toggle between bandolier mode and exchange mode.
- bandolier entries are defined per song. so song1 would pair with bandolier1 in your config. if no bandolier is set we do not swap.
- 2: With the MQ2Exchange plugin loaded.
- you define swap sets like conditions swap1=itemname|slotname|itemname|slotname
- you can also define sets with itemnumber|slotnumber
- this accepts multiple items and slots.
- Added variables for MainHand and OffHand that if set will be used for any instance where you do not define a swapSet in the song string.
- Item swaps check current known items against what to swap and ignores anything that we should already have equipped.
- Song strings using the new layout look like this.
- song1=SongName|Duration|SwapSet|Condition
- swap set and condition are optional and will default to noswap and 1 respectively.
- all of the below will be valid entries.
- song1=SongName|Duration|SwapSet|Condition
- song1=SongName|Duration|SwapSet #Sets the default condition to 1
- song1=SongName|Duration|Condition #Sets default SwapSet to MainHand OffHand items if defined, else just plays the song
- song1=SongName|Duration #Same as above but also defaults the condition to 1
[CODE title="[MQ2Medley] section"][MQ2Medley]
Delay=5
Quiet=0
Debug=0
Medley=test
Playing=1
# MainHand and OffHand are used if defined for any noswap situations to make sure we have our weapons in hand.
# You can leave them blank and it will just cast with whatever you have equipped at the time.
MainHand=Singing Short Sword
OffHand=Ancient Crude Club
# Use bandolier or MQ2Exchange 1 or 0 can toggle with /medley bandolier.
Bandolier=1[/CODE]
[CODE lang="ini" title="[MQ2Medley-MedleyName] section"][MQ2Medley-kiss]
songIF=!${Me.Invis}
# You can call a song by GemNumber this is more reliable
song1=2|10|swap4|cond2
# You can also call a song by Song Name
song2=Chorus of Replenishment|16|cond3
song3=4|20|cond3
song4=3|16|swap5|cond3
song5=Amplification|30
song6=8|50|swap2|cond1
song7=9|12|swap4|cond1
song8=Purifying Chorus|12|swap2
song9=7|12|swap4|cond1
# Conditions are separated from the song string allowing | separators for easy of readability
cond1=TRUE
cond2=${Me.CombatState.Equal[COMBAT]} && ${Target.Type.Equal[NPC]}
cond3=${Me.CombatState.Equal[COMBAT]}
cond4=FALSE
# SwapSet's combinations of ItemName|SlotName or ItemNum|SlotNum can be strung together.
swap1=Singing Short Sword|mainhand|Ancient Crude Club|offhand
swap2=Singing Short Sword|mainhand|Hand Drum|offhand
swap3=Wooden Flute|offhand
swap4=Lute|offhand
swap5=Horn|offhand
# Bandolier settings are key'd to the song of same number. uses in-game bandolier hotkey names.
bandolier1=weapons
bandolier2=weapons
bandolier3=weapons
bandolier4=weapons
bandolier5=weapons
bandolier6=drum
bandolier7=Lute
bandolier8=drum
bandolier9=Lute[/CODE]
I've attached dll's for both EMU and LIVE
Any comments and concerns please feel free to message me. Maybe we can make this MQ2Medley 2.0 and pushed to regular builds =) until then...