Bot macro - Customization

outside the puller's group

I'm trying to figure out how to use an out of group character to react. I've been gone for years and the aggro window didn't exist, however it seems the chanter, for instance, only reacts when the extended target window has someone/thing in it.

I've done very limited experimentation, however I love the work done on this macro. kudos to you guys
 
need help with pulling monk

not sure what i am doing wrong - I couldnt get him to pull until i turned off assist, but then i have two problems:

1) not sure what the command is to use a shuriken to pull with? I have tried ranged and shuriken and they dont seem to work, he also seems to get too close to the mob for ranged anyways (which doesnt matter at the moment since he doesnt even try to do a ranged

2) with assist off, when he gets back to camp he wont help kill the mobs

also, this is a fippy toon - so there is no x target or mercs etc. not sure if that will change anything

Code:
[Settings]
OptionsCheck=|Pulling|Merc|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Fade|Disc|Snare|Endurance|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Fade|Disc|Snare|Endurance|
RestrictedZones=344,202,151,345
LootNPCs=FALSE
Verbose=FALSE
MyChannel=bc
AnnounceChannel=bc
EQBCAnnounceAdds=FALSE
AutoHideNPCCorpses=FALSE
ClearTargetDataAlias=ClearTargetDataAlias
EmergencyAlias=EmergencyAlias
EmergencySkill=EmergencySkill
ImmunityCheck=TRUE
AnnounceEvents=TRY|CAST_SUCCESS|CAST_IMMUNE|CAST_RESIST
BotVersion=v2.64
UseCamp=TRUE
CampRadius=30
CampRadiusMax=150
[Assist]
AssistType=0
AssistPC=tank
AssistAt=99
AttackRange=50
AttackCommand=/attack on
AmIOffTank=FALSE
UseMelee=TRUE
UseArchery=FALSE
ArcheryMaxDistance=50
ArcheryMinDistance=35
SetTargetMessage=Kill_this
BurnModeAlias=BurnModeAlias
[Follow]
FollowMethod=stick|30 healer
FollowCommand=FollowCommand
StopFollowCommand=StopFollowCommand
MoveUpCommand=MoveUpCommand
[Campfire]
CF_Item1=Fellowship Kit:         
CF_Item2=Fellowship Lumber Bundle:         
[Pulling]
AmIPuller=TRUE
PullRadius=200
PullZRadius=30	
PullCastRange=50
AlertListClear=FALSE  
AlertListClearTimer=60m
CourseCorrectionTimer=5       
MQ2NavPullRadius=355
MQ2NavPullZRadius=25	
ReturnActionTotal=1
PullConColor=GREY,GREEN,LIGHT BLUE,BLUE,WHITE,YELLOW,RED
PullingMethod=hunt	
PullingAnnounceCMD=/g INC %T
PullingTotal=1
PullAtMyHPs=75		
PullSkillName1=ranged
PullSkillRequiresLineOfSight1=TRUE
PullSkillDistance1=50
PullSkillName2=
PullSkillRequiresLineOfSight2=TRUE
PullSkillDistance2=
PullSkillSummon2=
[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
BuffTotal=0
BuffAnnounce=FALSE
BuffUse1=TRUE
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
[ClickyMaintenance]
clickies=0
[Combat]
StandardCombatOptions=Bard|XHeal|HealSingle|HealGroup|HealBalance|HealSelf|HealPet|Disc|MainTankBuff|FightBuff|Lifetap|Stun|AA|Dot|Nuke|Snare|ClickyNuke|Jolt|Rez|ModRod|Mana|Merc
CombatFrequency5=Bard|XHeal|HealSingle|HealGroup|HealBalance|HealSelf|HealPet|Disc|MainTankBuff|FightBuff|Lifetap|Stun|AA|Dot|Nuke|Snare|ClickyNuke|Jolt|Rez|ModRod|Mana|Merc
[AAtoBuy]
AABuy=FALSE
AABuyChannel=/echo
AABuyAt=15
AABuyMode=Classic
AABuyPageOrder=Class|Archetype|General|Special
AACount=0
[ImHit]
ImHitTotal=3
ImHitAnnounce=FALSE
ImHitUse1=FALSE
ImHitRecast1=1s
ImHitUseAtMyHP1=30
ImHitUse2=FALSE
ImHitRecast2=1s
ImHitUseAtMyHP2=30
ImHitUse3=FALSE
ImHitRecast3=1s
ImHitUseAtMyHP3=30
[Custom]
CustomCombatTotal=0
CustomRestTotal=0
[AA]
AATotal=0
AAAnnounce=FALSE
AAUse1=FALSE
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AANamedOnly1=FALSE
AAUse2=FALSE
AAUseAtMobPctHP2=96
AAStopAtMobPctHP2=5
AARecast2=1s
AANamedOnly2=FALSE
AAUse3=FALSE
AAUseAtMobPctHP3=96
AAStopAtMobPctHP3=5
AARecast3=1s
AANamedOnly3=FALSE
AAUse4=FALSE
AAUseAtMobPctHP4=96
AAStopAtMobPctHP4=5
AARecast4=1s
AANamedOnly4=FALSE
AAUse5=FALSE
AAUseAtMobPctHP5=96
AAStopAtMobPctHP5=5
AARecast5=1s
AANamedOnly5=FALSE
AAUse6=FALSE
AAUseAtMobPctHP6=96
AAStopAtMobPctHP6=5
AARecast6=1s
AANamedOnly6=FALSE
AAUse7=FALSE
AAUseAtMobPctHP7=96
AAStopAtMobPctHP7=5
AARecast7=1s
AANamedOnly7=FALSE
AAUse8=FALSE
AAUseAtMobPctHP8=96
AAStopAtMobPctHP8=5
AARecast8=1s
AANamedOnly8=FALSE
AAUse9=FALSE
AAUseAtMobPctHP9=96
AAStopAtMobPctHP9=5
AARecast9=1s
AANamedOnly9=FALSE
AAUse10=FALSE
AAUseAtMobPctHP10=96
AAStopAtMobPctHP10=5
AARecast10=1s
AANamedOnly10=FALSE
AAUse11=FALSE
AAUseAtMobPctHP11=96
AAStopAtMobPctHP11=5
AARecast11=1s
AANamedOnly11=FALSE
AAUse12=FALSE
AAUseAtMobPctHP12=96
AAStopAtMobPctHP12=5
AARecast12=1s
AANamedOnly12=FALSE
AAUse13=FALSE
AAUseAtMobPctHP13=96
AAStopAtMobPctHP13=5
AARecast13=1s
AANamedOnly13=FALSE
AAUse14=FALSE
AAUseAtMobPctHP14=96
AAStopAtMobPctHP14=5
AARecast14=1s
AANamedOnly14=FALSE
AAUse15=FALSE
AAUseAtMobPctHP15=96
AAStopAtMobPctHP15=5
AARecast15=1s
AANamedOnly15=FALSE
AAUse16=FALSE
AAUseAtMobPctHP16=96
AAStopAtMobPctHP16=5
AARecast16=1s
AANamedOnly16=FALSE
AAUse17=FALSE
AAUseAtMobPctHP17=96
AAStopAtMobPctHP17=5
AARecast17=1s
AANamedOnly17=FALSE
AAUse18=FALSE
AAUseAtMobPctHP18=96
AAStopAtMobPctHP18=5
AARecast18=1s
AANamedOnly18=FALSE
AAUse19=FALSE
AAUseAtMobPctHP19=96
AAStopAtMobPctHP19=5
AARecast19=1s
AANamedOnly19=FALSE
AAUse20=FALSE
AAUseAtMobPctHP20=96
AAStopAtMobPctHP20=5
AARecast20=1s
AANamedOnly20=FALSE
AAUse21=FALSE
AAUseAtMobPctHP21=96
AAStopAtMobPctHP21=5
AARecast21=1s
AANamedOnly21=FALSE
AAUse22=FALSE
AAUseAtMobPctHP22=96
AAStopAtMobPctHP22=5
AARecast22=1s
AANamedOnly22=FALSE
AAUse23=FALSE
AAUseAtMobPctHP23=96
AAStopAtMobPctHP23=5
AARecast23=1s
AANamedOnly23=FALSE
AAUse24=FALSE
AAUseAtMobPctHP24=96
AAStopAtMobPctHP24=5
AARecast24=1s
AANamedOnly24=FALSE
AAUse25=FALSE
AAUseAtMobPctHP25=96
AAStopAtMobPctHP25=5
AARecast25=1s
AANamedOnly25=FALSE
[Aura]
AuraTotal=0
AuraAnnounce=FALSE
AuraUse1=FALSE
[ClickyNuke]
ClickyNukeTotal=2
ClickyNukeAnnounce=FALSE
ClickyNukeUse1=TRUE
ClickyNukeRecast1=1s
ClickyNukeUseAtMobPctHP1=96
ClickyNukeStopAtMobPctHP1=1
ClickyNukeNamedOnly1=FALSE
ClickyNukeUse2=TRUE
ClickyNukeRecast2=1s
ClickyNukeUseAtMobPctHP2=96
ClickyNukeStopAtMobPctHP2=1
ClickyNukeNamedOnly2=FALSE
ClickyNukeUse3=TRUE
ClickyNukeRecast3=1s
ClickyNukeUseAtMobPctHP3=96
ClickyNukeStopAtMobPctHP3=1
ClickyNukeNamedOnly3=FALSE
[Fade]
FadeTotal=0
FadeAnnounce=FALSE
FadeUse1=FALSE
FadeUseAtMyHP1=5
[Disc]
DiscTotal=0
DiscUse1=FALSE
DiscNamedOnly1=TRUE
DiscRecast1=1s
DiscUse2=FALSE
DiscNamedOnly2=TRUE
DiscRecast2=1s
DiscUse3=FALSE
DiscNamedOnly3=TRUE
DiscRecast3=1s
DiscUse4=FALSE
DiscNamedOnly4=TRUE
DiscRecast4=1s
DiscUse5=FALSE
DiscNamedOnly5=TRUE
DiscRecast5=1s
DiscUse6=FALSE
DiscNamedOnly6=TRUE
DiscRecast6=1s
DiscUse7=FALSE
DiscNamedOnly7=TRUE
DiscRecast7=1s
DiscUse8=FALSE
DiscNamedOnly8=TRUE
DiscRecast8=1s
DiscUse9=FALSE
DiscNamedOnly9=TRUE
DiscRecast9=1s
DiscUse10=FALSE
DiscNamedOnly10=TRUE
DiscRecast10=1s
DiscUse11=FALSE
DiscNamedOnly11=TRUE
DiscRecast11=1s
DiscUse12=FALSE
DiscNamedOnly12=TRUE
DiscRecast12=1s
DiscUse13=FALSE
DiscNamedOnly13=TRUE
DiscRecast13=1s
DiscUse14=FALSE
DiscNamedOnly14=TRUE
DiscRecast14=1s
DiscUse15=FALSE
DiscNamedOnly15=TRUE
DiscRecast15=1s
DiscUse16=FALSE
DiscNamedOnly16=TRUE
DiscRecast16=1s
DiscUse17=FALSE
DiscNamedOnly17=TRUE
DiscRecast17=1s
DiscUse18=FALSE
DiscNamedOnly18=TRUE
DiscRecast18=1s
DiscUse19=FALSE
DiscNamedOnly19=TRUE
DiscRecast19=1s
DiscUse20=FALSE
DiscNamedOnly20=TRUE
DiscRecast20=1s

[Snare]
SnareTotal=0
ForceMemSnare=FALSE
SnareAnnounce=FALSE
SnareUse1=FALSE
SnareUseAtMobPctHP1=15
SnareMaxTries1=2
[Endurance]
SitAt=25
SitToFull=FALSE
[Roles]
SetRoles=TRUE
GroupLeader=toon1
GroupMainTank=toon2
GroupMainAssist=mypuller
GroupPuller=mypuller
GroupXTarget1=NULL
RaidXTarget1=NULL
 
Fippy does get XTargets, they are just hidden from your view. You can have a mob on aggro and verify this by typing:
/echo ${Me.XTarget[1]}

PullSkillName1=Shuriken name


and you need to set up your mq2melee stuff to use the correct bow/arrow id, per the wiki. Also, it appears you havent done a /mac bot load or modified the ini at all, so you may want to do that for best results.
 
so do you mean like the name of the shuriken in there? or literally "shuriken name" i tried both, and based on my ini settings, my monk will run up to a mob and stand there for about 3 seconds and then move to another target.

I did set up my ini, but i didnt remove some things - just set them to zero instead. if you see any glaring stupid things in there i would be happy if anyone could point them out.

I have melee set and i changed the arrow to the number on the shuriken item "arrow=8007"
 
Pete
Is there a way to get bots to move faster? Some events require moving away from potentially harmful AOE's or traps. When I give the "MoveupCommand" the bots are slow to respond when there are mobs on aggro.
 
...

Hi Pete, is there a way to pause and unpause the Bot.mac via Mq2Events.

For Example:

1. PC get an Emote "duck" (pause Bot).
2. MQ2Event do the stuff to duck my Char.
3. PC get an Emote "success"
4. MQ2Event do the stuff to stand up my Char and unpause Bot


thx for your help

Shadow775
 
Sure, just make whatever events you want, toss them into an .inc, and then #include them into the macro.
 
I ended up rolling new toons on Vox instead, and with a chanter pulling it works perfectly. I am sure the monk thing is due to my melee settings somewhere, but for now I am set. thanks again for your help and this amazing macro.
 
Pet Tank

So I have read through all 39 pages and I am surprised that this hasn't been asked yet (Or i missed it ). Also, searching is not so good for things like bot macro lol .. its like searching for the word the :)

With a Mage pet tank (I will be controlling the mage) and a Shaman running bot macro. Since I can not set the pet to main tank role how can I get the shaman to use the [MainTankBuff] section on the pet ?

I have been running this with my SK as tank to make sure the ini is working, and it is, but would like to use the shaman with just my mage and pet tank.

Here is the current snippet from the ini

Code:
[MainTankBuff]
MainTankBuffTotal=3
MainTankBuffAnnounce=TRUE

MainTankBuffUse1=TRUE
MainTankBuffSpellName1=Listlessness
MainTankBuffSpellGem1=gem3
MainTankBuffUseAt1=100
MainTankBuffStopAt1=5
MainTankBuffNamedOnly1=FALSE
MainTankBuffRecast1=6m

MainTankBuffUse2=TRUE
MainTankBuffSpellName2=Halcyon Zephyr
MainTankBuffSpellGem2=gem10
MainTankBuffUseAt2=100
MainTankBuffStopAt2=5
MainTankBuffNamedOnly2=FALSE
MainTankBuffRecast2=1m

MainTankBuffUse3=TRUE
MainTankBuffSpellName3=Talisman of the Lynx
MainTankBuffSpellGem3=gem5
MainTankBuffUseAt3=100
MainTankBuffStopAt3=5
MainTankBuffNamedOnly3=FALSE
MainTankBuffRecast3=1m
 
That section uses the specific TLOs for Group.MainTank so it doesnt work with other things. I just looked at recoding it and I can probably do that, but there is a lot of very specific code. I will see what I can do. The bypass is to add them as [HealPet] and put recast timers on them that match the duration of the spell.
 
AHHH.. I see .. I was thinking the [HealPet] was just for my pet (shaman dog).. So it applies to all pets then? if so then I dont see any need for you to rewrite code .. if it works then that is the solution ..

Awesome, I will play with that and see what I can come up with. If I get it working well I will share the ini for future reference. I was surprised it wasn't already done with the (better than merc tank) focused mage pet.

Thanks for the quick reply and awesome macro .. very cool.

Edit:

Will this not also cast these spells on the shamans own pet as well? How can I assign them to just the mage pet?

This is what I think will work so far with basic timers in place (not tested yet):

Code:
[HealPet]
HealPetTotal=3
HealPetAnnounce=TRUE

HealPetUse1=TRUE
HealPetSpellName1=Listlessness
HealPetSpellGem1=gem3
HealPetUseAt1=100
HealPetStopAt1=5
HealPetNamedOnly1=FALSE
HealPetRecast1=6m

HealPetUse2=TRUE
HealPetSpellName2=Halcyon Zephyr
HealPetSpellGem2=gem10
HealPetUseAt2=100
HealPetStopAt2=5
HealPetNamedOnly2=FALSE
HealPetRecast2=1m

HealPetUse3=TRUE
HealPetSpellName3=Talisman of the Lynx
HealPetSpellGem3=gem5
HealPetUseAt3=100
HealPetStopAt3=5
HealPetNamedOnly3=FALSE
HealPetRecast3=1m
 
Last edited:
HealPet is for all. The key variable for your conditions is ${gmember} so that you can customize. If you only want your pet to be healed for instance:

HealPetConditions1=!${gmember}


If you only want Pete's pet to be healed/buffed:

HealPetConditions1=${Group.Member[${gmember}].Pet.Master.Name.Equal[Pete]}

If you are doing a buff, set the percent to heal at as 100%, unless you only want it during combat when pet is taking damage, then set it to 99 or less.
 
Haha.. you posted that just as I was editing my last post to ask that very question.

Thank you :)
 
Bard help

Looking for help with these 3 clickies. I can set them in the buff section but I would like to avoid self targeting all the time losing DPS.



[ClickyMaintenance]
clickies=3
click1=Nature's Melody
click2=Frost Inlaid Lute of Boreal Wind
click3=Rapier of Somber Notes
doclickies=1

Thank you for your help.
 
First step: make sure you have latest version of bot mac so that it interrupts your /twist, otherwise it wont buff them.

Second step once accomplished:
#1 - why bother, the stats suck and #3 does the haste anyway, set it as [FightBuff]
#2 - edit your mq2twist.ini and just set it up to twist with no cast time. that would be your best solution. alternatively, you can set it as [FightBuff] and [SelfBuff] if clicky isnt working after DLing latest version.
#3 is auto used.

I realize you asked for how to, rather than an opinion, but you really are wasting your time with nature's melody and erolissi's unless you are level 75 or less.
 
Thanks Pete

Will check on all you suggested. Reason why isn't for the haste both items have stackable buffs with all other bard spells. I use them all the time at 100.

Nature's Melody is 14ac 30str 30agil 60% haste mainly you get the 14ac

Rapier of Somber Notes 50att and 50str and 60% haste so here mainly you get the 50attack.

Lute I use have been using as a 6th song for mana regen since most of the time I am twist4-5 and then a crescendo. If your saying I can twist with modified spell cast times with the macro that's new for me just converting over to /bot mac. That's an excellent tip. Thanks.
 
Aye, I am familiar with them all. Bard was my main for many years (part of the reason my bard macs are lacking sometimes is because I always manually played bard in my groups). 14 AC, even modded with max instruments is still only ~80AC and not worth the "effort". The SoB clicky is worth it just because it lasts 30 minutes.

Here is the wiki to how you set up an item to be used in /twist:

MQ2Twist - MacroQuest Wiki

Then you can just /twist 1 2 3 4 21 type of deal. I think our version of twist does a little more in that you can do spells/AAs in your /twist as well.
 
Awesome

Thanks, just got my bard last night for set up. I had 2.5 /bot mac installed . Upgraded to 2.64 and all was grand for the clickes.

Thanks for the help and quick response.