Bot lite macro testing - Feel free to participate

PeteSampras

Your UI is fucking you. Stop using it.
Joined
Dec 12, 2007
Messages
3,956
Reaction score
49
Points
38
I am still in the walk phase for redoing bot.mac to be a lighter footprint. Right now, this macro *should* probably work for a dps class. It doesnt mez or pull, and it uses the generic /assist soandso once you have something populate your XTarget[1] slot. But I would like to see what is broken beyond what I am testing in my very limited situations.

If you are interested in testing, you need to download ALL the files then follow these steps:

1. /mac makeini, this creates an ini using your toon name/class, ie: Ini_PeteSampras_Paladin.ini
2. Take a look at the ini and edit the conditions if you want to, note to use $\{Variable} rather than ${Variable}
3. /mac botlite name pct, (or set the AssistPC and AssistAt in your .ini), ie., /mac botlite petesampras 100
4. Report any errors using mq2log/mq2chatwnd logs.


For loot and AABuy information, you can refer to the bot wiki (linked in my sig). If you don't download the loot, aabuy, or ignore includes, it doesnt crash the macro, you just dont use those options. However, I would like feedback if those are working as intended too. (Ive done a decent amount of testing on the AABuy.inc)


Thanks!

EDIT: I forgot, AABuy still looks in Bot_Name_Class.ini because I was being lazy. I'll sort that out later, but that is where you need to edit them if you want that sort of thing.
 
Last edited:
MMO Routine Name

File name is wonky for easy download and install
 
Pete, just to clarify, this is a smaller code version, but functionality remain the same, right? You just optimized here?
 
Basically. The goal is to load a lot less into memory and only process what you absolutely need without accessing the ini after initially loading so that there should hopefully be a lot less lag. It may not get every feature of bot just because there was a lot of bloat in there that only a handful of people even knew about/used.
 
I'll give this a whirl after i burn out on landmark tonight :p
 
Hi Pete,
just tested the botlite mac with a lvl 80 sk.he doesnt attack at all and when i tab to the target the mac ends.




- [2014/02/02 11:28:55] [MQ2] IgnoreList: |
- [2014/02/02 11:28:56] botlite.mac loaded - SHD
23082 XTARGET
- [2014/02/02 11:29:27] ADDS= 1-> |23082|
- [2014/02/02 11:29:51] Bond of the Blackwater --> a kyv heartpiercer
- [2014/02/02 11:29:51] {} pairing ran into anther subroutine
- [2014/02/02 11:29:51] botlite.mac@106 (Combat): /if (${Me.Pet.ID} && !${Me.Pet.Following.ID}) {
- [2014/02/02 11:29:51] botlite.mac@78 (Main(string assist,int amount)): /if (${CombatConditions} && !${Me.Hovering}) /call Combat
- [2014/02/02 11:29:51] The current macro has ended.
 
drow give this a shot should fix that issue.
 
Last edited by a moderator:
Thanks, fixed that. Re-upped AABuy and loot.inc to use /mmoini instead of /ini because some blank settings werent getting added. requires using the latest version of MQ2MMOTLO that you can get off the patcher or directly at: http://www.mmobugs.com/updates/install/MQ2MMOTLO.dll

note youd have to unload that plugin to overwrite existing if you already have it loaded.
 
Just ran the makeini on my Zerker. It didn't pick up the most recent versions of volley (Brutal Volley) or axe (Axe of Zurel). Also, it set Bloodfury AA to always activate, which would kill the Berserker (all it does is inflicts self damage).
 
When I start the macro, the Zerker clicks all his clickies, sits down, and does nothing. When I pull mobs with the tank, the Zerker continues to sit there, never even targets the mobs.

MQ2 log:

Code:
Zerker - ADDS+ 100 WAR a failed attempt  ID: 11285   XTARGET
Zerker - ADDS= 1-> |11285|
Zerker - ADDS+ 100 WAR a xulous elder  ID: 11213   XTARGET
Zerker - ADDS= 2-> |11213|11285|

INI:

Code:
[Settings]
AssistPC=MyTank
AssistAt=98
OptionCombat=AA|Command|Debuff|Disc|Fade|FightBuff|Jolt|Snare|
OptionRest=Aura|Command|Endurance|Fade|SelfBuff|
ForceMem=|SelfBuff|Buff|Pet|Aura|
LootNPCs=FALSE
[Endurance]
MedEndAt=5
EnduranceColor=Orange
EnduranceTotal=1
EnduranceUse1=TRUE
EnduranceSpellName1=Communion of Blood
EnduranceConditions1=$\{Me.ID}
[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
InvisSpell=Place Holder
InvisSpellGem=gem1
InvisUndeadSpell=Place Holder
InvisUndeadSpellGem=gem1
LevitateSpell=Place Holder
LevitateSpellGem=gem1
[ImHit]
ImHitColor=Yellow
ImHitTotal=2
ImHitUse1=FALSE
ImHitSpellName1=Hold the Line
ImHitConditions1=($\{Me.PctHPs}<=50 && !$\{Me.Invis} && $\{Me.Standing})
ImHitUse2=TRUE
ImHitSpellName2=Uncanny Resilience
ImHitConditions2=($\{Me.PctHPs}<=50 && !$\{Me.Invis} && $\{Me.Standing})
[AA]
AAColor=Purple
AATotal=14
AAUse1=FALSE
AASpellName1=Savage Spirit
AAConditions1=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast1=10s
AAUse2=FALSE
AASpellName2=Reckless Abandon
AAConditions2=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast2=10s
AAUse3=TRUE
AASpellName3=Blinding Fury
AAConditions3=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast3=10s
AAUse4=FALSE
AASpellName4=Cascading Rage
AAConditions4=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast4=10s
AAUse5=TRUE
AASpellName5=Blood Pact
AAConditions5=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast5=10s
AAUse6=FALSE
AASpellName6=Vehement Rage
AAConditions6=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast6=10s
AAUse7=TRUE
AASpellName7=Battle Stomp
AAConditions7=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast7=10s
AAUse8=FALSE
AASpellName8=Distraction Attack
AAConditions8=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast8=10s
AAUse9=FALSE
AASpellName9=Desperation
AAConditions9=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast9=10s
AAUse10=FALSE
AASpellName10=Self Preservation
AAConditions10=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast10=10s
AAUse11=TRUE
AASpellName11=War Cry of the Braxi
AAConditions11=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast11=10s
AAUse12=FALSE
AASpellName12=Binding Axe
AAConditions12=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast12=10s
AAUse13=TRUE
AASpellName13=Bloodfury
AAConditions13=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast13=10s
AAUse14=FALSE
AASpellName14=Furious Rampage
AAConditions14=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast14=10s
[Clicky]
ClickyColor=Orange
ClickyTotal=5
ClickySpellName1=Suppressed Etheric Warmonger Coat
ClickyConditions1=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName1}].Timer})
ClickySpellName2=Silvershade Warmonger Coat
ClickyConditions2=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName2}].Timer})
ClickySpellName3=Radvar's Rod of Disruption
ClickyConditions3=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName3}].Timer})
ClickySpellName4=Archaeologist's Automated Antiquity Analyzer
ClickyConditions4=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName4}].Timer})
ClickySpellName5=Ring of Watching Eyes
ClickyConditions5=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName5}].Timer})
[Disc]
DiscColor=Green
DiscTotal=16
UseDisc1=TRUE
Disc1=Brutal Volley Rk. III
DiscCategory1=Throwing
DiscConditions1=$\{Me.ID}
UseDisc2=TRUE
Disc2=Phantom Assailant
DiscCategory2=Timer 18
DiscConditions2=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]}
UseDisc3=TRUE
Disc3=Festering Rage
DiscCategory3=Timer 6
DiscConditions3=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]}
UseDisc4=FALSE
Disc4=Sprint Discipline
DiscCategory4=Timer 4
DiscConditions4=$\{Me.ID}
UseDisc5=FALSE
Disc5=Avenging Flurry Discipline Rk. II
DiscCategory5=Offensive
DiscConditions5=$\{Target.Named} && $\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}>70
UseDisc7=FALSE
Disc7=Axe of the Sunderer
DiscCategory7=Summon Weapon
DiscConditions7=$\{Me.ID}
UseDisc8=TRUE
Disc8=Kick in the Teeth
DiscCategory8=Offensive
DiscConditions8=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc9=FALSE
Disc9=Tendon Slash
DiscCategory9=Throwing
DiscConditions9=$\{Me.ID}
UseDisc10=FALSE
Disc10=Steel Frenzy
DiscCategory10=Offensive
DiscConditions10=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}<90
UseDisc11=TRUE
Disc11=Conquering Frenzy
DiscCategory11=Offensive
DiscConditions11=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc12=TRUE
Disc12=Reprieve
DiscCategory12=EndRegen
DiscConditions12=$\{Me.ID}
UseDisc13=TRUE
Disc13=Shared Savagery
DiscCategory13=Offensive
DiscConditions13=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc14=FALSE
Disc14=Frenzied Resolve
DiscCategory14=Offensive
DiscConditions14=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}<90
UseDisc16=TRUE
Disc16=Axe of Zurel
DiscCategory16=Throwing
DiscConditions16=$\{Me.ID}

Edit: I should probably note that I added the following 2 discs to disc section manually, and may have not done them correctly:

Code:
UseDisc2=TRUE
Disc2=Phantom Assailant
DiscCategory2=Timer 18
DiscConditions2=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]}
UseDisc3=TRUE
Disc3=Festering Rage
DiscCategory3=Timer 6
DiscConditions3=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]}
 
Last edited:
I ran it with some level 5ish characters as well, they didn't attack
 
-Updated MMO_Routines.inc. That should fix the /assist issue.

-Updated AABuy.inc. It works a lot better now, however, brute mode remains untested. So far whenever I have wanted brute mode, i just /aaspew and restart the mac so it loads every AA and buys them in order of whatever is available by class then arch, then general, then special.

-Added: Bloodfury to ignore in makeini.mac. And no, those Timer 18, etc are wrong. Anything that isnt getting categorized into Offensive/Defensive/EndRegen/Throwing and a couple others need to be brought to my attention so that I can properly categorize them.
 
And no, those Timer 18, etc are wrong. Anything that isnt getting categorized into Offensive/Defensive/EndRegen/Throwing and a couple others need to be brought to my attention so that I can properly categorize them.

Alright. For Phantom Assailant, it's just a pet that attacks the mob for a bit, should be used every cool down. Festering Rage is a disc that grants a buff that procs damage. The buff can also reproc itself, so it should have a check to see if the buff is already active or not, if not, activate the disc.

Thanks, PeteSampras
 
So both would be listed as Offensive. For festering rage, is that the same line as Steel Frenzy line? and if not, does it stack? I would probably make the user have to update that one to check if the buff is already on you unless it is super short recast because if you start adding single spells/skills, it bloats the file quickly.

Edit: I will see if their ${Spell[name].Skill} returns as Offense, like it does on lucy. Lucy has failed me many times, so i will need to verify in game when i get the chance. maybe tomorrow. I am traveling today and dont feel like loading up eq in the airport or it will destroy my battery.
 
Last edited:
Festering Rage is on Discipline Timer 6:
Spells & Discipline Timers - EQ Resource - The Resource for your EverQuest needs

Steel Frenzy is on Discipline Timer 10:
Spells & Discipline Timers - EQ Resource - The Resource for your EverQuest needs

Also, the newest version of Steel Frenzy is Fearless Frenzy. Zerkers got a new disc in RoF called Augmented Frenzy, which shares the same timer as Steel/Fearless frenzy but is prefered by most of the Zerker community. It adds a buff to the Zerker that has a chance at procing extra damage upon Frenzy skill attacks. It does have a requirement of being under 90% health to fire. We got another Discipline called Open Wound ( Open Wound - EQ Resource - The Resource for your EverQuest needs ) which caps our health at 89% for 2 minutes, which works perfect to allow us to use Augmented Frenzy.

If it would be possible to get Open Wound / Augmented Frenzy working, that would be most awesome!
 
i see. it is epic 1.5, not 2.0 that has stacking issues.
 
Tried this again this morning with the new AA inc, and the new routines inc. First I tried using the same INI as yesterday, which resulted in the same results as yesterday, but this time the Zerker did target the mob in camp - he just didnt stand up and attack.

Then I downloaded the new makeini, created a new INI (I didn't update the discs in the INI to use the newest versions, I just set assist PC and left it alone). Same results, Zerker sits down, targets mobs pulled to camp, but never gets up to do anything.

Code:
[Settings]
AssistPC=MyTank
AssistAt=98
OptionCombat=AA|Command|Debuff|Disc|Fade|FightBuff|Jolt|Snare|
OptionRest=Aura|Command|Endurance|Fade|SelfBuff|
ForceMem=|SelfBuff|Buff|Pet|Aura|
[Endurance]
MedEndAt=5
EnduranceColor=Orange
EnduranceTotal=1
------------------------------------1=1
EnduranceUse1=TRUE
EnduranceSpellName1=Communion of Blood
EnduranceConditions1=$\{Me.ID}
[Buff]
BuffXTargets=FALSE
BuffPets=FALSE
AutoInvis=FALSE
AutoBreakInvis=FALSE
InvisSpell=Place Holder
InvisSpellGem=gem1
InvisUndeadSpell=Place Holder
InvisUndeadSpellGem=gem1
LevitateSpell=Place Holder
LevitateSpellGem=gem1
[ImHit]
ImHitColor=Yellow
ImHitTotal=2
------------------------------------1=1
ImHitUse1=TRUE
ImHitSpellName1=Hold the Line
ImHitConditions1=($\{Me.PctHPs}<=50 && !$\{Me.Invis} && $\{Me.Standing})
------------------------------------2=1
ImHitUse2=TRUE
ImHitSpellName2=Uncanny Resilience
ImHitConditions2=($\{Me.PctHPs}<=50 && !$\{Me.Invis} && $\{Me.Standing})
[AA]
AAColor=Purple
AATotal=13
------------------------------------1=1
AAUse1=TRUE
AASpellName1=Savage Spirit
AAConditions1=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast1=10s
------------------------------------2=1
AAUse2=TRUE
AASpellName2=Reckless Abandon
AAConditions2=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast2=10s
------------------------------------3=1
AAUse3=TRUE
AASpellName3=Blinding Fury
AAConditions3=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast3=10s
------------------------------------4=1
AAUse4=TRUE
AASpellName4=Cascading Rage
AAConditions4=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast4=10s
------------------------------------5=1
AAUse5=TRUE
AASpellName5=Blood Pact
AAConditions5=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast5=10s
------------------------------------6=1
AAUse6=TRUE
AASpellName6=Vehement Rage
AAConditions6=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast6=10s
------------------------------------7=1
AAUse7=TRUE
AASpellName7=Battle Stomp
AAConditions7=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast7=10s
------------------------------------8=1
AAUse8=TRUE
AASpellName8=Distraction Attack
AAConditions8=($\{Range.Between[50,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast8=10s
------------------------------------9=1
AAUse9=TRUE
AASpellName9=Desperation
AAConditions9=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast9=10s
------------------------------------10=1
AAUse10=TRUE
AASpellName10=Self Preservation
AAConditions10=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast10=10s
------------------------------------11=1
AAUse11=TRUE
AASpellName11=War Cry of the Braxi
AAConditions11=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast11=10s
------------------------------------12=1
AAUse12=TRUE
AASpellName12=Binding Axe
AAConditions12=($\{Range.Between[1,$\{AssistAt}:$\{Target.PctHPs}]})
AARecast12=10s
------------------------------------13=1
AAUse13=TRUE
AASpellName13=Furious Rampage
AAConditions13=($\{Range.Between[40,$\{AssistAt}:$\{Target.PctHPs}]} && $\{Target.Named})
AARecast13=10s
[Clicky]
ClickyColor=Orange
ClickyTotal=5
ClickySpellName1=Suppressed Etheric Warmonger Coat
ClickyConditions1=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName1}].Timer})
ClickySpellName2=Silvershade Warmonger Coat
ClickyConditions2=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName2}].Timer})
ClickySpellName3=Radvar's Rod of Disruption
ClickyConditions3=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName3}].Timer})
ClickySpellName4=Archaeologist's Automated Antiquity Analyzer
ClickyConditions4=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName4}].Timer})
ClickySpellName5=Ring of Watching Eyes
ClickyConditions5=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{FindItem[$\{ClickySpellName5}].Timer})
[Disc]
DiscColor=Green
DiscTotal=16
UseDisc1=TRUE
Disc1=Sundering Volley
DiscCategory1=Throwing
DiscConditions1=$\{Me.ID}
UseDisc2=TRUE
Disc2=Cleaving Acrimony Discipline Rk. II
DiscCategory2=Timer 2
DiscConditions2=$\{Target.Named} && $\{Me.PctHPs}<50 && !$\{Melee.DiscID}
UseDisc3=TRUE
Disc3=Sundering Discipline
DiscCategory3=Offensive
DiscConditions3=$\{Target.Named} && $\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}>70
UseDisc4=TRUE
Disc4=Sprint Discipline
DiscCategory4=Timer 4
DiscConditions4=$\{Me.ID}
UseDisc5=TRUE
Disc5=Avenging Flurry Discipline Rk. II
DiscCategory5=Offensive
DiscConditions5=$\{Target.Named} && $\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}>70
UseDisc7=TRUE
Disc7=Axe of the Sunderer
DiscCategory7=Summon Weapon
DiscConditions7=$\{Me.ID}
UseDisc8=TRUE
Disc8=Kick in the Teeth
DiscCategory8=Offensive
DiscConditions8=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc9=TRUE
Disc9=Tendon Slash
DiscCategory9=Throwing
DiscConditions9=$\{Me.ID}
UseDisc10=TRUE
Disc10=Steel Frenzy
DiscCategory10=Offensive
DiscConditions10=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}<90
UseDisc11=TRUE
Disc11=Conquering Frenzy
DiscCategory11=Offensive
DiscConditions11=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc12=TRUE
Disc12=Reprieve
DiscCategory12=EndRegen
DiscConditions12=$\{Me.ID}
UseDisc13=TRUE
Disc13=Shared Savagery
DiscCategory13=Offensive
DiscConditions13=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID}
UseDisc14=TRUE
Disc14=Frenzied Resolve
DiscCategory14=Offensive
DiscConditions14=$\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID} && $\{Me.PctHPs}<90
UseDisc16=TRUE
Disc16=Axe of Illdaera
DiscCategory16=Throwing
DiscConditions16=$\{Me.ID}
 
Updated MakeIni to add in
[Settings]
UseMelee=TRUE
UseArchery=TRUE

default values are hybrid/melee use melee, and rangers use archery and melee

Updated MMO_Routines.inc
- checks those 2 settings and do whichever is appropriate. it is ghetto and just checks 70 range to try melee.
- medding should be fixed


Updated botlite.mac to check against those.