Bot lite macro testing - Feel free to participate

FYI in case anyone has downloaded over the last few hours. zdozbou has been testing this with me and correcting a bunch of things. Latest additions to settings are so that you dont have to use mq2melee (requires mq2moveutils still). And added a couple features from bot.mac like OpeningMove=/disc punch in the throat

New highlighted in yellow (these all get autoadded when you run makeini.inc)
Code:
[Settings]
AssistPC=PeteSampras
[COLOR=Yellow]AssistPC2=LukeSkywalker[/COLOR]
AssistAt=98
[COLOR=Yellow]UseMelee=TRUE
UseArchery=FALSE
AttackRange=150
AttackCommand=/attack on
UseStick=FALSE
OpeningMove=/casting "heal over time name" gem1[/COLOR]
OptionCombat=AA|Command|Debuff|Disc|Fade|FightBuff|Jolt|Snare|
OptionRest=Aura|Command|Endurance|Fade|SelfBuff|
ForceMem=|SelfBuff|Buff|Pet|Aura|
 
Updated MMO_Routines.inc and botlite.mac again just now and it seems discs are working from super limited testing. It labeled [Disc] as UseDisc1, UseDisc2, etc instead of DiscUse1, DiscUse2, etc as well. So that requires downloading latest makeini.mac. Basically redownload all of the files if you want to test anything.
 
Tested again with a necro.Everything seems fine (debuffs,dots,lifetap etc),but theres a problem with the pet.Attackrange is set to 25 and assist at 95,but the pet attacks at 100% and right now when mob is in range to attack.
 
Is there any place in the ini to set a re-assist time? The melee toons dont ever seem to change targets. They stay one one mob till its dead. Even when you try to force them they go back to the old target.
 
Re-upped botlite.mac and makeini.mac

Added:
[Settings]
ReAssist=3s
ForceReAssist=FALSE
CombatConditions=($\{Target.ID}==$\{TarID} && $\{Target.PctHPs}<=$\{AssistAt} && $\{Target.LineOfSight} && !$\{Me.Feigning} && $\{Me.XTarget[1].ID})

Be sure to fully figure out what impact reassisting will have on your group. The idea was that you *dont* change target once you pick it because of mezzing and whatnot. There may be unintended consequences by switching around targets once you start an engagement.
 
Last edited:
Reupped botlite, makeini, mmo_routines.

Added:
[Settings]
IgnoreClickyBuffsInBags=FALSE

This setting is so you can bypass checking for any clicky buffs you have in bags in case of free members or if you just want to shave 1-3 seconds off load time. This only applies to the buffs that automatically check and not your [ClickyNuke] section (yet).. maybe I should add that in there.
 
Makeini, when it created a line for the buff of Cert, it mislabeled it.


BuffSpellIcon1=Unified Certitude Rk. II
BuffSpellGem1=gem1
BuffIcon1=Blessing of Fervor Rk. II

I edited and changed it.

100 Cleric BTW.
 
It labels it as the second buff intentionally. I ran through all the multi-buffs and saw a pattern that suggested to always look for the second one.

EDIT:
http://lucy.allakhazam.com/spell.html?id=34244&source=Live
<table class="spellview" cellpadding="3" width="95%"><tbody><tr><td class="spelllabel" align="right">1: </td> <td>Add effect: Blessing of Fervor</td></tr> <tr><td class="spelllabel" align="right">2: </td> <td>Add effect: Certitude</td></tr></tbody></table>
http://lucy.allakhazam.com/spell.html?id=35457&source=Live
<table class="spellview" cellpadding="3" width="95%"><tbody><tr><td class="spelllabel" align="right">1: </td> <td>Add effect: Mammoth's Force</td></tr> <tr><td class="spelllabel" align="right">2: </td> <td>Add effect: Preeminent Foresight</td></tr> <tr><td class="spelllabel" align="right">3: </td> <td>Add effect: Insistent Focusing</td></tr> <tr><td class="spelllabel" align="right">4: </td> <td>Add effect: Spirit of Dauntlessness</td></tr></tbody></table>
http://lucy.allakhazam.com/spell.html?id=40112&source=Live
<table class="spellview" cellpadding="3" width="95%"><tbody><tr><td class="spelllabel" align="right">1: </td> <td>Add effect: Inspired by the Hunt Rk. II</td></tr> <tr><td class="spelllabel" align="right">2: </td> <td>Add effect: Protection of the Bosque Rk. II</td></tr> <tr><td class="spelllabel" align="right">3: </td> <td>Add effect: Eyes of the Howler Rk. II</td></tr> <tr><td class="spelllabel" align="right">4: </td> <td>Add effect: Spurcoat Rk. II</td></tr></tbody></table>
http://lucy.allakhazam.com/spell.html?id=40194&source=Live
<table class="spellview" cellpadding="3" width="95%"><tbody><tr><td class="spelllabel" align="right">1: </td> <td>Add effect: Spikethistle Coat Rk. II</td></tr> <tr><td class="spelllabel" align="right">2: </td> <td>Add effect: Mask of the Bosquetender Rk. II</td></tr></tbody></table>
http://lucy.allakhazam.com/spell.html?id=36251&source=Live
<table class="spellview" cellpadding="3" width="95%"><tbody><tr><td class="spelllabel" align="right">1: </td> <td>Add effect: Polyiridescent Rune Rk. II</td></tr> <tr><td class="spelllabel" align="right">2: </td> <td>Add effect: Mastermind's Rune Rk. II</td></tr></tbody></table>

So if it sees "Add effect:" on spell slot 2, it puts that buff as the icon to check for. A bunch have Add Effect: on line 1, and it wasnt always relevant, but slot 2 always was.

EDIT2: i get what youre saying, I could label it as anything. I technically look for slot 2 having an Add Effect, then I add slot 1 info as the buff. I can change it so it actually uses slot 2 buff. same difference supposing the person doesnt have it blocked. I think i could technically make it be all the icons, but that would be a little more work.

Reposted makeini.mac so it uses the buff icon from line 2. 6 of one, half a dozen of the other.
 
Last edited:
Reposted mmo_routines.inc.

Changed:
It now uses your [Section] SectionTotal=X amount for each section when it cycles rather than whatever arbitrary total I had put in there. It also no longer leaves the section if you skip a number, ie. Disc1=such, Disc3=that, it would previously /return when it saw no Disc2, but now it will cycle until DiscTotal=10 is reached.
 
Updated loot.inc to actually use the [Loot] MobTooClose=75 setting. It previously ignored that entirely ^_^. This means when a mob comes into camp, you should stop looting and engage the mob.
 
Added enhanced support to [Mana] section so it uses all the classes' mana recovery AAs and any spells you have memmed. It may be missing 1 variable after you run the makeini.mac until you run the botlite.mac due to my laziness of not wanting to put in 16 variable options.

Also added a Me.CurrentMana vs Spell[].Mana check to mmo_routines.inc so you dont try to cast spells if you dont have the mana.
 
Updating this a lot in the last 24 hours, just not mentioning it. Zdozbou has been running through it on his guys and letting me know a bunch of broken stuff.

I completely scrapped the buff section and redid it. It means the buffs are hardcoded rather than checking what you have and only buffing if you need it. Upside is that takes a lot less effort and doesnt crash you. Downside is that it is "dumb" logic. I am willing to trade no crashes for dumb logic at this point just to get them to work.

Also added in MainTankBuff to actually work.

Tons of misc updates to MMO_Routines.inc, botlite.mac, makeini.mac. Thanks to zdozbou for all the help!
 
how was this ment to handle bards? currently I get bard to sing by setting opening move to /twist 1234 but doing it this way bard doesn't try to mez or keep aura up.
 
mez, pulling, and twisting are all not supported right now. aka.. everything bard.

Mez isnt actually hard to implement for me now, i just dont have an enc yet. i just started one about an hour ago along with some other toons so itll be a bit before i can really test it.

bards may require their own custom version, i will worry about it more when i get there. Right now I am just maxing out toons. I've got ~12 maxed with a few more on deck. Then I will either shift focus to this macro or sell some accounts/PL to make up for the sunk costs of the first 12. So i do have a 100 bard with about 8500AA and everything useful maxed to test with once i finish up.
 
Reupped: makeini.mac, botlite.mac, loot.inc
Updated Disc to have its own custom routine.
Changed how Discs were loaded into ini via makeini so it has () around the conditions.

Updated loot.inc to account for mage aura.
 
I am getting the following error on all toons:

Code:
{} pairing ran into anther subroutine                                             
botlite.mac@44 (Main(string assist,int amount)): /if (${disccheck}) {             
The current macro has ended.

I looked into the ini, and disccheck isn't in there, so not sure what you are wanting to find.

Also, on the rogue ini, I am getting
Code:
DiscConditions20=
Disc-1=(Thief's Eyes)
DiscCategory-1=Offensive
DiscConditions-1=($\{Range.Between[30,$\{AssistAt}:$\{Target.PctHPs}]} && !$\{Melee.DiscID})

That entry appears at the end of the disc section.
 
Woops, updated botlite.mac and makeini.mac. I got overzealous with the parentheses. Thanks for the catch.
 
Updated botlite.mac and makeini.mac. It wasnt using clickies previously and there was no ClickyUse1= etc. So added those.

Added an option to load a different ini.

/inireload name_of_ini

example:
/inireload Bot_PeteSampras_warrior

and that will look for bot_petesampras_warrior.ini in your macros folder. It currently ignores MedAt setting in Endurance and Mana sections. Should load the rest.
 
Getting the following on 2 toons I have tested it on - new ini generated. i is 1 in the following ini entry, and here is the disc entry:

Code:
botlite.mac loaded - MNK
Unparsable in Calculation: '$'
botlite.mac@145 (Disc(int rest)): /if (${rest} && (!${Select[${DiscCategory${i},EndRegen]}||${Me.CombatState.NotEqual[COMBAT]})) /goto :skip
botlite.mac@126 (Rest): /if (${DiscTotal}) /call Disc 1
botlite.mac@104 (Main(string assist,int amount)): /if (${Me.CombatState.NotEqual[COMBAT]} && !${Me.Hovering}) /call Rest
The current macro has ended.
Failed to parse /if condition '(1 && (!${Select[NULL||TRUE))', non-numeric encountered
Variable resulted in '(1 && (!${Select[NULL||TRUE))', causing an error

DiscUse1=TRUE
Disc1=Impenetrable Discipline
DiscCategory1=Defensive
DiscConditions1=($\{Me.PctHPs}<70 && !$\{Melee.DiscID})

Just found the issue: Missing an ending curly brace:
Code:
/if (${rest} && (!${Select[${DiscCategory${i}[COLOR="Red"]}[/COLOR],EndRegen]}||${Me.CombatState.NotEqual[COMBAT]})) /goto :skip
 
Last edited:
Fixed. and removed the /echos because i didnt notice them still in there the first time. Thanks!