Macro Bot.mac Updates and Bug Fixes by [40oz]

Hey Chatwiththisname,

Not sure if you found this one, I havent looked at your newest version. But in my inis I had abilities set to fire if ${AddCount}>some number, and they would fire at the wrong times.

Eventually I tracked it down to the add handler section.

Code:
	:found
	/if (${EchoAddsUpdate} && ${KillID} && ${KillID}!=${TarID} && (${Spawn[id ${KillID}].Type.Equal[npc]}||${Spawn[id ${KillID}].Master.Type.Equal[npc]}||${Spawn[id ${KillID}].Master.Type.Equal[corpse]})) {
		/if (${Me.XTarget}) {
			/for i 1 to ${XTarget.Max}
				/call AddHandlerScan ${Me.XTarget[${i}].ID} ${i}
			/next i
		}
		/call ${EchoSub} "${Purple}Priority Target ${Yellow} = ${ConColor[${Select[|${Spawn[id ${KillID}].ConColor}|,|GREY|,|GREEN|,|LIGHT BLUE|,|BLUE|,|WHITE|,|YELLOW|,|RED|]}]} ${Spawn[id ${KillID}]}"
	}

Sub AddHandlerScan takes 3 variables, but that call above only has two, so it pops up as "NULL" and and iff block in AddHandlerScan then skips the xtarget PC check. So it adds PCs on your xtarget to addlist (and tries to debuff them and stuff).

I fixed by changing the /call to
Code:
				/call AddHandlerScan ${Me.XTarget[${i}].ID} ${i} 0

Cheers
 
Hey Chatwiththisname,

Not sure if you found this one, I havent looked at your newest version. But in my inis I had abilities set to fire if ${AddCount}>some number, and they would fire at the wrong times.

Eventually I tracked it down to the add handler section.

Code:
	:found
	/if (${EchoAddsUpdate} && ${KillID} && ${KillID}!=${TarID} && (${Spawn[id ${KillID}].Type.Equal[npc]}||${Spawn[id ${KillID}].Master.Type.Equal[npc]}||${Spawn[id ${KillID}].Master.Type.Equal[corpse]})) {
		/if (${Me.XTarget}) {
			/for i 1 to ${XTarget.Max}
				/call AddHandlerScan ${Me.XTarget[${i}].ID} ${i}
			/next i
		}
		/call ${EchoSub} "${Purple}Priority Target ${Yellow} = ${ConColor[${Select[|${Spawn[id ${KillID}].ConColor}|,|GREY|,|GREEN|,|LIGHT BLUE|,|BLUE|,|WHITE|,|YELLOW|,|RED|]}]} ${Spawn[id ${KillID}]}"
	}

Sub AddHandlerScan takes 3 variables, but that call above only has two, so it pops up as "NULL" and and iff block in AddHandlerScan then skips the xtarget PC check. So it adds PCs on your xtarget to addlist (and tries to debuff them and stuff).

I fixed by changing the /call to
Code:
				/call AddHandlerScan ${Me.XTarget[${i}].ID} ${i} 0

Cheers

From what I've come to understand of parameters in sub routines is that if you don't supply it an arguement, NULL is the same as false. In this case the 3rd parameter is ForceAdd, the check for /if (!${ForceAdd}) would return !FALSE which would evaluate true for all intents and purposes. At least I would expect it too as the slot would actually not be literally "NULL" so much as blank. But hey, if it works then I'm not one to argue with it. It is always better to use all the available parameters. I have to take a break from this for a bit unfortunately. Thank you for your patience as I get caught up on the rest of my life lol. If you want to take over editing Poly it wouldn't upset me at all. Just please follow version updates by setting it vYear.MonthDayHour format. IE: v2017.10310100 for me right now if I were to release a new one.

Best of luck. I'll get back to this when I can.
 
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(
 
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(

Load plugin mq2twist
 
Line 2983 was apparently

Code:
/if (!${Defined[${SubName}Use${x}]}) /declare ${SubName}Use${x} bool FALSE

instead of
Code:
/if (!${Defined[${SubName}Use${x}]}) /declare ${SubName}Use${x} bool outer FALSE

giving the variable a scope seemed relevant and since every subroutine's load uses the sub this runs in I figured I'd throw out a quick fix as it could cause issues in every sub. Not likely to fix much other than the declaration of this boolean variable for each sub.

Again, not really working on this right now.
 

Attachments

  • bot40.mac
    507.3 KB · Views: 14
Last edited:
Good news is, pulling works again on my bard. Bad news is, song functionality is rarely working. The single Selo's twist works maybe once or twice an hour.

Most of the time, the bard isn't signing anything. I always use him to pull so I'm not sure if it would be the same if he was just sitting in camp.

Also, Boastful Bellow is not firing for me anymore, all the pulling is by proximity.

Other than the song issues, it seems pretty good now.
 
Last edited:
Hey guys.. So I am just coming back after a break and I've been reading up on the continued support for bot40. First off you guys rock! secondly the threads a bit hard to follow as to the current state of the mac and what needs to be done vs what has been done. I tried grabbing the most current version in this thread and it laughs at me when I tried to load it. I'm getting various errors. I then backed up my old ini and created a new one and get errors right out of the gate. It almost looks like the mac is looking for some of the AA's that seem to have been combined recently. "you don't have this ability or item".

Is everyone having issues or did I not read something correctly in the thread?

Code:
https://pastebin.com/Y4j7aZUL
 
Also... "new" bot40 generated INI ( for my mage)
Spoiler:

Code:
[Settings]
OptionsCheck=|Pulling|Merc|AA|Aura|Buff|ClickyMaintenance|ClickyNuke|Fade|Debuff|Dot|FightBuff|HealPet|Nuke|Pet|SelfBuff|MainTankBuff|Mana|ModRod|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|Buff|ClickyMaintenance|ClickyNuke|Fade|Debuff|Dot|FightBuff|HealPet|Nuke|Pet|SelfBuff|MainTankBuff|Mana|ModRod|
BotVersion=v2017.11011040
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
UseCamp=TRUE
CampRadius=30
CampRadiusMax=150
[Assist]
AssistType=3
AssistAt=99
AttackRange=150
AttackCommand=/attack on
AmIOffTank=FALSE
UseMelee=FALSE
UseArchery=FALSE
ArcheryMaxDistance=200
ArcheryMinDistance=35
SetTargetMessage=Kill_this
BurnModeAlias=BurnModeAlias
AssistPC=XXX
[Follow]
FollowMethod=stick|30 healer
FollowCommand=FollowCommand
StopFollowCommand=StopFollowCommand
MoveUpCommand=MoveUpCommand
[ImHit]
ImHitConditions=TRUE
ImHitTotal=3
ImHitAnnounce=FALSE
ImHitUse1=FALSE
ImHitSpellName1=----
ImHitRecast1=1s
ImHitUseAtMyHP1=30
ImHitConditions1=TRUE
ImHitUse2=FALSE
ImHitSpellName2=----
ImHitRecast2=1s
ImHitUseAtMyHP2=30
ImHitConditions2=TRUE
ImHitUse3=FALSE
ImHitSpellName3=----
ImHitRecast3=1s
ImHitUseAtMyHP3=30
ImHitConditions3=TRUE
[Campfire]
CF_Item1=Fellowship Kit:    
CF_Item2=Fellowship Lumber Bundle:    
[Pulling]
AlertListClear=FALSE
AlertListClearTimer=60m
PullConColor=LIGHT BLUE,BLUE,WHITE,YELLOW
CourseCorrectionTimer=4
LeapName=12345
PullSkillName1=/attack on
PullSkillGem1=----
PullSkillRequiresLineOfSight1=TRUE
PullSkillDistance1=----
AmIPuller=FALSE
PullRadius=600
PullZRadius=20
PullCastRange=150
MQ2NavPullRadius=10
MQ2NavPullZRadius=10
ReturnActionTotal=0
PullingMethod=Standard
PullingAnnounceCMD=----
PullingTotal=1
PullAtMyHPs=75
PullSkillSummon1=----
PullSkillName2=/attack on
PullSkillRequiresLineOfSight2=TRUE
PullSkillGem2=----
PullSkillDistance2=----
PullSkillSummon2=----
[Merc]
MercAssistAt=100
[AA]
AAConditions=TRUE
AATotal=10
AAAnnounce=FALSE
AAUse1=FALSE
AASpellName1=----
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AANamedOnly1=FALSE
AAConditions1=TRUE
AAUse2=FALSE
AASpellName2=----
AAUseAtMobPctHP2=96
AAStopAtMobPctHP2=5
AARecast2=1s
AANamedOnly2=FALSE
AAConditions2=TRUE
AAUse3=FALSE
AASpellName3=----
AAUseAtMobPctHP3=96
AAStopAtMobPctHP3=5
AARecast3=1s
AANamedOnly3=FALSE
AAConditions3=TRUE
AAUse4=FALSE
AASpellName4=----
AAUseAtMobPctHP4=96
AAStopAtMobPctHP4=5
AARecast4=1s
AANamedOnly4=FALSE
AAConditions4=TRUE
AAUse5=FALSE
AASpellName5=----
AAUseAtMobPctHP5=96
AAStopAtMobPctHP5=5
AARecast5=1s
AANamedOnly5=FALSE
AAConditions5=TRUE
AAUse6=FALSE
AASpellName6=----
AAUseAtMobPctHP6=96
AAStopAtMobPctHP6=5
AARecast6=1s
AANamedOnly6=FALSE
AAConditions6=TRUE
AAUse7=FALSE
AASpellName7=----
AAUseAtMobPctHP7=96
AAStopAtMobPctHP7=5
AARecast7=1s
AANamedOnly7=FALSE
AAConditions7=TRUE
AAUse8=FALSE
AASpellName8=----
AAUseAtMobPctHP8=96
AAStopAtMobPctHP8=5
AARecast8=1s
AANamedOnly8=FALSE
AAConditions8=TRUE
AAUse9=FALSE
AASpellName9=----
AAUseAtMobPctHP9=96
AAStopAtMobPctHP9=5
AARecast9=1s
AANamedOnly9=FALSE
AAConditions9=TRUE
AAUse10=FALSE
AASpellName10=----
AAUseAtMobPctHP10=96
AAStopAtMobPctHP10=5
AARecast10=1s
AANamedOnly10=FALSE
AAConditions10=TRUE
[Aura]
AuraConditions=TRUE
AuraTotal=1
AuraAnnounce=FALSE
AuraUse1=FALSE
AuraSpellName1=----
AuraSpellIcon1=----
AuraSpellGem1=----
[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
BuffConditions=TRUE
InvisUndeadSpell=Group Perfected Invisibility to Undead
InvisUndeadSpellGem=alt
BuffTotal=0
BuffAnnounce=FALSE
BuffUse1=TRUE
BuffSpellName1=Perfected Levitation
BuffSpellIcon1=Coronal Skin
BuffSpellGem1=gem12
BuffAlias1=----
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions1=TRUE
BuffUse2=TRUE
BuffSpellName2=Circle of Flameweaving
BuffSpellIcon2=Circle of Flameweaving Rk. II
BuffSpellGem2=----
BuffAlias2=----
BuffClasses2=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions2=TRUE
BuffUse3=TRUE
BuffSpellName3=----
BuffSpellIcon3=----
BuffSpellGem3=----
BuffAlias3=----
BuffClasses3=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions3=TRUE
BuffUse4=TRUE
BuffSpellName4=----
BuffSpellIcon4=----
BuffSpellGem4=----
BuffAlias4=----
BuffClasses4=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions4=TRUE
BuffUse5=TRUE
BuffSpellName5=----
BuffSpellIcon5=----
BuffSpellGem5=----
BuffAlias5=----
BuffClasses5=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions5=TRUE
BuffUse6=TRUE
BuffSpellName6=----
BuffSpellIcon6=----
BuffSpellGem6=----
BuffAlias6=----
BuffClasses6=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions6=TRUE
BuffUse7=TRUE
BuffSpellName7=----
BuffSpellIcon7=----
BuffSpellGem7=----
BuffAlias7=----
BuffClasses7=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions7=TRUE
[ClickyMaintenance]
clickies=0
[ClickyNuke]
ClickyNukeConditions=TRUE
ClickyNukeTotal=2
ClickyNukeAnnounce=FALSE
ClickyNukeUse1=TRUE
ClickyNukeName1=Selrach's Flameweaver Robe
ClickyNukeSpellGem1=gem12
ClickyNukeRecast1=Shock of Darksteel
ClickyNukeUseAtMobPctHP1=96
ClickyNukeStopAtMobPctHP1=1
ClickyNukeNamedOnly1=FALSE
ClickyNukeConditions1=TRUE
ClickyNukeUse2=TRUE
ClickyNukeName2=Praetorian Guardian
ClickyNukeSpellGem2=gem12
ClickyNukeRecast2=1s
ClickyNukeUseAtMobPctHP2=96
ClickyNukeStopAtMobPctHP2=1
ClickyNukeNamedOnly2=FALSE
ClickyNukeConditions2=TRUE
ClickyNukeUse3=TRUE
ClickyNukeName3=Storm of Many
ClickyNukeSpellGem3=gem12
ClickyNukeRecast3=Wand of Dark Modulation
ClickyNukeUseAtMobPctHP3=96
ClickyNukeStopAtMobPctHP3=1
ClickyNukeNamedOnly3=FALSE
ClickyNukeConditions3=TRUE
[Fade]
FadeConditions=TRUE
FadeTotal=1
FadeAnnounce=FALSE
FadeUse1=FALSE
FadeSpellName1=Drape of Shadows
FadeSpellGem1=gem12
FadeUseAtMyHP1=Shock of Darksteel
FadeConditions1=TRUE
[Debuff]
DebuffConditions=TRUE
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=FALSE
DebuffTotal=1
DebuffTotalIfNamed=1
ForceMemDebuff=FALSE
DebuffAnnounce=FALSE
DebuffUse1=TRUE
DebuffSpellName1=Malosinete
DebuffSpellGem1=gem12
DebuffUseAtMobPctHP1=Malosenete
DebuffStopAtMobPctHP1=1
DebuffRecast1=2m
DebuffMaxTries1=2
DebuffConditions1=TRUE
[GoM]
GoMConditions=TRUE
GoMTotal=0
GoMTotalIfNamed=0
GoMAnnounce=FALSE
GoMUse1=TRUE
GoMSpellName1=----
GoMSpellIcon1=----
GoMSpellGem1=----
[Dot]
DotConditions=TRUE
DoTTotal=1
DoTTotalIfNamed=1
ForceMemDoT=FALSE
DoTAnnounce=FALSE
DoTUse1=TRUE
DoTSpellName1=----
DoTSpellGem1=----
DoTUseAtMobPctHP1=96
DoTStopAtMobPctHP1=30
DoTRecast1=1s
DoTMaxTries1=2
DoTConditions1=TRUE
[FightBuff]
FightBuffConditions=TRUE
FightBuffTotal=3
ForceMemFightBuff=FALSE
FightBuffAnnounce=FALSE
FightBuffUse1=TRUE
FightBuffSpellName1=Silent Casting
FightBuffSpellIcon1=Twincast Rk. III
FightBuffSpellGem1=gem10
FightBuffForAggro1=FALSE
FightBuffConditions1=TRUE
FightBuffUse2=TRUE
FightBuffSpellName2=----
FightBuffSpellIcon2=----
FightBuffSpellGem2=----
FightBuffNamedOnly2=FALSE
FightBuffForAggro2=FALSE
FightBuffConditions2=TRUE
FightBuffUse3=TRUE
FightBuffSpellName3=----
FightBuffSpellIcon3=----
FightBuffSpellGem3=----
FightBuffNamedOnly3=FALSE
FightBuffForAggro3=FALSE
FightBuffConditions3=TRUE
FightBuffNamedOnly1=----
[HealPet]
HealPetConditions=TRUE
HealPetTotal=2
HealPetAnnounce=FALSE
HealPetUse1=TRUE
HealPetSpellName1=----
HealPetSpellGem1=----
HealPetUseAt1=50
HealPetStopAt1=90
HealPetRecast1=1s
HealPetConditions1=TRUE
HealPetUse2=TRUE
HealPetSpellName2=----
HealPetSpellGem2=----
HealPetUseAt2=50
HealPetStopAt2=90
HealPetRecast2=1s
HealPetConditions2=TRUE
[Nuke]
NukeConditions=TRUE
NukeTotal=10
NukeTotalIfNamed=10
ForceMemNuke=FALSE
NukeAnnounce=FALSE
NukeUse1=TRUE
NukeSpellName1=Force of Elements
NukeSpellGem1=gem12
NukeUseAtMobPctHP1=96
NukeStopAtMobPctHP1=1
NukeRecast1=1s
NukeConditions1=TRUE
NukeUse2=TRUE
NukeSpellName2=Searing Sands
NukeSpellGem2=----
NukeUseAtMobPctHP2=96
NukeStopAtMobPctHP2=1
NukeRecast2=1s
NukeConditions2=TRUE
NukeUse3=TRUE
NukeSpellName3=Eradicate the Unnatural
NukeSpellGem3=----
NukeUseAtMobPctHP3=96
NukeStopAtMobPctHP3=1
NukeRecast3=1s
NukeConditions3=TRUE
NukeUse4=TRUE
NukeSpellName4=Darksteel Malosenete
NukeSpellGem4=----
NukeUseAtMobPctHP4=96
NukeStopAtMobPctHP4=1
NukeRecast4=1s
NukeConditions4=TRUE
NukeUse5=TRUE
NukeSpellName5=Fickle Conflagration
NukeSpellGem5=----
NukeUseAtMobPctHP5=96
NukeStopAtMobPctHP5=1
NukeRecast5=1s
NukeConditions5=TRUE
NukeUse6=TRUE
NukeSpellName6=Chaotic Fire
NukeSpellGem6=gem6
NukeUseAtMobPctHP6=96
NukeStopAtMobPctHP6=1
NukeRecast6=1s
NukeConditions6=TRUE
NukeUse7=TRUE
NukeSpellName7=----
NukeSpellGem7=----
NukeUseAtMobPctHP7=96
NukeStopAtMobPctHP7=1
NukeRecast7=1s
NukeConditions7=TRUE
NukeUse8=TRUE
NukeSpellName8=----
NukeSpellGem8=----
NukeUseAtMobPctHP8=96
NukeStopAtMobPctHP8=1
NukeRecast8=1s
NukeConditions8=TRUE
NukeUse9=TRUE
NukeSpellName9=----
NukeSpellGem9=----
NukeUseAtMobPctHP9=96
NukeStopAtMobPctHP9=1
NukeRecast9=1s
NukeConditions9=TRUE
NukeUse10=TRUE
NukeSpellName10=----
NukeSpellGem10=----
NukeUseAtMobPctHP10=96
NukeStopAtMobPctHP10=1
NukeRecast10=1s
NukeConditions10=TRUE
[Pet]
PetGHOLD=TRUE
UsePet=FALSE
PetSpellGem=gem1
PetSpell=Convocation of Water
UsePetFocusAA=TRUE
PetAttackAt=97
ShrinkPet=TRUE
ShrinkPetIfHeightAbove=1.5
ShrinkPetSpell=Diminutive Companion
ShrinkPetSpellGem=alt
DoPetHeals=FALSE
PetHealAt=50
UseAAPetHeal=TRUE
PetAAHealAt=5
DoPetBuffs=FALSE
PetBuffRecheck=10s
PetBuffTotal=0
PetBuffRecast1=1s
PetBuffRecast2=1s
PetBuffRecast3=1s
PetBuffRecast4=1s
PetBuffRecast5=1s
PetBuffRecast6=1s
PetBuffName1=Second Wind Ward
PetBuffSpell1=Second Wind Ward
PetBuffGem1=alt
PetBuffRecast7=1s
[SelfBuff]
SelfBuffConditions=TRUE
SelfBuffTotal=0
SelfBuffAnnounce=FALSE
SelfBuffUse1=TRUE
SelfBuffSpellName1=Elemental Ward
SelfBuffSpellIcon1=Praetorian Guardian
SelfBuffSpellGem1=----
SelfBuffConditions1=TRUE
SelfBuffUse2=TRUE
SelfBuffSpellName2=Shield of Consequence
SelfBuffSpellIcon2=----
SelfBuffSpellGem2=----
SelfBuffConditions2=TRUE
SelfBuffUse3=TRUE
SelfBuffSpellName3=Shield of the Pellarus
SelfBuffSpellIcon3=----
SelfBuffSpellGem3=----
SelfBuffConditions3=TRUE
SelfBuffUse4=TRUE
SelfBuffSpellName4=Chaotic Benefaction
SelfBuffSpellIcon4=----
SelfBuffSpellGem4=----
SelfBuffConditions4=TRUE
SelfBuffUse5=TRUE
SelfBuffSpellName5=Shieldstone Bodyguard
SelfBuffSpellIcon5=----
SelfBuffSpellGem5=----
SelfBuffConditions5=TRUE
[MainTankBuff]
DesignatedTank=NULL
MainTankBuffConditions=TRUE
[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
[Custom]
CustomCombatTotal=0
CustomRestTotal=0
[Mana]
MedAt=75
MedToFull=FALSE
MedEvenIfNotInOOCRegen=FALSE
MedTimer=10s
Harvest_IfManaBelow=70
DontHarvest_UnlessManaBelow=70


"OLD" INI

Spoiler:
Code:
[Settings]
OptionsCheck=|Pulling|Merc|AA|Aura|Buff|ClickyNuke|Fade|Debuff|Dot|FightBuff|HealPet|Nuke|Pet|SelfBuff|MainTankBuff|Mana|ModRod|
OptionsCheckRaid=|Pulling|Merc|AA|Aura|Buff|ClickyNuke|Fade|Debuff|FightBuff|HealPet|Nuke|Pet|SelfBuff|MainTankBuff|Mana|ModRod|
RestrictedZones=344,202,151,345
LootNPCs=FALSE
AuthorizedUsers=xxx
Verbose=FALSE
MyChannel=bcF
AnnounceChannel=bc
AnnounceEvents=TRY|CAST_SUCCESS|CAST_IMMUNE|CAST_RESIST
EQBCAnnounceAdds=FALSE
AutoHideNPCCorpses=TRUE
ClearTargetDataAlias=ClearTargetDataAlias
EmergencyAlias=EmergencyAlias
EmergencySkill=EmergencySkill
ImmunityCheck=TRUE
BotVersion=v2014.0706
UseCamp=TRUE
CampRadius=30
CampRadiusMax=150


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

[Follow]
FollowMethod=stick|30 healer
FollowCommand=thisway
StopFollowCommand=holdit
MoveUpCommand=forwardmarch


ImHitTotal=3
ImHitAnnounce=FALSE

ImHitUse1=TRUE
ImHitSpellName1=Companion of Necessity
ImHitRecast1=1s
ImHitUseAtMyHP1=45
ImHitConditions1=

ImHitUse2=TRUE
ImHitSpellName2=Shared Health
ImHitRecast2=1s
ImHitUseAtMyHP2=55
ImHitConditions2=

ImHitUse3=TRUE
ImHitSpellName3=Stone Core
ImHitRecast3=1s
ImHitUseAtMyHP3=65
ImHitConditions3=
ImHitConditions=

           

[Merc]
MercAssistAt=100


[AA]
AATotal=25
AAAnnounce=TRUE

AAUse1=TRUE
AASpellName1=Frenzied Burnout
AAUseAtMobPctHP1=96
AAStopAtMobPctHP1=5
AARecast1=1s
AANamedOnly1=True
AAConditions1=

AAUse2=TRUE
AASpellName2=Fortify Companion
AAUseAtMobPctHP2=89
AAStopAtMobPctHP2=5
AARecast2=1s
AANamedOnly2=True
AAConditions2=

AAUse3=TRUE
AASpellName3=Shield of the Elements
AAUseAtMobPctHP3=96
AAStopAtMobPctHP3=5
AARecast3=1s
AANamedOnly3=FALSE
AAConditions3=

AAUse4=TRUE
AASpellName4=Servent of Ro
AAUseAtMobPctHP4=96
AAStopAtMobPctHP4=5
AARecast4=1s
AANamedOnly4=TRUE
AAConditions4=

AAUse5=FALSE
AASpellName5=Host of Elements
AAUseAtMobPctHP5=96
AAStopAtMobPctHP5=5
AARecast5=1s
AANamedOnly5=TRUE
AAConditions5=

AAUse6=TRUE
AASpellName6=First Spire
AAUseAtMobPctHP6=96
AAStopAtMobPctHP6=5
AARecast6=1s
AANamedOnly6=FALSE
AAConditions6=

AAUse7=TRUE
AASpellName7=Focus of Arcanum
AAUseAtMobPctHP7=96
AAStopAtMobPctHP7=5
AARecast7=1s
AANamedOnly7=TRUE
AAConditions7=

AAUse8=TRUE
AASpellName8=Arcane Whisper
AAUseAtMobPctHP8=96
AAStopAtMobPctHP8=5
AARecast8=1s
AANamedOnly8=TRUE
AAConditions8=

AAUse9=TRUE
AASpellName9=Improved Twincast
AAUseAtMobPctHP9=90
AAStopAtMobPctHP9=5
AARecast9=1s
AANamedOnly9=TRUE
AAConditions9=

AAUse10=TRUE
AASpellName10=Velocity
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=
AAUse16=FALSE
AASpellName16=
AAUseAtMobPctHP16=96
AAStopAtMobPctHP16=5
AARecast16=1s
AANamedOnly16=FALSE
AAConditions16=
AAUse17=FALSE
AASpellName17=
AAUseAtMobPctHP17=96
AAStopAtMobPctHP17=5
AARecast17=1s
AANamedOnly17=FALSE
AAConditions17=
AAUse18=FALSE
AASpellName18=
AAUseAtMobPctHP18=96
AAStopAtMobPctHP18=5
AARecast18=1s
AANamedOnly18=FALSE
AAConditions18=
AAUse19=FALSE
AASpellName19=
AAUseAtMobPctHP19=96
AAStopAtMobPctHP19=5
AARecast19=1s
AANamedOnly19=FALSE
AAConditions19=
AAUse20=FALSE
AASpellName20=
AAUseAtMobPctHP20=96
AAStopAtMobPctHP20=5
AARecast20=1s
AANamedOnly20=FALSE
AAConditions20=
AAUse21=FALSE
AASpellName21=
AAUseAtMobPctHP21=96
AAStopAtMobPctHP21=5
AARecast21=1s
AANamedOnly21=FALSE
AAConditions21=
AAUse22=FALSE
AASpellName22=
AAUseAtMobPctHP22=96
AAStopAtMobPctHP22=5
AARecast22=1s
AANamedOnly22=FALSE
AAConditions22=
AAUse23=FALSE
AASpellName23=
AAUseAtMobPctHP23=96
AAStopAtMobPctHP23=5
AARecast23=1s
AANamedOnly23=FALSE
AAConditions23=
AAUse24=FALSE
AASpellName24=
AAUseAtMobPctHP24=96
AAStopAtMobPctHP24=5
AARecast24=1s
AANamedOnly24=FALSE
AAConditions24=
AAUse25=FALSE
AASpellName25=
AAUseAtMobPctHP25=96
AAStopAtMobPctHP25=5
AARecast25=1s
AANamedOnly25=FALSE
AAConditions25=


[Aura]
AuraTotal=1
AuraAnnounce=FALSE
AuraUse1=TRUE
AuraSpellGem1=gem1


[Buff]
BuffXTargets=FALSE
BuffPets=True
AutoInvis=FALSE
AutoBreakInvis=FALSE
InvisSpell=
InvisSpellGem=
InvisUndeadSpell=
InvisUndeadSpellGem=
LevitateSpell=
LevitateSpellGem=

BuffTotal=5
BuffAnnounce=FALSE
BuffUse1=FALSE
BuffSpellName1=Group Perfected Levitation
BuffConditions1=
BuffClasses1=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffUse2=FALSE
BuffSpellName2=Perfected Levitation
BuffSpellIcon2=
BuffConditions2=
BuffSpellGem2=
BuffAlias2=
BuffClasses2=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffUse3=TRUE
BuffSpellName3=Embercoat
BuffClasses3=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions3=
BuffUse4=TRUE
BuffSpellName4=Molten Skin
BuffClasses4=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions4=

BuffUse5=FALSE
BuffSpellName5=Circle of Flameweaving RK. II
BuffSpellIcon5=1
BuffSpellGem5=gem1
BuffClasses5=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions5=

BuffUse6=TRUE
BuffSpellName6=
BuffSpellIcon6=
BuffSpellGem6=
BuffAlias6=
BuffClasses6=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions6=
BuffUse7=TRUE
BuffSpellName7=
BuffSpellIcon7=
BuffSpellGem7=
BuffAlias7=
BuffClasses7=BER,BRD,BST,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RNG,ROG,SHD,SHM,WAR,WIZ
BuffConditions7=


[ClickyMaintenance]
clickies=0




[ClickyNuke]
ClickyNukeTotal=5
ClickyNukeAnnounce=FALSE
ClickyNukeUse1=TRUE
ClickyNukeName1=Boreal Robe of the Conjuror
ClickyNukeConditions1=${Me.Pet.Distance}<=35
ClickyNukeSpellGem1=item
ClickyNukeRecast1=1s
ClickyNukeUseAtMobPctHP1=96
ClickyNukeStopAtMobPctHP1=1
ClickyNukeNamedOnly1=FALSE
 
ClickyNukeUse2=TRUE
ClickyNukeName2=Summoned: Elemental Shard
ClickyNukeRecast2=1s
ClickyNukeUseAtMobPctHP2=96
ClickyNukeStopAtMobPctHP2=1
ClickyNukeNamedOnly2=FALSE
ClickyNukeConditions2=
 
ClickyNukeUse3=TRUE
ClickyNukeName3=Blazing Orb
ClickyNukeRecast3=1s
ClickyNukeUseAtMobPctHP3=96
ClickyNukeStopAtMobPctHP3=1
ClickyNukeNamedOnly3=FALSE
ClickyNukeConditions3=
 
ClickyNukeUse4=TRUE
ClickyNukeName4=Summoned: Exigent Servant XXI
ClickyNukeRecast4=1s
ClickyNukeUseAtMobPctHP4=96
ClickyNukeStopAtMobPctHP4=40
ClickyNukeNamedOnly4=TRUE
ClickyNukeConditions4=
 
ClickyNukeUse5=TRUE
ClickyNukeName5=Summoned: Imperious Minion
ClickyNukeRecast5=1s
ClickyNukeUseAtMobPctHP5=96
ClickyNukeStopAtMobPctHP5=40
ClickyNukeNamedOnly5=TRUE
ClickyNukeConditions5=


[Fade]
FadeTotal=1
FadeAnnounce=FALSE
FadeUse1=FALSE
FadeSpellName1=Drape of Shadows
FadeConditions1=
FadeSpellGem1=alt
FadeUseAtMyHP1=5
[Debuff]
DontDebuffConColor=|GREY|GREEN|
DebuffAdds=FALSE
DebuffTotal=1
DebuffTotalIfNamed=1
ForceMemDebuff=FALSE
DebuffAnnounce=FALSE
DebuffUse1=TRUE
DebuffSpellName1=Malosinete
DebuffConditions1=
DebuffSpellGem1=alt
DebuffUseAtMobPctHP1=96
DebuffStopAtMobPctHP1=1
DebuffRecast1=2m
DebuffMaxTries1=2


[GoM]
GoMTotal=0
GoMTotalIfNamed=0
GoMAnnounce=FALSE
GoMUse1=TRUE
GoMSpellName1=
GoMSpellIcon1=
GoMSpellGem1=





[FightBuff]
FightBuffTotal=3
ForceMemFightBuff=FALSE
FightBuffAnnounce=FALSE
FightBuffUse1=TRUE
FightBuffSpellName1=Silent Casting
FightBuffSpellIcon1=Silent Casting
FightBuffConditions1=
FightBuffSpellGem1=alt
FightBuffNamedOnly1=FALSE
FightBuffForAggro1=FALSE
FightBuffUse2=TRUE
FightBuffSpellName2=Improved Twincast
FightBuffSpellIcon2=Improved Twincast
FightBuffConditions2=
FightBuffSpellGem2=alt
FightBuffNamedOnly2=TRUE
FightBuffForAggro2=FALSE
FightBuffUse3=TRUE
FightBuffSpellName3=Twincast Rk. III
FightBuffSpellIcon3=Twincast Rk. III
FightBuffConditions3=
FightBuffSpellGem3=gem10
FightBuffNamedOnly3=TRUE
FightBuffForAggro3=FALSE


[HealPet]
HealPetTotal=2
HealPetAnnounce=FALSE
HealPetUse1=TRUE
HealPetSpellName1=Mend Companion
HealPetSpellGem1=alt
HealPetUseAt1=50
HealPetStopAt1=90
HealPetConditions1=

HealPetUse2=TRUE
HealPetSpellName2=Replenish Companion
HealPetSpellGem2=alt
HealPetUseAt2=50
HealPetStopAt2=90
HealPetConditions2=

HealPetSpellName3=Divine Companion Aura
HealPetSpellGem3=alt
HealPetUseAt3=15
HealPetStopAt3=90


[Nuke]
NukeTotal=10
NukeTotalIfNamed=10
ForceMemNuke=FALSE
NukeAnnounce=FALSE
NukeUse1=TRUE
NukeSpellName1=Force of Elements
NukeConditions1=
NukeSpellGem1=alt
NukeUseAtMobPctHP1=96
NukeStopAtMobPctHP1=1
NukeRecast1=1s
NukeUse2=TRUE
NukeSpellName2=Spear of Molten Sheildstone RK.II
NukeSpellGem2=gem2
NukeUseAtMobPctHP2=96
NukeStopAtMobPctHP2=1
NukeRecast2=1s
NukeConditions2=

NukeUse3=TRUE
NukeSpellName3=Fickle Conflagration
NukeSpellGem3=gem3
NukeUseAtMobPctHP3=96
NukeStopAtMobPctHP3=1
NukeRecast3=1s
NukeConditions3=

NukeUse4=TRUE
NukeSpellName4=Searing Sands
NukeSpellGem4=gem4
NukeUseAtMobPctHP4=96
NukeStopAtMobPctHP4=1
NukeRecast4=1s
NukeConditions4=
NukeUse5=TRUE
NukeSpellName5=Darksteel Malosenete
NukeSpellGem5=gem5
NukeUseAtMobPctHP5=96
NukeStopAtMobPctHP5=1
NukeRecast5=1s
NukeConditions5=
NukeUse6=TRUE
NukeSpellName6=Remorseless Servant
NukeSpellGem6=gem8
NukeUseAtMobPctHP6=96
NukeStopAtMobPctHP6=1
NukeRecast6=1s
NukeConditions6=                <${AddCount}<3

NukeUse7=TRUE
NukeSpellName7=Thaumatize Pet Rk. II
NukeSpellGem7=gem11
NukeUseAtMobPctHP2=96
NukeStopAtMobPctHP2=1
NukeRecast2=1s
NukeConditions2=${Me.Pet.Following.ID} && !${Thaumatize}

NukeUse8=TRUE
NukeUseAtMobPctHP8=96
NukeStopAtMobPctHP8=1
NukeRecast8=1s
NukeConditions8=
NukeUse9=TRUE
NukeUseAtMobPctHP9=96
NukeStopAtMobPctHP9=1
NukeRecast9=1s
NukeConditions9=
NukeUse10=TRUE
NukeUseAtMobPctHP10=96
NukeStopAtMobPctHP10=1
NukeRecast10=1s
NukeConditions10=


[Pet]
PetGHOLD=TRUE
UsePet=True
PetSpell=Convocation of Water
PetSpellGem=gem6
UsePetFocusAA=TRUE
PetAttackAt=97
ShrinkPet=TRUE
ShrinkPetIfHeightAbove=1.5
ShrinkPetSpell=Diminutive Companion
ShrinkPetSpellGem=alt
DoPetHeals=FALSE
PetHealAt=50
PetHealSpell=Renewal of Calix
PetHealSpellGem=gem9
UseAAPetHeal=TRUE
PetAAHealAt=20
DoPetBuffs=TRUE
PetBuffRecheck=10s
PetBuffTotal=3
PetBuffName1=Aegis of Kildrukaun
PetBuffSpell1=Aegis of Kildrukaun
PetBuffGem1=alt
PetBuffRecast1=1s

PetBuffName2=Burnout XII RK. II
PetBuffSpell2=Burnout XII RK. II
PetBuffGem2=gem7
PetBuffRecast2=1s

PetBuffName3=Iceflame Armaments
PetBuffSpell3=Iceflame Armaments
PetBuffGem3=gem7
PetBuffRecast3=1s
PetBuffName4=
PetBuffSpell4=
PetBuffGem4=
PetBuffRecast4=1s
PetBuffName5=
PetBuffSpell5=
PetBuffGem5=
PetBuffRecast5=1s
PetBuffName6=
PetBuffSpell6=
PetBuffGem6=
PetBuffRecast6=1s
PetBuffRecast7=1s


[SelfBuff]
SelfBuffTotal=5
SelfBuffAnnounce=FALSE
SelfBuffUse1=TRUE
SelfBuffSpellName1=Shield of Bronze
SelfBuffSpellIcon1=Shield of Bronze
SelfBuffSpellGem1=gem6
SelfBuffConditions1=
SelfBuffUse2=TRUE
SelfBuffSpellName2=Sheildstone Bodyguard
SelfBuffSpellIcon2=SheildstoneBodyguard
SelfBuffSpellGem2=gem1
SelfBuffConditions2=
SelfBuffUse3=TRUE
SelfBuffSpellName3=Chaotic Assistance
SelfBuffSpellIcon3=Chaotic Assistance
SelfBuffSpellGem3=gem1
SelfBuffConditions3=
SelfBuffUse4=TRUE
SelfBuffSpellName4=Praetorian Guardian
SelfBuffSpellIcon4=Praetorian Guardian
SelfBuffSpellGem4=gem1
SelfBuffConditions4=

SelfBuffUse5=TRUE
SelfBuffSpellName5=Circle of Flameweaving 
SelfBuffSpellIcon5=Circle of Flameweaving Rk.II
SelfBuffSpellGem5=1
SelfBuffConditions5=



[MainTankBuff]
DesignatedTank=NULL


[Mana]
MedAt=75
MedToFull=FALSE
MedEvenIfNotInOOCRegen=FALSE
MedTimer=10s
Harvest_IfManaBelow=70
DontHarvest_UnlessManaBelow=70
UseClarityPotions=TRUE


[Combat]
CombatFrequency5=Bard|XHeal|HealSingle|HealGroup|HealBalance|HealSelf|HealPet|Disc|MainTankBuff|FightBuff|Lifetap|Stun|AA|Dot|Nuke|Snare|ClickyNuke|Jolt|Rez|ModRod|Mana|Merc
StandardCombatOptions=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=25
AABuyMode=Classic
AABuyPageOrder=Class|Archetype|General|Special
AAActivatedOnly=FALSE
SetAAPctOnLevelTo=0
AACount=0


[Custom]
CustomCombatTotal=0
CustomRestTotal=1S
CustomRest1=/call SummonItem

[Roles]
SetRoles=True
GroupLeader=xxx
GroupMainTank=xxx
GroupMainAssist=xxx
GroupPuller=xxx
GroupXTarget1=Group Assist Target
RaidXTarget1=Raid Assist 1 Target

[SummonItem]
SummonItemTotal=4
SummonItemUse1= True
SummonItemName1=Grant Icebound Paradox
SummonItemSpellGem1=gem1
SummonItemConditions1=!${FindItemCount[Summoned: Icebound Sliver]} && ${Me.PctMana}>70
SummonItemUse2=TRUE
SummonItemName2=Summon Firebound Orb Rk. II
SummonItemSpellGem2=gem1
SummonItemConditions2=!${FindItemCount[Firebound Orb II]} && ${Me.PctMana}>70
SummonItemUse3=FALSE
SummonItemName3=Summon Mutinous Minion
SummonItemSpellGem3=gem1
SummonItemConditions3=!${FindItemCount[Summoned: Exigent Minion XXI]} && !${Me.CombatState.Equal[combat]} && ${Me.PctMana} > 70
SummonItemUse4=FALSE
SummonItemName4=Summon Exigent Servant
SummonItemSpellGem4=gem1
SummonItemConditions4=!${FindItemCount[Summoned: Exigent Servant]} && !${Me.CombatState.Equal[combat]} && ${Me.PctMana} > 70
 
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(

Load plugin mq2twist


thank very much , after load mq2twist it is fixed.

but about the Azure Mind Crystal,if my bag have it , then run is normal, and if my bag dont have Azure Mind Crystal, then bot would keep use the AA and fail , get in a loop cant stop , and my ini dont have any set about Azure Mind Crystal, is there anything wrong plz?

thanks for your work , the bot40 almost fine again!
 
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(

Load plugin mq2twist


thank very much , after load mq2twist it is fixed.

but about the Azure Mind Crystal,if my bag have it , then run is normal, and if my bag dont have Azure Mind Crystal, then bot would keep use the AA and fail , get in a loop cant stop , and my ini dont have any set about Azure Mind Crystal, is there anything wrong plz?

thanks for your work , the bot40 almost fine again!

I'm not familiar with this AA. Does it require the crystal in order to cast the AA? I had never heard of an AA that has a component requirement.

I'll have to add a new INI entry for every AA and code the logic to check for this to have some value. ${FindItemCount[=Azure Mind Crystal]} as a condition. This will return 0 if you don't have it, making it return "False" or if you have it return "True"

But this is something I don't have time for. For now you can use this AA manually by going into your INI and finding that AA and setting AAUse# to FALSE so that it doesn't try to use it by default.
 
it creates the crystal, i think there is an example of the syntax buried i the holy shit thread
 
it creates the crystal, i think there is an example of the syntax buried i the holy shit thread

The syntax isn't the issue for me. It's the creation of additional parameter added to the AA sub to also check the INI for conditions for each AA being used. Much like with spells I would have to add an additional INI entry for each AA

So if AATotal=5 then I would have to generate all the existing INI entries in addition to adding AACondition#=TRUE then you would change true to whatever condition you want it to check. IE: finding if you have an item in your inventory. But just creating an INI entry isn't the hard part. The more complicated/time consuming part would be adding the logic to check for the condition in the existing sub that checks if it should use it.

This change of course would change the way all AA's are run which would require testing to confirm that the fix was done correctly. While I'm pretty good at the macro syntax and code, I do make mistakes. Especially working with code I didn't create. Thus I'm reluctant to take the time right now to make a change this significant to fix one AA and urge you to instead utilize doing it manually or creating your own holyshit for this.
 
Load plugin mq2twist


thank very much , after load mq2twist it is fixed.

but about the Azure Mind Crystal,if my bag have it , then run is normal, and if my bag dont have Azure Mind Crystal, then bot would keep use the AA and fail , get in a loop cant stop , and my ini dont have any set about Azure Mind Crystal, is there anything wrong plz?

thanks for your work , the bot40 almost fine again!

I'm not familiar with this AA. Does it require the crystal in order to cast the AA? I had never heard of an AA that has a component requirement.

I'll have to add a new INI entry for every AA and code the logic to check for this to have some value. ${FindItemCount[=Azure Mind Crystal]} as a condition. This will return 0 if you don't have it, making it return "False" or if you have it return "True"

But this is something I don't have time for. For now you can use this AA manually by going into your INI and finding that AA and setting AAUse# to FALSE so that it doesn't try to use it by default.

i tried to add it manually in the ini , but still fail loop, but thanks for your answer , would try to FALSE or find out which to make it fail , thanks
 
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(

Load plugin mq2twist


thank very much , after load mq2twist it is fixed.

but about the Azure Mind Crystal,if my bag have it , then run is normal, and if my bag dont have Azure Mind Crystal, then bot would keep use the AA and fail , get in a loop cant stop , and my ini dont have any set about Azure Mind Crystal, is there anything wrong plz?

thanks for your work , the bot40 almost fine again!

Its cause if you have ranks 2-4 of the AAs, they are no longer named "Azure Mind Crystal" and, in fact, the macro will never click them because of this. It needs to be updated. I will work on a fix.
 
Here is an updated mac.

I fixed add hander bug.
Improved xtarget buffing speed
Fixed issue with incorrect calculations for buff extension.

Will fix chanter crystal AAs next.
 

Attachments

  • bot40.mac
    508 KB · Views: 17
got WARNING: Undefined Variable Twist used on line 324@bot40.mac /if (${TarID} && (!${Target.ID}||${Target.ID}!=${TarID}) && ${Spawn[id ${TarID}].Type.NotEqual[corpse]} && (!${Me.Casting.ID}||${Twist.Twisting}) && ${Spawn[${TarID}].ID}) /squelch /tar id ${TarID}Macro Paused.

from my enc...:(

Load plugin mq2twist


thank very much , after load mq2twist it is fixed.

but about the Azure Mind Crystal,if my bag have it , then run is normal, and if my bag dont have Azure Mind Crystal, then bot would keep use the AA and fail , get in a loop cant stop , and my ini dont have any set about Azure Mind Crystal, is there anything wrong plz?

thanks for your work , the bot40 almost fine again!

Its cause if you have ranks 2-4 of the AAs, they are no longer named "Azure Mind Crystal" and, in fact, the macro will never click them because of this. It needs to be updated. I will work on a fix.


ok , just find out the problem is cause bot would sitting fast after cast Azure Mind Crystal , then break the casting make it fail and in the loop , donno why it sit when casting.

so i give a delay:
/if (${Me.PctMana}>95 && ${Me.AltAbilityReady[Azure Mind Crystal]} && !${FindItemCount[Azure Mind Crystal]}) {
/alt act ${Me.AltAbility[Azure Mind Crystal].ID}
/delay 2s
/call ${EchoSub} "${Orange} Azure Mind Crystal --> ${White} ${Me.CleanName}"



and it work now, thanks!!
 
Fixed aa rank detection for chanter AA crystals.
 

Attachments

  • bot40.mac
    509.2 KB · Views: 26
Chatwiththisname or 40oz will hopefully check my changes!
 
it creates the crystal, i think there is an example of the syntax buried i the holy shit thread

The syntax isn't the issue for me. It's the creation of additional parameter added to the AA sub to also check the INI for conditions for each AA being used. Much like with spells I would have to add an additional INI entry for each AA

So if AATotal=5 then I would have to generate all the existing INI entries in addition to adding AACondition#=TRUE then you would change true to whatever condition you want it to check. IE: finding if you have an item in your inventory. But just creating an INI entry isn't the hard part. The more complicated/time consuming part would be adding the logic to check for the condition in the existing sub that checks if it should use it.

This change of course would change the way all AA's are run which would require testing to confirm that the fix was done correctly. While I'm pretty good at the macro syntax and code, I do make mistakes. Especially working with code I didn't create. Thus I'm reluctant to take the time right now to make a change this significant to fix one AA and urge you to instead utilize doing it manually or creating your own holyshit for this.

Its not in AA sub.... its in mana sub..... and I fixed it (maybe) 2 posts back.
 
my problem is cause sit too fast after cast the AA , and break the casting , seem it only happen for me, dunno why .

after i give the delay 2s , it is work good now , thanks for help anyway :)