Bot suddenly got real slow

Artemus

Lifetime Member
Joined
May 30, 2006
Messages
1,048
Reaction score
9
Points
38
I've had a little problem emerge and hope someone can help me debug. I made a bunch of mods to my cleric macro and now he is VERY slow to respond. For example, when I say follow, he does not move for at least 10 seconds. That's ridiculous. He's also slow on the draw to heal. Any ideas?

Code:
[Settings]
OptionsCheck=|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Debuff|Dot|FightBuff|HealSingle|HealGroup|HealSelf|HealBalance|HealSplash|HealPet|MainTankBuff|Rez|SelfBuff|XHeal|Mana|ModRod|Nuke|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|AutoClickies|Buff|ClickyMaintenance|ClickyNuke|Fade|Debuff|Dot|FightBuff|HealSingle|HealGroup|HealSelf|HealBalance|HealSplash|HealPet|MainTankBuff|Nuke|Rez|Root|SelfBuff|Snare|Stun|XHeal|Mana|ModRod|
UseCamp=FALSE
CampRadius=30
CampRadiusMax=150
InterruptToHealAt=50
InterruptToXHealAt=50
RestrictedZones=344,202,151,345
GMAction=
LootNPCs=FALSE
AuthorizedUsers=
Verbose=TRUE
MyChannel=fs
AnnounceChannel=fs
AnnounceEvents=TRY|CAST_SUCCESS|CAST_IMMUNE|CAST_RESIST
EQBCAnnounceAdds=FALSE
AutoHideNPCCorpses=FALSE
ClearTargetDataAlias=Clear
EmergencyAlias=EmergencyAlias
EmergencySkill=EmergencySkill
ImmunityCheck=TRUE
BotVersion=v2014.0706
[Assist]
AssistType=3
AssistPC=Tank
AssistAt=99
OpeningMove=
AttackRange=150
AttackCommand=/attack on
AttackConditions=
AmIOffTank=FALSE
UseMelee=FALSE
UseArchery=FALSE
ArcheryMaxDistance=200
ArcheryMinDistance=35
SetTargetMessage=Kill_this
BurnModeAlias=BurnModeAlias
[Follow]
FollowMethod=stick|30 healer
FollowCommand=Follow
StopFollowCommand=Stop
MoveUpCommand=MoveUp
[ImHit]
ImHitTotal=0
ImHitAnnounce=FALSE
ImHitUse1=FALSE
ImHitSpellName1=
ImHitRecast1=1s
ImHitUseAtMyHP1=30
ImHitConditions1=
ImHitUse2=FALSE
ImHitSpellName2=
ImHitRecast2=1s
ImHitUseAtMyHP2=30
ImHitConditions2=
ImHitUse3=FALSE
ImHitSpellName3=
ImHitRecast3=1s
ImHitUseAtMyHP3=30
ImHitConditions3=
ImHitConditions=
[Custom]
CustomCombatTotal=0
CustomRestTotal=0
CustomCombat1=
CustomRest1=
[Campfire]
AutoUseCampfire=
SetCampfire=
CampfireName=
CF_Item1=Fellowship Kit:                                                                                                                           
CF_Item2=Fellowship Lumber Bundle:                                                                                                                           
[Pulling]
AlertListClear=FALSE
AlertListClearTimer=60m
AmIPuller=FALSE
PullRadius=600
PullZRadius=20
PullCastRange=150
MQ2NavPullRadius=10
MQ2NavPullZRadius=10
ReturnActionTotal=0
ReturnAction1=
PullConColor=LIGHT BLUE,BLUE,WHITE,YELLOW
CourseCorrectionTimer=5
PrePullSkillName=
PrePullSkillGem=
PrePullSkillDelay=
PrePullSkillReuse=
PullingMethod=Standard
PullingAnnounceCMD=NULL
PullingTotal=1
PullAtMyHPs=75
PullSkillName1=
PullSkillRequiresLineOfSight1=TRUE
PullSkillDistance1=
PullSkillSummon1=
PullSkillName2=
PullSkillRequiresLineOfSight2=TRUE
PullSkillDistance2=
PullSkillSummon2=
[Merc]
MercAssistAt=100
WAR_MercStanceNormal=
WAR_MercStanceNamed=
WAR_MercStanceOOC=
WIZ_MercStanceNormal=
WIZ_MercStanceNamed=
WIZ_MercStanceOOC=
CLR_MercStanceNormal=
CLR_MercStanceNamed=
CLR_MercStanceOOC=
ROG_MercStanceNormal=
ROG_MercStanceNamed=
ROG_MercStanceOOC=
[AA]
AATotal=6
AAAnnounce=FALSE
AAUse1=FALSE
AASpellName1=Bestow Divine Aura Azia
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AANamedOnly1=FALSE
AAConditions1=
AAUse2=TRUE
AASpellName2=Spell Casting Subtlety: Enabled
AAUseAtMobPctHP2=96
AAStopAtMobPctHP2=5
AARecast2=1s
AANamedOnly2=TRUE
AAConditions2=
AAUse3=FALSE
AASpellName3=Divine Avatar
AAUseAtMobPctHP3=96
AAStopAtMobPctHP3=5
AARecast3=1s
AANamedOnly3=FALSE
AAConditions3=
AAUse4=TRUE
AASpellName4=Flurry of Life
AAUseAtMobPctHP4=96
AAStopAtMobPctHP4=5
AARecast4=1s
AANamedOnly4=TRUE
AAConditions4=
AAUse5=FALSE
AASpellName5=Bestow Divine Aura Beza
AAUseAtMobPctHP5=96
AAStopAtMobPctHP5=5
AARecast5=1s
AANamedOnly5=FALSE
AAConditions5=
AAUse6=TRUE
AASpellName6=Healing Frenzy
AAUseAtMobPctHP6=96
AAStopAtMobPctHP6=5
AARecast6=1s
AANamedOnly6=TRUE
AAConditions6=
AAUse7=FALSE
AASpellName7=
AAUseAtMobPctHP7=96
AAStopAtMobPctHP7=5
AARecast7=1s
AANamedOnly7=FALSE
AAConditions7=
AAUse8=FALSE
AASpellName8=
AAUseAtMobPctHP8=96
AAStopAtMobPctHP8=5
AARecast8=1s
AANamedOnly8=FALSE
AAConditions8=
AAUse9=FALSE
AASpellName9=
AAUseAtMobPctHP9=96
AAStopAtMobPctHP9=5
AARecast9=1s
AANamedOnly9=FALSE
AAConditions9=
AAUse10=FALSE
AASpellName10=
AAUseAtMobPctHP10=96
AAStopAtMobPctHP10=5
AARecast10=1s
AANamedOnly10=FALSE
AAConditions10=
AAUse11=FALSE
AASpellName11=
AAUseAtMobPctHP11=96
AAStopAtMobPctHP11=5
AARecast11=1s
AANamedOnly11=FALSE
AAConditions11=
AAUse12=FALSE
AASpellName12=
AAUseAtMobPctHP12=96
AAStopAtMobPctHP12=5
AARecast12=1s
AANamedOnly12=FALSE
AAConditions12=
AAUse13=FALSE
AASpellName13=
AAUseAtMobPctHP13=96
AAStopAtMobPctHP13=5
AARecast13=1s
AANamedOnly13=FALSE
AAConditions13=
AAUse14=FALSE
AASpellName14=
AAUseAtMobPctHP14=96
AAStopAtMobPctHP14=5
AARecast14=1s
AANamedOnly14=FALSE
AAConditions14=
AAUse15=FALSE
AASpellName15=
AAUseAtMobPctHP15=96
AAStopAtMobPctHP15=5
AARecast15=1s
AANamedOnly15=FALSE
AAConditions15=
AAConditions=
[Aura]
AuraTotal=1
AuraAnnounce=FALSE
AuraUse1=TRUE
AuraSpellName1=Aura of Divinity
AuraSpellGem1=gem9
AuraSpellIcon1=Aura of Divinity 
AuraName1=
AuraUse2=FALSE
AuraSpellName2=
AuraSpellIcon2=
AuraName2=
AuraSpellGem2=
AuraConditions=
[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
InvisSpell=
InvisSpellGem=
InvisUndeadSpell=Group Perfected Invisibility to Undead
InvisUndeadSpellGem=alt
LevitateSpell=
LevitateSpellGem=
BuffTotal=1
BuffAnnounce=FALSE
BuffUse1=TRUE
BuffSpellName1=Rallied Greater Ward of Via
BuffSpellIcon1=
BuffSpellGem1=gem9
BuffAlias1=
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions1=
BuffUse2=FALSE
BuffSpellName2=Unified Hand of Surety
BuffSpellIcon2=
BuffSpellGem2=gem11
BuffAlias2=
BuffClasses2=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions2=
BuffConditions=
[Debuff]
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=FALSE
DebuffTotal=1
DebuffTotalIfNamed=1
ForceMemDebuff=FALSE
DebuffAnnounce=FALSE
DebuffUse1=TRUE
DebuffSpellName1=Mark of the Zealot
DebuffSpellGem1=gem07
DebuffUseAtMobPctHP1=96
DebuffStopAtMobPctHP1=1
DebuffRecast1=2m
DebuffMaxTries1=2
DebuffConditions1=
DebuffConditions=

[FightBuff]
FightBuffTotal=1
ForceMemFightBuff=FALSE
FightBuffAnnounce=FALSE
FightBuffUse1=TRUE
FightBuffSpellName1=Yaulp XIV
FightBuffSpellIcon1=Yaulp XIV
FightBuffConditions1=
FightBuffSpellGem1=gem10
FightBuffNamedOnly1=FALSE
FightBuffForAggro1=FALSE
FightBuffConditions=
[HealSingle]
HealPullerName=Tank
HealPullerDist=50
HealSingleTotal=3
HealSingleAnnounce=FALSE
HealSingleUse1=TRUE
HealSingleSpellName1=Fervid Renewal
HealSingleSpellGem1=gem5
HealSingleUseAt1=55
HealSingleStopAt1=99
HealSingleRecast1=1s
HealSingleConditions1=
HealSingleUse2=TRUE
HealSingleSpellName2=Spiritual Remedy
HealSingleSpellGem2=gem3
HealSingleUseAt2=89
HealSingleStopAt2=90
HealSingleRecast2=1s
HealSingleConditions2=
HealSingleUse3=TRUE
HealSingleSpellName3=Ardent Light
HealSingleSpellGem3=gem2
HealSingleUseAt3=70
HealSingleStopAt3=90
HealSingleRecast3=1s
HealSingleConditions3=

HealSingleConditions=
[HealGroup]
HealGroupTotal=1
HealGroupAnnounce=FALSE
HealGroupUse1=TRUE
HealGroupSpellName1=Word of Greater Reformation
HealGroupSpellGem1=gem1
HealGroupUseAt1=60
HealGroupStopAt1=90
HealGroupAvgHP1=70
HealGroupConditions1=
HealGroupUse2=TRUE
HealGroupSpellName2=
HealGroupSpellGem2=
HealGroupUseAt2=50
HealGroupStopAt2=80
HealGroupAvgHP2=60
HealGroupConditions2=
HealGroupUse3=TRUE
HealGroupSpellName3=
HealGroupSpellGem3=
HealGroupUseAt3=50
HealGroupStopAt3=80
HealGroupAvgHP3=60
HealGroupConditions3=
HealGroupConditions=
[HealSelf]
HealSelfConditions=
[HealBalance]
HealBalanceTotal=2
HealBalanceAnnounce=FALSE
HealBalanceUse1=TRUE
HealBalanceSpellName1=Word of Greater Reformation
HealBalanceSpellGem1=gem1
HealBalanceUseAt1=30
HealBalanceStopAt1=70
HealBalanceConditions1=

HealBalanceUse2=TRUE
HealBalanceSpellName2=Aegis of Superior Divinity
HealBalanceConditions2=
HealBalanceSpellGem2=item
HealBalanceUseAt2=30
HealBalanceStopAt2=70



HealBalanceConditions=
[HealSplash]
HealSplashTotal=0
HealSplashAnnounce=FALSE
HealSplashUse1=TRUE
HealSplashSpellName1=
HealSplashSpellGem1=
HealSplashAvgHP1=60
HealSplashUse2=TRUE
HealSplashSpellName2=
HealSplashSpellGem2=
HealSplashAvgHP2=60
HealSplashConditions=

[MainTankBuff]
DesignatedTank=NULL
MainTankBuffTotal=2
MainTankBuffAnnounce=FALSE

MainTankBuffUse1=TRUE
MainTankBuffSpellName1=Reverent Elixir
MainTankBuffSpellGem1=gem6
MainTankBuffUseAt1=100
MainTankBuffStopAt1=5
MainTankBuffNamedOnly1=FALSE
MainTankBuffRecast1=2m
MainTankBuffConditions1=
MainTankBuffUse2=TRUE
MainTankBuffSpellName2=Promised Rehabilitation
MainTankBuffSpellGem2=gem4
MainTankBuffUseAt2=100
MainTankBuffStopAt2=5
MainTankBuffNamedOnly2=FALSE
MainTankBuffRecast2=2m
MainTankBuffConditions2=

MainTankBuffConditions=

[Nuke]
NukeTotal=1
NukeTotalIfNamed=1
ForceMemNuke=FALSE
NukeAnnounce=FALSE
NukeUse1=TRUE
NukeSpellName1=Chromacrush
NukeSpellGem1=gem8
NukeUseAtMobPctHP1=90
NukeStopAtMobPctHP1=5
NukeRecast1=1s
NukeConditions1=
NukeConditions=


[Rez]
GrabCorpse=TRUE
RezTotal=2
ForceMemRez=FALSE
RezAnnounce=FALSE
RezUse1=TRUE
RezSpellName1=Blessing of Resurrection
RezConditions1=
RezSpellGem1=alt
RezDuringCombat1=TRUE
RezUse2=TRUE
RezSpellName2=Divine Resurrection
RezConditions2=
RezSpellGem2=alt
RezDuringCombat2=TRUE
RezTrustedTotal=0
RezTrusted1=
RezTrusted2=
RezTrusted3=
RezTrusted4=
RezTrusted5=
RezConditions=
RezAlias1=
RezAlias2=
RezRaidTimer=5m
RezGroupTimer=1m

[SelfBuff]
SelfBuffTotal=1
SelfBuffAnnounce=FALSE
SelfBuffUse1=TRUE
SelfBuffSpellName1=Armor of the Ardent
SelfBuffSpellIcon1=Armor of the Ardent
SelfBuffSpellGem1=gem8
SelfBuffConditions1=
SelfBuffUse2=FALSE
SelfBuffSpellName2=
SelfBuffSpellIcon2=
SelfBuffSpellGem2=
SelfBuffConditions2=
SelfBuffUse3=TRUE
SelfBuffSpellName3=
SelfBuffSpellGem3=
SelfBuffConditions3=
SelfBuffConditions=

[Mana]
ManaConditions=
MedAt=75
MedToFull=FALSE
MedEvenIfNotInOOCRegen=FALSE
MedTimer=10s
QuietMiracle_IfManaBelow=5
QuietMiracle_Others_IfManaBelow=5
UseClarityPotions=FALSE
[Combat]
CombatFrequency1=Buff
CombatFrequency2=
CombatFrequency3=HealSingle|HealGroup|HealBalance|HealSelf|AA|ClickyNuke|Rez|Mana
CombatFrequency4=HealSingle|HealGroup|HealBalance|HealSelf|Nuke
CombatFrequency5=HealSingle|HealGroup|HealBalance|HealSelf|MainTankBuff|FightBuff|

StandardCombatOptions=Bard|XHeal|HealSingle|HealGroup|HealBalance|HealSelf|HealPet|Disc|MainTankBuff|FightBuff|Lifetap|Stun|AA|Dot|Nuke|Snare|ClickyNuke|Jolt|Rez|ModRod|Mana|Merc
[Roles]
SetRoles=TRUE
GroupLeader=Tank
GroupMainTank=Tank
GroupMainAssist=Tank
GroupPuller=NULL
GroupXTarget1=Group Assist Target
RaidXTarget1=Raid Assist 1 Target
[AAtoBuy]
AABuy=FALSE
AABuyChannel=/echo
AABuyAt=25
AABuyMode=Classic
AABuyPageOrder=Class|Archetype|General|Special
AAActivatedOnly=FALSE
SetAAPctOnLevelTo=0
LimitedGeneral=
LimitedArchetype=
LimitedClass=
LimitedSpecial=
AACount=0
[Dot]
DotConditions=
DotTotal=1
DotTotalIfNamed=1
ForceMemDot=FALSE
DotAnnounce=FALSE
DotUse1=TRUE
DotSpellName1=
DotSpellGem1=
DotUseAtMobPctHP1=96
DotStopAtMobPctHP1=30
DotRecast1=1s
DotMaxTries1=2
DotConditions1=
[HealPet]
HealPetConditions=
HealPetTotal=2
HealPetAnnounce=FALSE
HealPetUse1=TRUE
HealPetSpellName1=
HealPetSpellGem1=
HealPetUseAt1=50
HealPetStopAt1=90
HealPetRecast1=1s
HealPetConditions1=
HealPetUse2=TRUE
HealPetSpellName2=
HealPetSpellGem2=
HealPetUseAt2=50
HealPetStopAt2=90
HealPetRecast2=1s
HealPetConditions2=
[XHeal]
XHealConditions=
XHealPullerName=NULL
XHealPullerDist=50
XHealTotal=8
XHealAnnounce=FALSE
XHealUse1=TRUE
XHealSpellName1=
XHealSpellGem1=
XHealUseAt1=50
XHealStopAt1=90
XHealUse2=TRUE
XHealSpellName2=
XHealSpellGem2=
XHealUseAt2=50
XHealStopAt2=90
XHealUse3=TRUE
XHealSpellName3=
XHealSpellGem3=
XHealUseAt3=50
XHealStopAt3=90
XHealUse4=TRUE
XHealSpellName4=
XHealSpellGem4=
XHealUseAt4=50
XHealStopAt4=90
XHealUse5=TRUE
XHealSpellName5=
XHealSpellGem5=
XHealUseAt5=50
XHealStopAt5=90
XHealUse6=TRUE
XHealSpellName6=
XHealSpellGem6=
XHealUseAt6=50
XHealStopAt6=90
XHealUse7=TRUE
XHealSpellName7=
XHealSpellGem7=
XHealUseAt7=50
XHealStopAt7=90
XHealUse8=TRUE
XHealSpellName8=
XHealSpellGem8=
XHealUseAt8=50
XHealStopAt8=90
[ClickyMaintenance]
clickies=0
[ClickyNuke]
ClickyNukeConditions=
[GoM]
GoMConditions=
 
Last edited:
40oz made a version you can try out. think he customized it some to reduce lag. though if you aren't pulling, I would highly recommend using the mq2bot plugin.
 
It's not the macro though. All I did was change the ini and suddenly it got slow. So the problem isn't with the macro.
 
The ini you posted has a lot of issues and for whatever reason, you insist on using old spells instead of new ones.

1) Get rid of all the stuff you don't need or don't use. I've noticed it makes a small difference and adds up. You have so many things set to don't use that doesn't need to be there and if it was turned on, you wouldn't like the results.

2) Spell Casting Subtlety is listed. I'm assuming you are in a group since your melee is turned off. In that case, why would you ever want this turned off? Get rid of it.

3) Your aura section was filled in incorrectly. The Icon section was wrong and your aura name was missing. On a side note, have you not completed the AA for the second aura slot or do you not have the Aura of the Reverent spell?

4) You misspelled Vie on Rallied Greater Ward of Vie.

5) And since you are using Vie, I'm assuming this cleric is 105. If this assumption is correct, is there a reason you are using Mark of the Zealot instead of Mark of Vicarum?

6) Change the gem # of Mark of the Zealot to gem7 instead of gem07

7) Remove the Heal Self Section since you aren't using it.

8) Word of Greater Reformation isn't a heal balance, it's a group heal. Remove it and add in Divine Arbitration.

9) Remove HealSplash section since you aren't using it.

10) On your HoT that you are using for your MT buff, why use Reverent Elixir instead of Ardent Elixer or even Elixer of the Seas?

11) Any reason you are using Chromacrush rather than Chromabash?

12) Your Combat Frequency is a mess which is why your cleric is running slow in combat. Here are your following problems:

A) Why is Buff listed in Combat Frequency? Combat Frequency is just that; how many times per cycle (frequency) to perform said actions in combat. You don't perform the buff section in combat. You do it out of combat. Remove it.

B) You don't have a HealSelf section filled out (see note 7) so erase it from the Combat Freq.

C) Don't be listing the same thing in multiple lines of the Combat Frequency. Listing HealSingle in Combat Frequency 1, 2, and 3 doesn't make the bot heal more, it bogs it down.

13) Dot, Heal Pet, XHeal, Clicky Maintance, Clicky Nuke sections are all not used. Delete them.

Anyway, those were some of the issues I found off the top of my head. Here's a cleaned up version of what you submitted. By no means have I tested this or anything. I just noticed some issues and fixed them. The points where I asked why you are using older spells have not been replaced since I wasn't sure if you wanted to use the newer spell:

Code:
[Settings]
OptionsCheck=|AA|Aura|AutoClickies|Buff|Debuff|FightBuff|HealSingle|HealGroup|HealBalance|MainTankBuff|Rez|SelfBuff|Mana|ModRod|Nuke|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|AutoClickies|Buff|Fade|Debuff|FightBuff|HealSingle|HealGroup|HealBalance|MainTankBuff|Nuke|Rez|Root|SelfBuff|Stun|Mana|ModRod|
UseCamp=FALSE
CampRadius=30
CampRadiusMax=150
InterruptToHealAt=50
InterruptToXHealAt=50
RestrictedZones=344,202,151,345
GMAction=
LootNPCs=FALSE
AuthorizedUsers=
Verbose=TRUE
MyChannel=fs
AnnounceChannel=fs
AnnounceEvents=TRY|CAST_SUCCESS|CAST_IMMUNE|CAST_RESIST
EQBCAnnounceAdds=FALSE
AutoHideNPCCorpses=FALSE
ClearTargetDataAlias=Clear
EmergencyAlias=EmergencyAlias
EmergencySkill=EmergencySkill
ImmunityCheck=TRUE
BotVersion=v2014.0706

[Assist]
AssistType=3
AssistPC=Tank
AssistAt=99
OpeningMove=
AttackRange=150
AttackCommand=/attack on
AttackConditions=
AmIOffTank=FALSE
UseMelee=FALSE
UseArchery=FALSE
ArcheryMaxDistance=200
ArcheryMinDistance=35
SetTargetMessage=Kill_this
BurnModeAlias=BurnModeAlias

[Follow]
FollowMethod=stick|30 healer
FollowCommand=Follow
StopFollowCommand=Stop
MoveUpCommand=MoveUp

[ImHit]
ImHitTotal=0
ImHitAnnounce=FALSE
ImHitUse1=FALSE
ImHitSpellName1=
ImHitRecast1=1s
ImHitUseAtMyHP1=30
ImHitConditions1=
ImHitUse2=FALSE
ImHitSpellName2=
ImHitRecast2=1s
ImHitUseAtMyHP2=30
ImHitConditions2=
ImHitUse3=FALSE
ImHitSpellName3=
ImHitRecast3=1s
ImHitUseAtMyHP3=30
ImHitConditions3=
ImHitConditions=

[Custom]
CustomCombatTotal=0
CustomRestTotal=0
CustomCombat1=
CustomRest1=

[Campfire]
AutoUseCampfire=
SetCampfire=
CampfireName=
CF_Item1=Fellowship Kit:                                                                                                                           
CF_Item2=Fellowship Lumber Bundle:                                                                                                                           

[Pulling]
AlertListClear=FALSE
AlertListClearTimer=60m
AmIPuller=FALSE
PullRadius=600
PullZRadius=20
PullCastRange=150
MQ2NavPullRadius=10
MQ2NavPullZRadius=10
ReturnActionTotal=0
ReturnAction1=
PullConColor=LIGHT BLUE,BLUE,WHITE,YELLOW
CourseCorrectionTimer=5
PrePullSkillName=
PrePullSkillGem=
PrePullSkillDelay=
PrePullSkillReuse=
PullingMethod=Standard
PullingAnnounceCMD=NULL
PullingTotal=1
PullAtMyHPs=75
PullSkillName1=
PullSkillRequiresLineOfSight1=TRUE
PullSkillDistance1=
PullSkillSummon1=
PullSkillName2=
PullSkillRequiresLineOfSight2=TRUE
PullSkillDistance2=
PullSkillSummon2=

[Merc]
MercAssistAt=100
WAR_MercStanceNormal=
WAR_MercStanceNamed=
WAR_MercStanceOOC=
WIZ_MercStanceNormal=
WIZ_MercStanceNamed=
WIZ_MercStanceOOC=
CLR_MercStanceNormal=
CLR_MercStanceNamed=
CLR_MercStanceOOC=
ROG_MercStanceNormal=
ROG_MercStanceNamed=
ROG_MercStanceOOC=

[AA]
AATotal=2
AAAnnounce=FALSE

AAUse1=TRUE
AASpellName1=Flurry of Life
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AANamedOnly1=TRUE
AAConditions1=

AAUse2=TRUE
AASpellName2=Healing Frenzy
AAUseAtMobPctHP2=96
AAStopAtMobPctHP2=5
AARecast2=1s
AANamedOnly2=TRUE
AAConditions2=
AAUse2=FALSE

[Aura]
AuraTotal=1
AuraAnnounce=FALSE
AuraUse1=TRUE
AuraSpellName1=Aura of Divinity
AuraSpellGem1=gem9
AuraSpellIcon1=Aura of Divinity Effect
AuraName1=Aura of Divinity
AuraConditions=

[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
InvisSpell=
InvisSpellGem=
InvisUndeadSpell=Group Perfected Invisibility to Undead
InvisUndeadSpellGem=alt
LevitateSpell=
LevitateSpellGem=

BuffTotal=1
BuffAnnounce=FALSE
BuffUse1=TRUE
BuffSpellName1=Rallied Greater Ward of Vie
BuffSpellIcon1=
BuffSpellGem1=gem9
BuffAlias1=
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions1=

BuffUse2=FALSE
BuffSpellName2=Unified Hand of Surety
BuffSpellIcon2=
BuffSpellGem2=gem11
BuffAlias2=
BuffClasses2=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions2=
BuffConditions=

[Debuff]
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=FALSE
DebuffTotal=1
DebuffTotalIfNamed=1
ForceMemDebuff=FALSE
DebuffAnnounce=FALSE

DebuffUse1=TRUE
DebuffSpellName1=Mark of the Zealot
DebuffSpellGem1=gem7
DebuffUseAtMobPctHP1=96
DebuffStopAtMobPctHP1=1
DebuffRecast1=2m
DebuffMaxTries1=2
DebuffConditions1=
DebuffConditions=

[FightBuff]
FightBuffTotal=1
ForceMemFightBuff=FALSE
FightBuffAnnounce=FALSE

FightBuffUse1=TRUE
FightBuffSpellName1=Yaulp XIV
FightBuffSpellIcon1=Yaulp XIV
FightBuffConditions1=
FightBuffSpellGem1=gem10
FightBuffNamedOnly1=FALSE
FightBuffForAggro1=FALSE
FightBuffConditions=

[HealSingle]
HealPullerName=Tank
HealPullerDist=50
HealSingleTotal=3
HealSingleAnnounce=FALSE

HealSingleUse1=TRUE
HealSingleSpellName1=Fervid Renewal
HealSingleSpellGem1=gem5
HealSingleUseAt1=55
HealSingleStopAt1=99
HealSingleRecast1=1s
HealSingleConditions1=
HealSingleUse2=TRUE

HealSingleSpellName2=Spiritual Remedy
HealSingleSpellGem2=gem3
HealSingleUseAt2=89
HealSingleStopAt2=90
HealSingleRecast2=1s
HealSingleConditions2=
HealSingleUse3=TRUE

HealSingleSpellName3=Ardent Light
HealSingleSpellGem3=gem2
HealSingleUseAt3=70
HealSingleStopAt3=90
HealSingleRecast3=1s
HealSingleConditions3=

HealSingleConditions=

[HealGroup]
HealGroupTotal=1
HealGroupAnnounce=FALSE
HealGroupUse1=TRUE
HealGroupSpellName1=Word of Greater Reformation
HealGroupSpellGem1=gem1
HealGroupUseAt1=60
HealGroupStopAt1=90
HealGroupAvgHP1=70
HealGroupConditions1=

HealGroupConditions=

[HealBalance]
HealBalanceTotal=2
HealBalanceAnnounce=FALSE
HealBalanceUse1=TRUE
HealBalanceSpellName1=Divine Arbitration
HealBalanceSpellGem1=alt
HealBalanceUseAt1=30
HealBalanceStopAt1=70
HealBalanceConditions1=

HealBalanceUse2=TRUE
HealBalanceSpellName2=Aegis of Superior Divinity
HealBalanceConditions2=
HealBalanceSpellGem2=item
HealBalanceUseAt2=30
HealBalanceStopAt2=70
HealBalanceConditions=

[MainTankBuff]
DesignatedTank=NULL
MainTankBuffTotal=2
MainTankBuffAnnounce=FALSE

MainTankBuffUse1=TRUE
MainTankBuffSpellName1=Reverent Elixir
MainTankBuffSpellGem1=gem6
MainTankBuffUseAt1=100
MainTankBuffStopAt1=5
MainTankBuffNamedOnly1=FALSE
MainTankBuffRecast1=2m
MainTankBuffConditions1=

MainTankBuffUse2=TRUE
MainTankBuffSpellName2=Promised Rehabilitation
MainTankBuffSpellGem2=gem4
MainTankBuffUseAt2=100
MainTankBuffStopAt2=5
MainTankBuffNamedOnly2=FALSE
MainTankBuffRecast2=2m
MainTankBuffConditions2=

MainTankBuffConditions=

[Nuke]
NukeTotal=1
NukeTotalIfNamed=1
ForceMemNuke=FALSE
NukeAnnounce=FALSE

NukeUse1=TRUE
NukeSpellName1=Chromacrush
NukeSpellGem1=gem8
NukeUseAtMobPctHP1=90
NukeStopAtMobPctHP1=5
NukeRecast1=1s
NukeConditions1=
NukeConditions=


[Rez]
GrabCorpse=TRUE
RezTotal=2
ForceMemRez=FALSE
RezAnnounce=FALSE
RezUse1=TRUE
RezSpellName1=Blessing of Resurrection
RezConditions1=
RezSpellGem1=alt
RezDuringCombat1=TRUE
RezUse2=TRUE
RezSpellName2=Divine Resurrection
RezConditions2=
RezSpellGem2=alt
RezDuringCombat2=TRUE
RezTrustedTotal=0
RezTrusted1=
RezTrusted2=
RezTrusted3=
RezTrusted4=
RezTrusted5=
RezConditions=
RezAlias1=
RezAlias2=
RezRaidTimer=5m
RezGroupTimer=1m

[SelfBuff]
SelfBuffTotal=1
SelfBuffAnnounce=FALSE
SelfBuffUse1=TRUE
SelfBuffSpellName1=Armor of the Ardent
SelfBuffSpellIcon1=Armor of the Ardent
SelfBuffSpellGem1=gem8
SelfBuffConditions1=
SelfBuffConditions=

[Mana]
ManaConditions=
MedAt=75
MedToFull=FALSE
MedEvenIfNotInOOCRegen=FALSE
MedTimer=10s
QuietMiracle_IfManaBelow=5
QuietMiracle_Others_IfManaBelow=5
UseClarityPotions=FALSE

[Combat]
CombatFrequency1=
CombatFrequency2=
CombatFrequency3=AA|Rez|Mana
CombatFrequency4=Nuke
CombatFrequency5=HealSingle|HealGroup|HealBalance|MainTankBuff|FightBuff|

StandardCombatOptions=Bard|XHeal|HealSingle|HealGroup|HealBalance|HealSelf|HealPet|Disc|MainTankBuff|FightBuff|Lifetap|Stun|AA|Dot|Nuke|Snare|ClickyNuke|Jolt|Rez|ModRod|Mana|Merc

[Roles]
SetRoles=TRUE
GroupLeader=Tank
GroupMainTank=Tank
GroupMainAssist=Tank
GroupPuller=NULL
GroupXTarget1=Group Assist Target
RaidXTarget1=Raid Assist 1 Target

[AAtoBuy]
AABuy=FALSE
AABuyChannel=/echo
AABuyAt=25
AABuyMode=Classic
AABuyPageOrder=Class|Archetype|General|Special
AAActivatedOnly=FALSE
SetAAPctOnLevelTo=0
LimitedGeneral=
LimitedArchetype=
LimitedClass=
LimitedSpecial=
AACount=0

[GoM]
GoMConditions=
 
I did find something interesting. I watched the cleric while the macro was running and noticed he was cycling through every toon, even mercs, and the chanter pet. So until he cycled through everybody, he would not answer the follow command.

The ini you posted has a lot of issues and for whatever reason, you insist on using old spells instead of new ones.

First, thanks for the thorough eval. I was more focused on leveling the cleric than keeping the INI up to date, hence the old spells.

1) Get rid of all the stuff you don't need or don't use. I've noticed it makes a small difference and adds up. You have so many things set to don't use that doesn't need to be there and if it was turned on, you wouldn't like the results.

A lot of shit that I remove comes back. For example, I cut out all the XHeal stuff and as soon as I run the macro again, it returns. Ditto the standard combat options. I take stuff like Bard and Dot out and they return.

2) Spell Casting Subtlety is listed. I'm assuming you are in a group since your melee is turned off. In that case, why would you ever want this turned off? Get rid of it.

No I want it for named fights.

3) Your aura section was filled in incorrectly. The Icon section was wrong and your aura name was missing. On a side note, have you not completed the AA for the second aura slot or do you not have the Aura of the Reverent spell?

Again, I let that slide while I focused on leveling.

4) You misspelled Vie on Rallied Greater Ward of Vie.

5) And since you are using Vie, I'm assuming this cleric is 105. If this assumption is correct, is there a reason you are using Mark of the Zealot instead of Mark of Vicarum?

Mark, and the nuke, are both removed so the cleric will focus on healing.
8) Word of Greater Reformation isn't a heal balance, it's a group heal. Remove it and add in Divine Arbitration.

A group heal is good enough for heal balance, no?

10) On your HoT that you are using for your MT buff, why use Reverent Elixir instead of Ardent Elixer or even Elixer of the Seas?

Again, I let it slide to level.

11) Any reason you are using Chromacrush rather than Chromabash?

I don't use the nuke any more.

13) Dot, Heal Pet, XHeal, Clicky Maintance, Clicky Nuke sections are all not used. Delete them.

Again, heal pet and that other shit keeps getting added back.

Anyway, those were some of the issues I found off the top of my head. Here's a cleaned up version of what you submitted. By no means have I tested this or anything. I just noticed some issues and fixed them. The points where I asked why you are using older spells have not been replaced since I wasn't sure if you wanted to use the newer spell:

Thank you very much. I'll get to testing.
 
Last edited:
1. The reason that stuff returns after you remove it is because you never removed it from the OptionsCheck at the beginning of the ini.

2. Spell casting subtlety doesn't work that way. It used to be a passive AA where you bought it and it lowered your aggro. Some classes such as necros didn't like that idea that, while it worked well in groups, it sucked for snare kiting where you didn't want your pet to take aggro. In response, DBG made it so you can enable or disable it. It's not your traditional activated aa where you hit it and it creates a buff for 2 minutes. As it stands, you may be disabling it during named fights and increasing your cleric's agro. If you are not tanking with your cleric, I can't think of any reason you would want to disable it hence why put it in.

3. Typically I put Heal Balance first on the CombatFrequency5 setting because it's my "oh shit" heal and I want it to check first. I wouldn't use Word there because a) its already being checked for in your Group Heal section. and b) it has a 4 second base casting time or 2.8 if you have top focus effects. If shit is hitting the fan, do you really want your cleric to cast a 4 second heal that is subject to global cooldowns or would you rather it cast a .8 second balance that is not limited by global cooldown?

4. Last and not least, I perfectly understand why you didn't bother updating your ini as you leveled. To be honest though, I would have definitely used the bot plugin that way you didn't have to worry about updating ini files every level and then could have done a complete ini at 105 or stayed with the plugin and made some tweeks to that ini section.

I hope none of this sounds condescending. I'm just trying to offer some suggestions for when you do take the time to fill out the ini, you can get more out of the bot.
 
Last edited:
Not at all. I know context doesn't come through the net very well but I never took offense.

I dont use the bot plugin because it doesn't have the fine grain control of the macro, like saving AA for named. Notice that we can trade and share macro INIs but not the plugin. When the day comes people are sharing and trading INIs for the plugin I'll look at it.
 
Not at all. I know context doesn't come through the net very well but I never took offense.

I dont use the bot plugin because it doesn't have the fine grain control of the macro, like saving AA for named. Notice that we can trade and share macro INIs but not the plugin. When the day comes people are sharing and trading INIs for the plugin I'll look at it.
MQ2bot can be be controlled to the exact same fidelity as the macro, only runs faster.
 
Not at all. I know context doesn't come through the net very well but I never took offense.

I dont use the bot plugin because it doesn't have the fine grain control of the macro, like saving AA for named. Notice that we can trade and share macro INIs but not the plugin. When the day comes people are sharing and trading INIs for the plugin I'll look at it.

As Pete said earlier, you do have a lot of control over the plugin. For instance, you mentioned getting AAs or spells to selectively fire. For the plugin you can achieve this one of two ways. The First way is by adjusting the setting in your server ini under the MQ2Bot section that says "AACutoffTime=10" What this means is any AA that is listed when you start up the bot with a refresh time of 10 min or less, it will fire on any mob. Anything larger than that, and it will only fire on named mobs (I think. Pete can correct me on this) . If you set it lower, it will save anything over that amount for named only. So if you set it to say AACutoffTime=7, any listed AA with a refresh timer of 7 minutes or less will fire when its up and anything greater than 7 will fire only on named.

Now lets say you want it to be a mix. If you have one AA with an 8 minute refresh that you want for named only and an AA with a ten minute refresh that you want it to pop whenever its up, you obviously can't fix it with the AACutoffTime adjustment. In this case, you keep the adjustment at 10 and let's assume when you typed /bot on, the AA you wanted to save for named was called FightBuff3=Frenzied Devistation. Go to your server ini and scroll down to the MQ2bot section and add in the following line near the bottom:

FightBuffIf3=${Bot.Named}

With that command, the FightBuff3 will only fire if the bot senses it is a named. You can also use ${Target.Named} although Pete says the Bot.Named is more accurate so I'll believe him. You can set conditions for any spell or AA listed when you /bot on. All you have to do is add the condition to the server ini in the MQ2bot section. Want Nuke0 to only cast when there are 3 or more mobs in camp? Just put NukeIf0=${Bot.AddCount[100]}>2. What this tells the plugin is to fire Nuke0 when there are more than 2 mobs within 100 range of you (in other words in camp). You can pretty much personalize any aa or spell you want with the if commands. If you look at the Bot plugin Wiki, Pete has added a lot of really useful TLOs that make filling out conditions a lot easier.

With that said I have found some quarks when setting up the bot plugin for my team (which I need to ask Pete about in the MQ2bot thread) that may be a road block for some. In addition, I have found that some of my characters do far better with the plugin such as the bard and shaman, while others such as my mage nearly double the damage operating on the macro instead of the plugin. Once you get your characters where you want them and are ready to fill out the ini files, I would try both and see which one works best for you.
 
Look if it wasn't obvious, I'm not very good at programming INIs. I'm very dependent on shared INIs for the macro. When we get to the point we are trading INIs for the plugin like we do for the macro I'll look at it. Right now I'd rather stay with what I sorta know than something I don't know at all.
 
No worries, I understand. If you have a change of heart and are interested in learning about it, you are more than welcome to PM me and I'll help you out.
 
BTW your edits are working nicely. So thanks again.
 
BTW your edits are working nicely. So thanks again.
You might be interested in the core mq2bot changes I am currently making as it will include the option to have inis identical to bot.mac that you can share around. It will need some testing, but once done it will let you decide every spell to use, or automatically do it for you, or a combination in between. I can't speak to when it will be done because that is entirely dependent on user testing and feedback. Could be days, could be weeks, could be longer.
 
BTW your edits are working nicely. So thanks again.
You might be interested in the core mq2bot changes I am currently making as it will include the option to have inis identical to bot.mac that you can share around. It will need some testing, but once done it will let you decide every spell to use, or automatically do it for you, or a combination in between. I can't speak to when it will be done because that is entirely dependent on user testing and feedback. Could be days, could be weeks, could be longer.

While I'm working to make small fixes to bot.mac, the only things that really turns me away from the plugin are:

1. I can't fix things when they are broke, because it is closed source as far as I can tell.
2. I can't fine tune them in the INI
3. When a crash happens, it takes a lot longer to recover as all of EQ crashes, as opposed to the mac failing with an error message to go diagnose.

I'm happy #2 is slowly being solved, but what about #1? Am I wrong and have missed the source somewhere? I'd love to try to contribute, though it's been years since I've done C/C++, I live in python/ruby/bash/Java/various DSL land for work, not C, but I'd be happy to try. If user testing is more useful, I can stop looking at bot.mac and help there. Also, from my limited understanding of how MQ injects itself, I assume there's no good way around #3?
 
BTW your edits are working nicely. So thanks again.
You might be interested in the core mq2bot changes I am currently making as it will include the option to have inis identical to bot.mac that you can share around. It will need some testing, but once done it will let you decide every spell to use, or automatically do it for you, or a combination in between. I can't speak to when it will be done because that is entirely dependent on user testing and feedback. Could be days, could be weeks, could be longer.

While I'm working to make small fixes to bot.mac, the only things that really turns me away from the plugin are:

1. I can't fix things when they are broke, because it is closed source as far as I can tell.
2. I can't fine tune them in the INI
3. When a crash happens, it takes a lot longer to recover as all of EQ crashes, as opposed to the mac failing with an error message to go diagnose.

I'm happy #2 is slowly being solved, but what about #1? Am I wrong and have missed the source somewhere? I'd love to try to contribute, though it's been years since I've done C/C++, I live in python/ruby/bash/Java/various DSL land for work, not C, but I'd be happy to try. If user testing is more useful, I can stop looking at bot.mac and help there. Also, from my limited understanding of how MQ injects itself, I assume there's no good way around #3?
#1. I occasionally post parts of the code, but it is otherwise limited to those with developer access. I was able to obtain developer access by contributing to the baseline source code via adding TLO members and other things as well as creating and updating bot. I can't speak for fry/htw but it was obviously the case for me that if you show an initiative and contribute then dev access isnt out of the realm of possibility. i knew 0 c/c++ until i started writing mq2bot. i am slowly getting better at plugin coding but i still dont know how to do the base code.

#3. CTD is it. though if you have all the source code and pdb files you can at least see where it crashed. I asked for help here and there to write the plugin but it was really just trial and error and so i have a lot of bad practices in there that brainiac/htw/fry will occasionally correct to make things stop crashing. Now that I can am familiar enough with c/c++ for what is in the plugin, i want to go back and make it better. I have been stuck on a spawn tracker/buff routine and realized some other core code needs to be in place to reduce the number of checks/calculations/redundancy. I am trying to frontload as much info as possible on the load (which takes less than a second) so that I can remove hundreds to thousands of checks per cycle while massively expanding customization options.
 
BTW your edits are working nicely. So thanks again.
You might be interested in the core mq2bot changes I am currently making as it will include the option to have inis identical to bot.mac that you can share around. It will need some testing, but once done it will let you decide every spell to use, or automatically do it for you, or a combination in between. I can't speak to when it will be done because that is entirely dependent on user testing and feedback. Could be days, could be weeks, could be longer.

While I'm working to make small fixes to bot.mac, the only things that really turns me away from the plugin are:

1. I can't fix things when they are broke, because it is closed source as far as I can tell.
2. I can't fine tune them in the INI
3. When a crash happens, it takes a lot longer to recover as all of EQ crashes, as opposed to the mac failing with an error message to go diagnose.

I'm happy #2 is slowly being solved, but what about #1? Am I wrong and have missed the source somewhere? I'd love to try to contribute, though it's been years since I've done C/C++, I live in python/ruby/bash/Java/various DSL land for work, not C, but I'd be happy to try. If user testing is more useful, I can stop looking at bot.mac and help there. Also, from my limited understanding of how MQ injects itself, I assume there's no good way around #3?
#1. I occasionally post parts of the code, but it is otherwise limited to those with developer access. I was able to obtain developer access by contributing to the baseline source code via adding TLO members and other things as well as creating and updating bot. I can't speak for fry/htw but it was obviously the case for me that if you show an initiative and contribute then dev access isnt out of the realm of possibility. i knew 0 c/c++ until i started writing mq2bot. i am slowly getting better at plugin coding but i still dont know how to do the base code.

#3. CTD is it. though if you have all the source code and pdb files you can at least see where it crashed. I asked for help here and there to write the plugin but it was really just trial and error and so i have a lot of bad practices in there that brainiac/htw/fry will occasionally correct to make things stop crashing. Now that I can am familiar enough with c/c++ for what is in the plugin, i want to go back and make it better. I have been stuck on a spawn tracker/buff routine and realized some other core code needs to be in place to reduce the number of checks/calculations/redundancy. I am trying to frontload as much info as possible on the load (which takes less than a second) so that I can remove hundreds to thousands of checks per cycle while massively expanding customization options.

That's what I figured on both fronts. Thanks for the info =) I'll just do my thing then, and what happens happens.