Bot macro - Customization

Tried it as a self buff, below doesnt work:

SelfBuffUse3=TRUE
SelfBuffSpellName3=Elixir of Greater Concentration
SelfBuffSpellGem3=item
SelfBuffConditions3=
SelfBuffSpellIcon3=Elixir of Greater Concentration

states it is not the spell does not exist

How would i put it in a custom?

If Allaz has the item listed correctly you should have it as:

Code:
SelfBuffUse3=TRUE
SelfBuffSpellName3=Elixir of Greater Concentration
SelfBuffSpellGem3=item
SelfBuffConditions3=
SelfBuffSpellIcon3=[B]Greater Concentration[/B]

The buff it casts upon you is called Greater Concentration and not Elixir of Greater Concentration. That should fix your error. More to your point though, if you want to put it in your custom section, it should read something like this:

Code:
[Custom]
CustomCombatTotal=0
CustomRestTotal=1
CustomCombat1=
CustomRest1=/if (!${Me.Buff[Greater Concentration].ID} && ${Spell[Greater Concentration].Stacks} && ${FindItemCount[Elixir of Greater Concentration]} && !${Me.Moving} && !${Me.Feigning} && !${Me.Invis}) /casting 14578

You could also move it to the combat part if you don't want to potentially waste them when you aren't in combat but with a 15 sec cast time, that might be a bit hard.
 
So another bug. Why won't my mage use his epic on his pet? Here's the code.

Code:
[Pet]
PetGHOLD=TRUE
PetGearDefaultAlias=
UsePet=TRUE
PetSpell=Facet of Air
PetSpellGem=gem8
UsePetFocusAA=TRUE
PetAttackAt=97
ShrinkPet=TRUE
ShrinkPetIfHeightAbove=1.5
ShrinkPetSpell=Companion's Purple Earring
ShrinkPetSpellGem=item
DoPetHeals=FALSE
PetHealAt=50
PetHealSpell=
PetHealSpellGem=
UseAAPetHeal=TRUE
PetAAHealAt=5
DoPetBuffs=TRUE
PetBuffRecheck=10s
PetBuffTotal=2
PetBuffName1=Burnout X
PetBuffSpell1=Burnout X
PetBuffGem1=gem4
PetBuffRecast1=59m
PetBuffName2=Staff of Elemental Essence
PetBuffSpell2=Staff of Elemental Essence
PetBuffGem2=item
PetBuffRecast2=28m


It looks like it's filled out wrong. Try this:

Code:
PetBuffName2=Elemental Conjunction
PetBuffSpell2=Staff of Elemental Essence
PetBuffGem2=item
PetBuffRecast2=1s
 
Here are my AE Aggro abilities I want to use.

Stormwheel Blades Rk. II

Mana: 0 Endurance Cost: 1012
Skill: 1H Slashing Casting Time: Instant
Recast Time: 45 Fizzle Time: 0
Resist: Unresistable Location: Any
Time of Day: Any AE Range: 50
Hate Generated: 11015 Deletable: No
Interruptable: Yes Timer ID: 9
Target Type: PB AE Spell Type: Detrimental

Executes a stormwheel blade attack, doing minor damage to all nearby targets. Enemies find this attack especially infuriating.


Rampage

Hits everything in a small radius around the warrior.

Enhanced Area Taunt
1: AE Taunt
2: Add effect: Enhanced Area Taunt Effect
Mana: 0 Casting Time: Instant
Recast Time: 0 Fizzle Time: 0
Resist: Unresistable Location: Any
Time of Day: Any AE Range: 35
Hate Generated: 1000 Interruptable: Yes
Short Buff Box: Yes Target Type: PB AE
Spell Type: Detrimental Category: Undefined


I would like to use Stormwheel Blades Rk. any time more than 2 NPCs are in camp.

I would like to use Rampage any time more than 3 are in camp and Stormwheel Blades Rk. II is down.

I would like to use Enhanced Area Taunt any time there are more than 4 NPCs in camp.


Does that help?

When Using Disc Stormstrike Blades new version to old Vortex Blades. As soon as I pull Mob with my Puller the Warrior Fires off this Stormstrike Blades. This is even before Mobs are in Camp or even start moving from the Puller's initial tag. Any Idea as to why the Warrior fires them off As soon as mobs are aggroed ?
 
Hoping pete or some one can assist, I have tried many things to get my bard to cast his new TBM spell on cooldown. It's like the old lively crescendo except WAY better and with a 60s cooldown. It won't work fitting it into twist and I can't get him to use it in holy or downshit. Anyone have it working? or any ideas?

It's essentially a 3 second cast, 60 second reuse "Heal" of sorts, but it instantly gives 35k mana 20khp and about 6500 endurance.
 
Hoping pete or some one can assist, I have tried many things to get my bard to cast his new TBM spell on cooldown. It's like the old lively crescendo except WAY better and with a 60s cooldown. It won't work fitting it into twist and I can't get him to use it in holy or downshit. Anyone have it working? or any ideas?

It's essentially a 3 second cast, 60 second reuse "Heal" of sorts, but it instantly gives 35k mana 20khp and about 6500 endurance.
Like, umm... what's the name of the song lol?

htw
 
Hoping pete or some one can assist, I have tried many things to get my bard to cast his new TBM spell on cooldown. It's like the old lively crescendo except WAY better and with a 60s cooldown. It won't work fitting it into twist and I can't get him to use it in holy or downshit. Anyone have it working? or any ideas?

It's essentially a 3 second cast, 60 second reuse "Heal" of sorts, but it instantly gives 35k mana 20khp and about 6500 endurance.
Like, umm... what's the name of the song lol?

htw

Dichotomic Psalm

http://lucy.allakhazam.com/spell.html?id=49148&source=Live
 
you can open macro and find this line and change it:
/if (${Me.Gem[${i}].Name.Find[Crescendo]}) {

to:
/if (${Me.Gem[${i}].Name.Find[Crescendo]}||${Me.Gem[${i}].Name.Find[Dichotomic Psalm]}) {
 
you can open macro and find this line and change it:
/if (${Me.Gem[${i}].Name.Find[Crescendo]}) {

to:
/if (${Me.Gem[${i}].Name.Find[Crescendo]}||${Me.Gem[${i}].Name.Find[Dichotomic Psalm]}) {

That's neat, and gives a little insight on macro functionality, trying this out now. Thanks


Ok that did not get it working, I reloaded MQ and the bard.

I set it up like so in the hopes he would just do it on cooldown, I've also adjusted the values to 80/50/30 etc with no luck, any idea?

[Bard]
UseSingleMez=FALSE
UseCrescendo=TRUE
CrescendoAtGroupMana=100
CrescendoAtGroupEndurance=100
CrescendoMyMinMana=100
UseSlow=FALSE
SlowName=Requiem of Time
UseTashOrb=FALSE
RestTwist=1 2 3 4 5
CombatTwist=1 2 3 4 5
StopSongsIfPullerIsThisDistanceOrMore=0
 
Last edited:
Discovered the pull problem....

If your puller occasionally just skips pulling a mob, possibly until you reboot, this appears to be the cause and a fix.

The problem is mobs are being added to the Alert List 1, and not being cleared. I added this line in the CustomRest section.

CustomRest1=/if (${SpawnCount[NPC radius ${PullRadius}]}>0) /alert clear 1

This will only fix the problem of the puller skipping mobs because they were added to the temp ignore list. It seems that one cause of this is when a mob spawns right next to "your spot" and attacks someone who's not the puller. Under the right circumstances, you can see how this could lead to a group wipe.
 
Advanced loot window handling....

In case you're hunting in a new area and you've got 1 person dedicated to looting everything non-lore, here's an easy way....

With AdvLoot turned on, just add the following command:

CustomRest2=/if (${Window[AdvancedLootWnd].Open}) /notify AdvancedLootWnd ADLW_CLLSetBtn leftmouseup

Neither of these posts were sproused up to avoid issues like taking the loot without offering to groupies, etc. This command simply sends all non-lore loot to your master looter.

WARNING, new items, including NO DROP, will be nearly instantly looted. This doesn't fit every situation, but it's info that's good to have. Botting just got easier :)
 
Speed and customization

I've seen things take several seconds to happen, in some situations. recently I tried A Successful Mistwielder in Chelsith Reborn. When it buffs itself with Deadly Mist, all damage must pause until the buff is gone. Even if mid casting, pets need to be pulled back and wait it out.

Now, even with a couple modifications I've done to pull pets off, it's still a few seconds before things take place - at best.

I'm also interested in customizing some things like:

kill mobs 1 and 2 and keep their hps within X %,
kill mobs 1, 2, and 3, while keeping 4 offtanked but NOT killed, and keeping 5 mezed.
beat mob 1 to X%, then switch and beat mob 2 to x%, then go back and kill mob 1.
beat xtarget1 until someone says TRASH and then clear all the trash adds and go back to xtarget1

Is there a way to do these things via bot.mac? If not, does a macro exist?
 
Last edited:
I've seen things take several seconds to happen, in some situations. recently I tried A Successful Mistwielder in Chelsith Reborn. When it buffs itself with Deadly Mist, all damage must pause until the buff is gone. Even if mid casting, pets need to be pulled back and wait it out.

Now, even with a couple modifications I've done to pull pets off, it's still a few seconds before things take place - at best.

I'm also interested in customizing some things like:

kill mobs 1 and 2 and keep their hps within X %,
kill mobs 1, 2, and 3, while keeping 4 offtanked but NOT killed, and keeping 5 mezed.
beat mob 1 to X%, then switch and beat mob 2 to x%, then go back and kill mob 1.
beat xtarget1 until someone says TRASH and then clear all the trash adds and go back to xtarget1

Is there a way to do these things via bot.mac? If not, does a macro exist?
Ya, you could set up some holy/down shits that if your target has that buff to stop casting/back out/turn off attack/pause macro, and then another to turn back on. Or you could have it set a variable and it be a condition for your routines.

The more substantive answer would be that a new routine would need create to deal with that type of situation. i know there is the horse with damage shield in one zone and a few other damage shields that i set up holy/down shits for to /attack off so i didnt die to them. im not going to code said new routine, but maybe 40oz or someone else is up to the task.
 
I'm also interested in customizing some things like:

kill mobs 1 and 2 and keep their hps within X %,
kill mobs 1, 2, and 3, while keeping 4 offtanked but NOT killed, and keeping 5 mezed.
beat mob 1 to X%, then switch and beat mob 2 to x%, then go back and kill mob 1.
beat xtarget1 until someone says TRASH and then clear all the trash adds and go back to xtarget1

Is there a way to do these things via bot.mac? If not, does a macro exist?

Balance doesn't have an easy way to do in Mac or via holy/downshits yet. The best thing you can do is hand-play the assist, and make sure the assist is on their toes to switch targets.

Offtanking and keeping things mezzed should already happen, so long as the assist doesn't choose the target.

beat 1 mob, switch targets, should all exist with a hand played assist

same with switching to trash.

The difficulty in coding these kinds of situations is that they are highly specific, whereas this bot.mac is made to be very generic. Having a hand played assist, and using the "clear target" alias should solve all of these, unless you need super fine control over the damage in a balance situation, where you might need to interrupt casting to switch faster.

This will eventually be one advantage of the MQ2Bot plugin. Once it's stable and has feature parity with bot.mac, you could run a specific mac for an event on top of MQ2Bot to help with these kinds of situations. That's something I'm pretty excited for, but for my liking MQ2Bot is not feature complete enough, and last time I used it, it was too unstable for me - though that was many months ago.
 
Last edited:
How would you know mq2bot is unstable if you dont use it? The unstable parts are when I am actively testing and posting test versions on the mq2bot thread for others to use and is almost always via a /command. To see people blindly state things as fact does eventually get annoying. The version that is in the compile gets fixed whenever someone reports a problem if some TLO member changes. The same TLO problems would affect the macro too.

Side note: i had a balancing routine in some macros because of the raids that use the mechanic. I cant seem to find where it is atm. I will dig around a bit.
 
How would you know mq2bot is unstable if you dont use it? The unstable parts are when I am actively testing and posting test versions on the mq2bot thread for others to use and is almost always via a /command. To see people blindly state things as fact does eventually get annoying. The version that is in the compile gets fixed whenever someone reports a problem if some TLO member changes. The same TLO problems would affect the macro too.

Side note: i had a balancing routine in some macros because of the raids that use the mechanic. I cant seem to find where it is atm. I will dig around a bit.

Sorry, I added an addendum. It's been a few months since I've used MQ2Bot with any regularity, but last time I did I had a huge uptick in crashes. The only time I've had any of the various bot macro's I've used crash is when a plugin causes it, and it's almost always MQ2Nav or MQ2Navigation / MQ2EQDraw. My issues with MQ2Bot may even be related to those same issues last time I used it. This was at least 4 months ago though, so not really a fair comparison of current-day stuff.

I'm excited for the new populate command you have, and plan to give it a go in earnest once I can fully customize each section.
 
Last edited:
shaman never finishes casting heal

Wrong thread, sorry.
 
Last edited:
Promised line of healing problem

On pet classes, the promised line of buffs have a problem. I've tried using the Promised healing line with the following conditions:

${Pet.PctHPs}<99 && !${Pet.Buff[Promised Invigoration]} && ${AddCount}>0

The problem is, it'll recast the spell as soon as the countdown fades, but before the previous cast actually heals the pet. I simple workaround solution would be a countdown timer specific for the Promised line. I'm hoping action that much drastic isn't necessary. Any tips?
 
My guess is that it has something to do with how pet buffs are read. If you cast the promised heal, and do a ${Pet.Buff[Promised Heal Name]} does it return TRUE?

Edit: Just tried this with Promised Invigoration

!${Pet.Buff[Promised Invigoration]} is the correct conditional for that spell. Pet.Buff returns NULL if your pet does not have the buff, or the buff slot number if it does.

Where are you trying to use this heal / conditional?
 
Last edited:
Promised Invigoration problem

using the following atm:

HealPetUse1=TRUE
HealPetSpellName1=Promised Invigoration
HealPetSpellGem1=gem4
HealPetUseAt1=99
HealPetStopAt1=100
HealPetRecast1=1s
HealPetConditions1=!${Pet.Buff[Promised Invigoration]}

I've set the HealPetUseAt1 to 99 for simple testing. Basically, it's a super fast cast spell. You want this spell countdown going whenever you can afford the mana and there's even a chance your pet will be need heals that another healer can't take care of.

The problem comes is there's about a 1 second delay from the completed 18 second countdown, and the activation of the heal that comes after the countdown. With the provided conditions, the Promised Invigoration spell refreshes and is recast before the heal can activate.

The best idea I've come up with to remedy this is to use a countdown timer that adds approx. 1 second before the spell is cast again.
 
using the following atm:

HealPetUse1=TRUE
HealPetSpellName1=Promised Invigoration
HealPetSpellGem1=gem4
HealPetUseAt1=99
HealPetStopAt1=100
HealPetRecast1=1s
HealPetConditions1=!${Pet.Buff[Promised Invigoration]}

I've set the HealPetUseAt1 to 99 for simple testing. Basically, it's a super fast cast spell. You want this spell countdown going whenever you can afford the mana and there's even a chance your pet will be need heals that another healer can't take care of.

The problem comes is there's about a 1 second delay from the completed 18 second countdown, and the activation of the heal that comes after the countdown. With the provided conditions, the Promised Invigoration spell refreshes and is recast before the heal can activate.

The best idea I've come up with to remedy this is to use a countdown timer that adds approx. 1 second before the spell is cast again.

I thought you meant the spell was being recast long before the 18s. Yeah, just set your recast to the appropriate amount is going to be the best way to handle it. If I get a chance I'll try to test for myself, but I'm pretty busy the next few days.