Looking for some help on this Cleric macro
I've decided to try my hand at writing a macro for my Cleric, I play on THF if that makes a difference.
I have looked over the wikis, and studied a number of existing macros, but I've found I still don't really understand how they work.
Here is my existing macro:
Macro
When I initialize the macro, I get: "There are no spawns matching: (0-300) any null"
I'm not totally sure what I'm doing wrong, any chance I could get some direction please :)
Last edited by mortenya on Sat Feb 08, 2014 11:09 pm; edited 1 time in total
Sat Feb 08, 2014 1:29 pm
Need to use "outer" if you want Tank to be a valid variable the way you are using it.
Macro
Sat Feb 08, 2014 3:45 pm
That did seem to change it, but it still doesn't seem to like my syntax for targeting my tank. Now the error is just: "There are no spawns matching: (0-300) any"
If I only intend the cleric to watch my tank for single target heals, what would be the correct way to declare that? I know I can use the chat input, but I wanted to not have to be sure and have the cleric target me every encounter.
If I only intend the cleric to watch my tank for single target heals, what would be the correct way to declare that? I know I can use the chat input, but I wanted to not have to be sure and have the cleric target me every encounter.
Sat Feb 08, 2014 5:31 pm
Might be better to target by ID?
This does work nicely for me .. (looked at my healer macro)
This does work nicely for me .. (looked at my healer macro)
Macro
Sat Feb 08, 2014 8:07 pm
Somewhere in your main loop, put:
/echo Tank=${tank}
/echo TankID=${Spawn[=${tank}].ID}
and post the results.
General Good Things To Do:
If you know the ID and you want to target, then use the ID.
If you can look in NetBots without targeting, look in NetBots. Look at your tank's HP via NetBots so you don't have to keep targeting your tank.
If you know the ID and want to cast a spell on that target, use the ID in your casting command. You'll have to use either a MQ2Cast command or use MQ2Cast_spell_routines.inc.
/echo Tank=${tank}
/echo TankID=${Spawn[=${tank}].ID}
and post the results.
General Good Things To Do:
If you know the ID and you want to target, then use the ID.
If you can look in NetBots without targeting, look in NetBots. Look at your tank's HP via NetBots so you don't have to keep targeting your tank.
If you know the ID and want to cast a spell on that target, use the ID in your casting command. You'll have to use either a MQ2Cast command or use MQ2Cast_spell_routines.inc.
Sat Feb 08, 2014 9:49 pm
Senior Project Member
natedog, it's working now, my ${Spawn} line was wrong.
grumble, the echos are returning the correct information, so that portion is worked out.
I'll need to figure out how to use NetBots to track health now then.
grumble, the echos are returning the correct information, so that portion is worked out.
I'll need to figure out how to use NetBots to track health now then.
Sat Feb 08, 2014 11:08 pm
Ok, I think this is somewhat functional at this point, having trouble with one section.
My intention is that this will keep divine intervention on my team, when I run the macro, it will select the first team member, and cast the buff on them, but it doesn't step through the rest of the team, and it will continually cast the buff on the first target, so my !${VerifySpell.Find[ ${vie} ]} flag doesn't seem to be working right. I pulled that bit directly from a shaman macro in the Public Macros section.
It does successfully grab a target though, so my issues seems to just be getting it to step through the sub, and properly checking for an existing buff.
Macro
My intention is that this will keep divine intervention on my team, when I run the macro, it will select the first team member, and cast the buff on them, but it doesn't step through the rest of the team, and it will continually cast the buff on the first target, so my !${VerifySpell.Find[ ${vie} ]} flag doesn't seem to be working right. I pulled that bit directly from a shaman macro in the Public Macros section.
It does successfully grab a target though, so my issues seems to just be getting it to step through the sub, and properly checking for an existing buff.
Sun Feb 09, 2014 11:46 pm
Ok, after reading through Sorvani's post history, I have that divine intervention sub working.
I'll test this out in actual combat later this week and if it works well, I'll post it to the public macro board so everyone can enjoy it.
do any of you know of an example snippet for memming a set of spells? I have some ideas but haven't been able to test yet.
I'll test this out in actual combat later this week and if it works well, I'll post it to the public macro board so everyone can enjoy it.
do any of you know of an example snippet for memming a set of spells? I have some ideas but haven't been able to test yet.
Tue Feb 11, 2014 12:49 pm
Use spell sets. Either the built in EQ ones or MQ2Cast
_________________
Sorvani
_________________
Sorvani
Tue Feb 11, 2014 5:43 pm
Senior Project Member
I had looked at MQ2Cast spell sets, and I have a spell set saved to the client, I was trying to find a more dynamic solution, where I can just change what spells I use in my macro, and use that to check spells memmed vs what spells the macro uses.
Thanks a lot for the help, you guys are great.
Thanks a lot for the help, you guys are great.
Tue Feb 11, 2014 10:47 pm
You want to dynamically change what spells the macro uses?
Super Simple Example:
You have a shaman. Low level. You want to cast slow, a single target heal, a nuke and a dot. As you gain levels and new spells, you want to use the upgraded spell?
Super Simple Example:
You have a shaman. Low level. You want to cast slow, a single target heal, a nuke and a dot. As you gain levels and new spells, you want to use the upgraded spell?
Tue Feb 11, 2014 11:03 pm
Senior Project Member
grumble, that is exactly what I was going for.
I know that I can use something like this:
I might need to just create an array of variables to handle it. Such as:
That might do what I'm after, I'll work on it later, gotta study for a C++ midterm.
I know that I can use something like this:
Macro
I might need to just create an array of variables to handle it. Such as:
Macro
That might do what I'm after, I'll work on it later, gotta study for a C++ midterm.
Tue Feb 11, 2014 11:17 pm
How fast do you level on THF? How often do you update to a new spell? Unless you will be using this macro for many many low level clerics, it probably won't be worth the time to make it dynamic.
Quick and dirty attempt... with some hard coding.
Instead of:
Use:
The macro will look through the spells in the order you specify. Start with the lowest level spells and work your way up. The last spell found in your spellbook is the best spell of that line of spells. That spell will be used for the rest of the macro.
Quick and dirty attempt... with some hard coding.
Instead of:
Macro
Use:
Macro
The macro will look through the spells in the order you specify. Start with the lowest level spells and work your way up. The last spell found in your spellbook is the best spell of that line of spells. That spell will be used for the rest of the macro.
Wed Feb 12, 2014 12:50 am
Senior Project Member
I see what you're saying.
I was looking at the shambot macro, and thinking of trying to implement something like that, but I don't think it would really be worth it since I already have the spellset saved.
I was looking at the shambot macro, and thinking of trying to implement something like that, but I don't think it would really be worth it since I already have the spellset saved.
Wed Feb 12, 2014 12:57 am
Well, I thought this portion was functional, but further testing shows that it isn't.
${NetBots[${NBToon${x}}].Buff.Find[${spellID}]} returns NULL
What is the proper method to search a NetBots client for a specific buff?
I also tried dropping it into a variable, /varset findBuff " ${NetBots[${NBToon${x}}].Buff} " but this returns NULL as well, I might be giving the variable the wrong type, as it's an array of int, but the example I saw declared it as string.
Macro
${NetBots[${NBToon${x}}].Buff.Find[${spellID}]} returns NULL
What is the proper method to search a NetBots client for a specific buff?
I also tried dropping it into a variable, /varset findBuff " ${NetBots[${NBToon${x}}].Buff} " but this returns NULL as well, I might be giving the variable the wrong type, as it's an array of int, but the example I saw declared it as string.
Wed Feb 12, 2014 2:18 am