• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Question - Some noobie macro questions (1 Viewer)

carson

New member
Joined
Oct 11, 2012
RedCents
Hi all,

Lots of info here, thanks to everyone for taking time to help.

I have some minor macros I use to help run my team. However, I am having some issues with knowing if the mob got slowed/malo'd.

I run my team from my tank, and so the slower casts slow, but it gets lost in the spam of knowing if it stuck or not.

I think I have 2 questions...

Question 1: Is there a way to determine if a Mob has been slowed? I have seen some code similar to this like below:

Rich (BB code):
| Checking for pet buff
		/if (${Spell[${Me.Gem[6].Name}].StacksPet} && !${Me.Pet.Buff[${Me.Gem[6].Name}]}) {
			/echo Pet needs buffing
			/casting "${Me.Gem[6].Name}" -maxtries|5
			/delay 5s
		}

Is there a similar way to check to see if a certain slow spell has been landed on the target?

Question 2 is about the MQ2Cast Results. Since my macros dont use the "event" stuff, once someone casts something, how do you check to see if it landed?

On MQ2Cast manual, it shows all the different outcomes of a cast, but no examples of how to actually use them. (abbreviated list below)
string ${Cast.Result}
Returns a string containing the result of the /casting command. It can be one of the following:
CAST_ABORTED: Casting Aborted (/interrupt)
CAST_CANCELLED: Casting was aborted
.
.
CAST_SUCCESS: The cast was a success


string ${Cast.Return}
Returns the result of the casting/memorize/interrupt request.


I am unclear how I would code this into a macro. i am guessing some kind of

Rich (BB code):
/casting "SlowSpell"
:KEEPWAITING
/delay 3
/if (${Me.Casting} /goto :KEEPWAITING

| Guess I am done casting, so try to get result?
/if (${Cast.Result.Equal[CAST_SUCCESS]}) {
   /gsay %t is slowed
   /dance
}

I have not tried the above, just making it up (not avail right now to test :) )

Question 3, what do I replace me.casting with above? How do I know if my char is still casting?

Thanks for any help.
 
Answer 1:

${Target.Slowed} will show the name of the slow spell ${Target.Slowed.ID} will give an integer (which numbers get intepreted as true/false... 0 being false, any other number being true) so something like

Rich (BB code):
/if (!${Target.Slowed.ID} && ${Me.SpellReady[put slow spell here]}) /casting "slow spell"

That utilizes a TLO tag, provided your slow spell is on the list. If how ever you want to look for a specific buff/slow spell, you can use ${Target.Buff[name here]} or ${Target.Buff[name here].ID}

Answer 2:

Someone else may have a more accurate answer, my experience interacting with MQ2Cast is though using the MQ2Cast_Spell_Routines.inc file. But it ought to work similarly, as such:

Rich (BB code):
${Cast.Result.Equal[CAST_SUCCESS]} || ${Cast.Result.Equal[CAST_TAKEHOLD]} || ${Cast.Result.Equal[CAST_NOTHOLD]}

ought to do the trick. Or of course the reverse IE "${Cast.Result.NotEqual[CAST_SUCCESS]}"

Answer 3:

Put the ${Me.Casting}, with the reverse tag ( ! ) as part of the delay.

/delay #[s|m] [condition]
Description

Fully pauses the macro for the amount of time specified, or until condition is met.

Time can be specified in 10ths of a second (a number by itself) or in seconds (number followed by an "s") or minutes (number followed by "m").

In other words, once the condition after the delay amount is met, it will end the delay. You will want it to be a true/false statement, so either something that equates to true/false, or an integer. Like the ID number of the spell you are casting.

Rich (BB code):
/delay 30s !${Me.Casting.ID}

What this says is "delay 30 second, or until I am not casting"
 
Thanks for response, I am getting a No such 'spawn' member 'Slowed'

/say ${Target.Slowed.ID}

Starting to feel like i have a really old version of MQ2 going, its the same copy I had awhile back...

Looked and EXE is 1/17/2012 sigh..

I have alot of things working, and not really sure I want to try a new compile at this point... I am on Titanium version of EQ on a EMU server...

Maybe I can try the /doevents inside my current macro.... Never really done that before, but then i could wait for the slow event and determine if mob was slowed...
 
if you want to test MQ stuff, you need to use "/echo"

example "/echo ${Target.Slowed}"

btw, you will want to target something that is slowed to see the results, else it ought to return NULL
----------------------------------------

Ah , you are on an older compile, That makes a difference, the .Slowed tag is relatively new.

You should still be able to use "!${Target.Buff[name of slow spell]}" as a check to see if it is on the mob
 
Seems I dont have access to quite a bit :)

I decided to bite the bullet and rewrite all my toons their own /doevents scripts, listening to /bc

It was a bit time consuming, but it feels alot better. :)

I wanted to thank you for your help, I do appreciate it.
 
Question - Some noobie macro questions

Users who are viewing this thread

Back
Top