An easier way ? Or am I missing some basics ?
Posted: Fri Jun 01, 2018 2:04 am
I was trying to write a couple downshit for mq2melee today and finally got it figured out after hours and hours of hacking at it . The goal of this one was pretty simple if the main tank was missing Divine Imposition (DI) or Shining Fortress cast it on him. The problem I had is (1) you seem to have to target the group member to see if the spell is on him. (2) if there is no main tank marked i just got spammed with errors. (3) very hard time getting the target information (spell/true/false) in the time I targeted to the time the downshit finished (4) never did figure out how to get the time left on the spell or in the case of Shining fortress, how many counters where still on it.(5) the default If command format for downshit in the examples just wouldn't work right with /multiline and nested logic so ended up using the /docommand/if.true.false ( by far the longest time wasted figuring that out ) So I ended up with this nested mess. Admittedly it isn't all that bad but it really needs 2 or 3 more levels to get to where I want it.
downshit4=/docommand ${If[${DivineFlag}==0 && ${String[${Group.MainTank}].NotEqual[NULL]} && !${Me.Invis} && !${Me.Moving} && ${Cast.Ready[Divine Imposition Rk. II]},/docommand ${If[${String[${Target}].Equal[${Group.MainTank}]},${If[${Bool[${Target.Buff[Divine Imposition].ID}]},/varset DivineFlag 1000,/casting "Divine Imposition Rk. II"]},/tar ${Group.MainTank}]} , ]}
I just seems to me there should be an easier way to see if a PC or MOB has a spell on them and if so how much time is left on it and in the case of counters how many are left. I wont even ask if there is an easier way to keep the actual command line from running over itself ..this isn't a macro I know, so I expect having to trap conditions (hence the if.true.false nest). I think I saw an update recently that ...maybe added some of this to TLO's but if so it hasn't made it to the wikis or the readme.chm yet.
So the main question here is is there an easier way to get spell info from a PC or MOB preferably without having to waste a couple of seconds targeting. Is there maybe somewhere that explains a little better how MQ2 works? I am struggling trying to figure out objects from the docs and online. I usually am hitting the readme and online a dozen times just to figure out a snippet of a command. So I do feel like I am missing some basic assumptions on how the program works.
downshit4=/docommand ${If[${DivineFlag}==0 && ${String[${Group.MainTank}].NotEqual[NULL]} && !${Me.Invis} && !${Me.Moving} && ${Cast.Ready[Divine Imposition Rk. II]},/docommand ${If[${String[${Target}].Equal[${Group.MainTank}]},${If[${Bool[${Target.Buff[Divine Imposition].ID}]},/varset DivineFlag 1000,/casting "Divine Imposition Rk. II"]},/tar ${Group.MainTank}]} , ]}
I just seems to me there should be an easier way to see if a PC or MOB has a spell on them and if so how much time is left on it and in the case of counters how many are left. I wont even ask if there is an easier way to keep the actual command line from running over itself ..this isn't a macro I know, so I expect having to trap conditions (hence the if.true.false nest). I think I saw an update recently that ...maybe added some of this to TLO's but if so it hasn't made it to the wikis or the readme.chm yet.
So the main question here is is there an easier way to get spell info from a PC or MOB preferably without having to waste a couple of seconds targeting. Is there maybe somewhere that explains a little better how MQ2 works? I am struggling trying to figure out objects from the docs and online. I usually am hitting the readme and online a dozen times just to figure out a snippet of a command. So I do feel like I am missing some basic assumptions on how the program works.