• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
Resource icon

Release MQ2IniX

Joined
Aug 4, 2006
RedCents
631¢
Command -> /inix FileName Section Key Value

Writes Key=Value to [Section] of FileName. If Value is not provided, the Key is deleted. If Key is not provided, the Section is deleted. All ^ characters provided in the parameters are replaced with $ characters.

testinix.mac
Code:
Sub Grimoire(string find, sting lookfor)
    /declare i int local
    /for i 1 to ${lookfor.Count[|]}
         /varset ${find} ${lookfor.Arg[${i},|]}
         /if (${Me.Book[${${find}}]} && ${Me.Level} >= ${Spell[${find}].Level}) /return
    /next i
/return

Sub Main
    /declare MyINI string outer "..\${MacroQuest.Server}_${Me.CleanName}.ini"
    /declare SetSP string outer 
    /call Grimoire SetSP "|Yaulp XI Rk. II|Yaulp X|Yaulp IX|Yaulp VIII|Yaulp VII|"
    /inix ${MyINI} MQ2Melee downshit0 "/if (^{Me.Buff[${SetSP}].Duration} < 10000 && ^{Cast.Ready[${Spell[${SetSP}].ID}|gem]} && !^{Me.Mount.ID}) /casting ${Spell[${SetSP}].ID}|gem"
    /inix ${MyINI} MQ2Melee holyshit0 "/if (^{Me.Buff[${SetSP}].Duration} < 10000 && ^{Cast.Ready[${Spell[${SetSP}].ID}|gem]} && !^{Me.Mount.ID}) /casting ${Spell[${SetSP}].ID}|gem"
    /inix ${MyINI} MQ2Melee downflag0 1
    /inix ${MyINI} MQ2Melee holyflag0 1
    /melee load
/return

In that example macro, i scan spellbook for different version of yaulp spells and return first one found... then save downshit/holyshit to cast the spells if duration is less then 10 seconds and if the spells is ready to cast. I know yaulp is already supported into mq2melee ... this is just an example and a proof of the concept. all variables starting with a $ are parsed right away. Command will replace the ^ with $ enabling save data without evaluating it before... This open a door for macro to auto-configure some plugins behaviour, thanks for htw for his hard works coding this at my request a few years ago. I made a personal macro that setup all classes holyshits/downshits from command line like that... :)
 

Attachments

Why not use built in command /ini?
show me how to save that to an ini files with /ini?

Code:
/iniX ${MyINI} MQ2Melee holyshit0 "/if (^{Me.Buff[${SetSP}].Duration} < 10000 && ^{Cast.Ready[${Spell[${SetSP}].ID}|gem]} && !^{Me.Mount.ID}) /casting ${Spell[${SetSP}].ID}|gem"

you have 4 parameters, but only a few of them need to be parsed right now... using /noparse all 4 argments wont be evaluated... which is not good, my 1st parameters is a finemame that is a contained in a variable.... no parse will already mess me up even without getting to the rest of the sentenses.. unless i can use \ in all those variables but i have doubt...

[mq2melee]
holyshit0=/if (${Me.Buff[Yaulp XI Rk. II].Duration} < 10000 && ${Cast.Ready[11111|gem]} && !${Me.Mount.ID}) /casting 11111|gem

i didnt not find any easy way to save $variables to the ini without being parsed... mq2melee holyshit/downshit open a portal to hell :p
 
Stuff like this that is useful improvement to baseline functionality should be contributed back to core instead of spawning yet another plugin. Hit up eqmule about it I'm sure you two could work something out.
 
@s0rcier
I like this but is there a way to write the ^ and NOT have it be replaced with $?
MQ2Medley uses both ^ and Macroquest data, I want to write it to my server_char.ini, example entry looks like:
Code:
song8=Pulse of Xigam Rk. II^22 + (6*${Medley.Tune})^${Medley.Tune}
 
Release MQ2IniX

Users who are viewing this thread

Back
Top
Cart