Buff Macro troubles.

Third party software discussion goes here.
ogreranger
Posts: 6

Re: Buff Macro troubles.

Post#11 » Fri Dec 25, 2015 11:59 pm

Just a few questions if I may.. I have been using the suggestions from Alulien in this post that utilized the netbots and the buff.find and so far it works great keeping up the buffs. So thank you a ton for that gem of knowledge :D but whn I have buffs that are better than the ones I would normally use my toon keeps casting in a loop because it wont stick. I have searched around and come up with ${Spell[xxxxx].Stacks} but unsure if this is the correct command and if it requires the spell ID or the name..

/if ( !${VerifyMali.Find[SPELLID]} && ${Spawn[pc Malistari].Distance} <= MAXRANGEOFBUFF && !${Spawn[pc Malistari].Distance} == NULL && !${NetBots[Malistari].CurrentHPs} == 0 ) /casting "BUFF" gemX -maxtries|2 -targetid|${Spawn[pc Malistari].ID}


I have not tested the above as of yet because since my upgrade to the UF client my macros are not working quite right. Which brings me to my next question..
I use a macro for my cleric that uses /tell commands to cast certain spells that I send from my main it worked just dandy until my upgrade to UF. I am unsure if it is my lack of understanding of the chat channels(I played EQ from before Kunark until PoP) or there is some toggle or .ini something I need to change. Or perhaps it has something to do with the universal chat channel being sketchy lately. Honestly I'm leaning towards that I've done something at some point but I digress. Here is a lil bit of info on what I use for the /tell

#include spell_routines.inc

#Chat Chat
#Chat tell

/declare mychannel string outer group

/join ${mychannel}

Sub Event_Chat(string ChatType,string Sender,string ChatText)
/if ((!${ChatType.Equal[${mychannel}]})&&(!${ChatType.Equal[TELL]})) /return
/if (!${Spawn[${Sender}].ID}) {
/e ${Sender} is not in the zone
/return
}
/if (${ChatText.Equal[dot]}) {
/if (${Me.PctMana}<30) {
/chat #${mychannel} My Mana ${Me.PctMana}%, holding on Dots!

} else {
/assist ${Sender}
/delay 5
/if (${Target.Type.NotEqual[NPC]}) {
/assist ${Sender}
/delay 5 ${Target.Type.Equal[NPC]}
}
/if (${Target.Type.Equal[NPC]}) {
/if (${Me.SpellReady[${dotone}]}) {
/if (${announce}==1) /g Casting ${dotone} on %T
/call Cast "${dotone}" spell 3s
} else /if (${Me.SpellReady[${dottwo}]}) {
/if (${announce}==1) /g Casting ${dottwo} on %T
/call Cast "${dottwo}" spell 3s
} else /chat #${mychannel} dots not ready
/if (${Me.PctMana}<=60) /g FYI Cleric Mana ${Me.PctMana}%
} else /g wrong target (${Target.Type} at ${Target.PctHPs}% HP)
}
}
LIke I said before it was working fine until I switched clients now it just tells me Rottenbeast not in the zone i can provide more info and or the whole macro if needed and honestly i just really want to have more knowledge in the whole macro world. The whole almost but not really understanding this language is causing me great frustration and i WILL learn this if it makes my brain ooze out me ears.. So thanks in advance. Any help or pointers or advice is greatly appreciated.
I am Hapu <Sanctuary>

Dreos
Posts: 489

Re: Buff Macro troubles.

Post#12 » Sat Dec 26, 2015 1:02 am

ogreranger wrote:

Code: Select all

/if ((!${ChatType.Equal[${mychannel}]})&&(!${ChatType.Equal[TELL]})) /return



Not sure about the stacking thing, would have to play with a bit. Curious about this line of code in your tell macro though. Not totally familiar with using the #chat stuff but it seems like you're checking both if the command came from a chat channel (${mychannel}) and if it came from a tell. Wouldn't it be either or, not both? Maybe I'm just reading it wrong, though.

Dreos
Posts: 489

Re: Buff Macro troubles.

Post#13 » Sat Dec 26, 2015 1:17 am

Sorry, not letting me edit the other post for some reason. Also, what do you get echoed if you try moving a /echo ${Sender} to the top of the chat event sub? Just curious if that's being something weird.

User avatar
Nilbus
Posts: 1258

Re: Buff Macro troubles.

Post#14 » Sat Dec 26, 2015 2:53 am

Dreos wrote:
ogreranger wrote:

Code: Select all

/if ((!${ChatType.Equal[${mychannel}]})&&(!${ChatType.Equal[TELL]})) /return



Not sure about the stacking thing, would have to play with a bit. Curious about this line of code in your tell macro though. Not totally familiar with using the #chat stuff but it seems like you're checking both if the command came from a chat channel (${mychannel}) and if it came from a tell. Wouldn't it be either or, not both? Maybe I'm just reading it wrong, though.


Looks almost like a check to see if the message came in on a specified channel versus a tell so that a tell from others wouldn't trigger.


As for the stacking, only thing I've found is to have or statements if something specifically doesn't stack. I had a downshift that checked for the buff I wanted to buff as well as an overriding one from another class.
Nodyin-Nilbus-Pockit-Tiah-Rakas- Funeral
Likeatruck-Khaltos-Nilbie-Ziknaf-Prathun-Missus
Elidor
Youme-Yumme-Blazingtide-Sublin-Lissanda-Darmok
Djarik-Ikat-Nerys-Ometi-Tarana-Biln

I know way too much random stuff.

Dreos
Posts: 489

Re: Buff Macro troubles.

Post#15 » Sat Dec 26, 2015 3:22 am

Woops, yeah, read it wrong. Thanks Nilb. Are you using the mqemulator uf mq2 download, ogre?

Dreos
Posts: 489

Re: Buff Macro troubles.

Post#16 » Sat Dec 26, 2015 4:03 am

Have yet to discover why this happens, but I found the fix for it. Before you use the Sender variable, re-declare it to this:

Code: Select all

/varset Sender ${Sender.Right[-2].Left[-1]}

Found that snippet while looking through some other forums, found it in this macro: http://eqtitan.com/forums/viewtopic.php?f=53&t=1678

Looks like ${Sender} returns a string longer than just the name, for whatever reason. When testing on some of my characters doing /echo ${Sender.Length} before doing the varset returned 10 when the character's name is only 7 characters long. Looks like it adds in 3 extra each time, 2 before and 1 after, for some reason. Hopefully that fixes it for you, though!

ogreranger
Posts: 6

Re: Buff Macro troubles.

Post#17 » Sat Dec 26, 2015 3:13 pm

That fixed it Dreos :D Thank you very much! I would have been forever figuring that out. I guess using /echo when trouble arises is the key, I know you stated you are unsure why it happens with the UF MQ, but can you perhaps explain "string" a bit better or point me towards something that explains the terminology..I am getting the macros I am making/adapting to function but I am missing a lot of WHY & what does this mean in this whole adventure land called macros. Thank you again for all responses,now to figure out the buff stacking! onward!
I am Hapu <Sanctuary>

Dreos
Posts: 489

Re: Buff Macro troubles.

Post#18 » Sun Dec 27, 2015 2:28 am

Sure! A string is just a sequence of characters, (e.g., "Dreos" etc). It can be used to store things like spell names, char names, etc. When you type /declare mychat string outer group in your macro you're saying that the mychat variable is going to be a string of characters and that those characters are going to be "group".

According to: http://www.macroquest2.com/phpBB3/viewt ... nt#p165971
the reason that we get those extra characters is due to how EQ marks chat for potential spam, or something along those lines. It looks like around Jan 2014 they implemented a fix in MQ2, so that it didn't have to be fixed in macros. Not sure why it was working for you before, maybe some fixes went into the Titanium mqemulator MQ2 that didn't get into underfoot yet. Judging from the dates, though, ROF2 MQ2 should have the fix in it.

Return to “Third party software”

Who is online

Users browsing this forum: No registered users and 1 guest

cron