• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
AKA: Also KissAssist

Release AKA: Also KissAssist 13.012AN

No permission to download
Here's how I kind of envisioned it; bare in mind the model is based off of Kiss, which received a massively needed changeover when you took apart and re-ordered and aligned things. This is coming from a Rizlona experience, where Raids are often blended by boxers, and multiple people potentially using different platforms.

I believe the user should be able to define when they are in an offtank role ( offtank and petofftank ). The roles should be very similar to an assist role in that it will assist the tank if:
-Another plate class is tanking mobs 2-X
-Mobs 2-X are mezzed or rooted in a spell that isn't their own (to make for pet exceptions where pet roots are turned on [Beastlords Hobble of Spirits])

During the 'Verify Target' phase of the macro, the tank role (tank, huntertank, etc) is the first up who scans the battlefield for an appropriate target. The offtanks could be placed in right after in the routine, to do the exact same scans, but ignoring the first mob.

In the combat routine, if the role were offtank or petofftank, conditions could be placed to verify if the target of their pet is targeting them, or another plate/pet. In either of these circumstances, they would be instructed to turn taunt off, back off, and proceed to verify target. This check could also be part of the GetTheLooseMob, or wherever the flow natural depicts.

The whole idea I had proposed is that the user (you) control who to set in offtank role (or offtankpet). These guys are rescue guys for the raid/group itself. This would allow the human controlled players to still work their magic, pick up mobs, etc etc.
What if there was just a /command to /bct offtank that would leave them on the mob they’re engaged on so that you could manually swap back/change targets and have your assist-mode dudes follow suit?
 
/if (${Select[${Spawn[${Spawn[${Pet.Target.ID}].AssistName}].Class.ShortName},war,pal,shd]} && ${PetTauntOn}) {
/varset PetAttack 0
/call PetBackOff FROMHERE
/if (${PetHoldOn}) /pet ${PetHold} on
/call PetTauntSwitch 0 FROMHERE
}

This hypothetically could be put in to have the pet disengage during its regular checks.


A command would work as well, however with how things often explode during mob control, would be better to have that routine automated so you can focus on more important tasks (atleast IMO).
 
I occasionally see the following error when running AKA

AKA_error.png

I have noticed that it usually occurs when Mq2Events fires a trigger especially if the update involves looting items :-

[taskupdate]
trigger="Your task '#1#' has been updated#*#"
command=/dgtell all [${EventArg1}] ${Task[${EventArg1}].Step} ${Task[${EventArg1}].Step.Status}


If I /event off and unpause AKA then I do not normally see the error again. I only really use mq2events to stop my druid killing himself with wrath so not a big issue
 
Last edited:
"Waiting on AltAbility to cast xxxx" multiple times now caused the whole macro to freeze and stop to do anyting.
Only way to overcome is to restart aka. Last time just a couple of minutes ago.
In this case the aa which was waited for was a debuff which was cast and landed sucessfully.
 
I occasionally see the following error when running AKA

I have noticed that it usually occurs when Mq2Events fires a trigger especially if the update involves looting items :-

[taskupdate]
trigger="Your task '#1#' has been updated#*#"
command=/dgtell all [${EventArg1}] ${Task[${EventArg1}].Step} ${Task[${EventArg1}].Step.Status}


If I /event off and unpause AKA then I do not normally see the error again. I only really use mq2events to stop my druid killing himself with wrath so not a big issue

Nothing in that event uses the alleged missing variable.

You're looking for something with ${Match} in it. Which isn't contained in the [taskupdate] section you've shown.

Also, line 1960 of AKAutil.inc (which is what the parser is reporting as the line the error occured on) does not contain ${Match}
/squelch /alert add 6 ${Me} as this is the line of code there.

So likely an issue with something like MQ2Melee, an MQ2Event, an MQ2HUD element or a React.
 
1631098541499.png

Hey - I tried to use /setpullarc so I wasn't pulling behind me and got this error, and then when I changed it back to 0 the error went away. Any chance you could look at this please?

Love what you do!
 
Suggestion to put the following into the Instruction section and to move its current content to commands section.

1. unzip the download into your macros folder
2. rename directory "aka-v13000AN" to "aka" (subdirectories: chars, data, libs, mycmds, addons, and patch)
3. move the file "aka.mac" to the macros folder
4. go to macros/aka/chars
5. manually create a new directory
6. name it your server shortname (e.g. cazic, antonius, etc.)
7. copy your KissAssist .ini files to the servershortname directory and prefix it with "a", e.g. aKissAssist_Uberguy.ini
8. if you dont have an .ini already, aka will create one when starting the macro for the first time on a char
9. log into EQ
10. use /mac aka\alsokissassist to start aka
11. start aka with each of your characters to populate the new variables in your INI, or to create new profiles
 
Hey guys, I believe this is currently unmaintained as AmericanNero has taken an unexplained leave of absence.

Not sure if anyone else wants to try to maintain.
 
Welcome back AmericanNero. I know there were many whose interests were piqued. Look forward to where you take this.
 
Coming up to speed on Lua, but will make tweaks if people want them here. A major feature will be zero config and spell upgrade so you can start at any level 1->115. Nothing is more annoying to me than to type in every single spell name. Advanced features will include the usual settings, conditions, and so on. It will have a blend of features from Maskoi and CTaylor's work on KA which I modded to AKA, as well as Morisato's work on RGMercs. There has been a lot of work on HUD's in Lua, so those will be involved. The architecture will be quite a bit different, with the aim of adding some smarts and extensibility.
 
Having used it for a while I have the following feedback now that you're back. Admittedly it may be down to something in my own setup but I troubleshooted a few different things to no avail;

1. Clerics weren't rezzing out of group, /rezallon did not change this although they did act like they were going to rez after this command but wouldn't actually fire the aa or spell whichever I specified.

2. Buffing out of group was not working, /akabuff did not change this and /tbmanager would just say they were on dannet and there was no need to add them.

3. On startup, KA wasn't reporting missing heal spells that were listed in the ini

The rezzing and buffing issues made me have to go back to vanilla KA, but there are many nice things in AKA so it was a pity.
 
Coming up to speed on LUA, but will make tweaks if people want them here. A major feature will be zero config and spell upgrade so you can start at any level 1->115. Nothing is more annoying to me than to type in every single spell name. Advanced features will include the usual settings, conditions, and so on. It will have a blend of features from Maskoi and CTaylor's work on KA which I modded to AKA, as well as Morisato's work on RGMercs. There has been a lot of work on HUD's in LUA, so those will be involved. The architecture will be quite a bit different, with the aim of adding some smarts and extensibility.
I love this please continue. I've gotten several cure errors I'll post them if you wish?
 
Any chance with the fix for next we can get rid of the subfolder aka? Just have it in the normal macro folder and the ini's in the config folder like normal? I have not tested it yet but from reading it looks very promising. I really like the off tank ability and would like to test that in next.

If this has been done and I'm ignorant to that I'm sorry. I should really be in bed atm.
 
I used AKA from the start, and look forward to using it again once updates start to role out for this bad boy.
 
1) Next puts all ini files in /config. Ive no means to put ini into /macros/aka. Now they live in /config/aka/chars/servershortname

Vanilla allows me to place ini within /aka, where ini files are stored in /chars/servershortname. This was done because the macros folder gets congested with ini.

I feel like I'm missing something here. Rather than hardcode the dir, I can provide a param?

2) In /aka, you can copy the aka.mac to the macros folder. Because the code is so extensive, the monolithic ka code was modularized.

Please let me know if I missed the mark.
 
1) Next puts all ini files in /config. Ive no means to put ini into /macros/aka. Now they live in /config/aka/chars/servershortname

Vanilla allows me to place ini within /aka, where ini files are stored in /chars/servershortname. This was done because the macros folder gets congested with ini.

I feel like I'm missing something here. Rather than hardcode the dir, I can provide a param?

2) In /aka, you can copy the aka.mac to the macros folder. Because the code is so extensive, the monolithic ka code was modularized.

Please let me know if I missed the mark.

he wants the configs in the config folder
 
Next will actually check both places. For it not to use the one in config, it has to exist in the macros path though. But all the paths are available under the {MacroQuest.Path[]}
 
1) Next puts all ini files in /config. Ive no means to put ini into /macros/aka. Now they live in /config/aka/chars/servershortname

Vanilla allows me to place ini within /aka, where ini files are stored in /chars/servershortname. This was done because the macros folder gets congested with ini.

I feel like I'm missing something here. Rather than hardcode the dir, I can provide a param?

2) In /aka, you can copy the aka.mac to the macros folder. Because the code is so extensive, the monolithic ka code was modularized.

Please let me know if I missed the mark.
Yeah what others have said. Ini or configurable code located with the other config code. Also maybe just me but I hate macros in sub folders as well. To much muscle memory to include sub folders when running items.
Could be wrong but it’s easier to tell new players to just /mac macro name instead of unless you run this one and then it’s /mac folder\macro name. Also makes instillations easier and less likely to screw up.

Just personal preference and I’ve been wrong like I was with next. I do get the cleaning up the ini with sub folders but locating them all in the same location is key I feel. Having macros in sub folders doesn’t make sense to me though as that’s not common for the end user to be modifying heavily.
Just my 2 cents. Not criticizing by no means as I don’t have the capacity to do what you’re building by. I means. Hats off to you and all the other devs!!
 
1) Moving /macros/aka/aka.mac to /macros is part of the installation instructions.

2) The server shortname allows you to create characters with the same name across servers, as well as easily find them in the directory structure. HOWEVER, that said...

An option can be provided, where the default will be save INI files in a servershortname directory structure. If disabled, then INI would be saved in the /macros folder (Vanilla), or /config (Next). To avoid filename collisions, I would add the servershortname to the filename. An added advantage is files would show up in alphabetic order. E.g. aKissAssist_ServerShortName_PCName.ini

Does that work for everyone?

I totally appreciate everyone's feedback. I'll be testing the issues folks are reporting. If folks can mail me INI, or paste it here, that would help a great deal.
 
@Kambic MuleAssist' /bardinvis is a really nice feature. I think it can be generalized as an option, so that on med, prior to sitting, invis is cast. MuleAssist looks at whether an invis song is memmed then casts it, and equips an instrument, so it expects a bandolier entry for it. MA also searches through the book for an invis song, which is super nice. Maybe I can implement something like that.

Q: Aren't instruments deprecated? Emulators might want the option? Does an instrument allow you to twist better?

As a starting point, I can provide an entry that allows a spell to be cast immediately prior to med, so you can make it invis or whatever you wish, which would be memmed and cast.
 
I love this please continue. I've gotten several cure errors I'll post them if you wish?

Hi @Sifter228 I'm unable to send you an email / conversation.

Can you give me any particulars on the cure errors? Spells or circumstances that you encountered? If you have an INI of the particular char I'd love to see it.

Thanks!
 
@Kambic MuleAssist' /bardinvis is a really nice feature. I think it can be generalized as an option, so that on med, prior to sitting, invis is cast. MuleAssist looks at whether an invis song is memmed then casts it, and equips an instrument, so it expects a bandolier entry for it. MA also searches through the book for an invis song, which is super nice. Maybe I can implement something like that.

Q: Aren't instruments deprecated? Emulators might want the option? Does an instrument allow you to twist better?

As a starting point, I can provide an entry that allows a spell to be cast immediately prior to med, so you can make it invis or whatever you wish, which would be memmed and cast.

Most automation tools I don't think automatically break invis, by design. So that someone doesn't start casting and drop invis while you're moving camps or something. If someone is mixing AKA on one toon with some other script on another toon, invis'ing automatically may pretty much pause other toons automation indefinitely.
I think the command approach was more for on demand i want to invis now.
 
Hi @Sifter228 I'm unable to send you an email / conversation.

Can you give me any particulars on the cure errors? Spells or circumstances that you encountered? If you have an INI of the particular char I'd love to see it.

Thanks!
I'm trying to get you this. Screen shot won't work it IDs me. I can post the ini though.
 
I'm trying to get you this. Screen shot won't work it IDs me. I can post the ini though.

If you use Shift-Windows-S, it gives you the ability to use a marker and make edits to cover up a name. At bottom it says "Select here to mark up and share the image".

1638385968412.png just for example.
 
[General]
KissAssistVer=13.007AN
Role=tank
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=1
ChaseAssist=0
ChaseDistance=25
MedOn=1
MedStart=5
MedStop=90
MedCombat=0
SitToMed=1
LootOn=1
RezAcceptOn=1|96
AcceptInvitesOn=1
GroupWatchOn=0
GroupWatchCheck=FALSE
CorpseRecoveryOn=1
EQBCOn=1
DanNetOn=0
DanNetDelay=20
IRCOn=0
CampfireOn=1
CharInfo=Monk|115|GOLD
DefaultUI=TRUE
ScatterOn=0
XTSlot=1
LOSBeforeCombat=0
GroupMedStart=20
GroupMedStop=80
XTarWatch=0
XTarWatchList=Xtar slots here Example: 5|6|7
XTarWatchTargets=Who to assign and watch. Any target: NPCs, PCs, Pets, Mercs etc. StartSlot|Name1|Name2.. Example: 2|Uberguy|Ubergal|Captain Underpants
[Buffs]
BuffsOn=1
BuffsSize=14
Buffs1=Breather Rk. II|End|20|Cond14
Buffs2=Master's Aura|aura|Cond14
Buffs3=Mysterious Belt of Daggers|summon|Well Balanced Throwing Knife|200|Cond14
Buffs4=Guardian wolf Whistle|dual|Summon Familiar:Guardian Wolf|Cond14
Buffs5=Memento of the Ungod's Suffering|dual|Aura of the Void II|Cond14
Buffs6=Frigid Fur Stole|dual|Illusionary Spikes XXI|Cond14
Buffs7=IceSprite Familiar|dual|Spirit of ice|me|Cond14
Buffs8=Nimbus of Frost|dual|Nimbus of Frost|nimbus|me|Cond14
Buffs9=${InvSlot[Charm].Item.Name}|Dual|${Me.Inventory[Charm].Spell}|Cond14
Buffs10=Relax|end|5|Cond14
Buffs11=Mend|me|Cond11
Buffs12=command:/Sit|Cond16
Buffs13=Nightmare Nimbus|dual|Nightmare Nimbus|nimbus|me|Cond14
Buffs14=Decisive Reflexes|cond14
RebuffOn=1
CheckBuffsTimer=20
PowerSource=NULL
ProvideCoth=0
ProvideModRods=0
RequestModRods=0
BuffOnJoin=0
[DPS]
DPSOn=1
DPSSize=40
DPSSkip=0
DPSInterval=2
DPS1=Fists of Wu|100|me|Cond5
DPS2=Icewalker's Precision Strike|99
DPS3=Icewalker's Synergy|99
DPS4=Eye of the Storm|99
DPS5=Two-Finger Wasp Touch|99
DPS6=Composite Form|99
DPS7=Zan Fi's Whistle|99
DPS8=Heron Stance|99
DPS9=Curse of Fifteen Strikes|99
DPS10=Drunken Monkey Style|99|Cond12
DPS11=Spire of the Sensei|99
DPS12=Barrage of Fists|98|Mash
DPS13=Phantom Fisticuffs|98|Mash
DPS14=Five Point Palm|98
DPS15=Sting of the Scorpikis|98
DPS16=Vigorous Shuriken|98
DPS17=Transcended Fistwraps of Immortality|99
DPS18=Null ${InvSlot[Chest].Item.Name}|99
DPS19=Celestial Fists|100|Cond2
DPS20=Intimidation|98|Mash
DPS21=Disarm|98
DPS22=Tiger Claw|98|Mash|Cond7
DPS23=Eagle Strike|98|Mash|Cond8
DPS24=Kick|98|Mash|Cond9
DPS25=Flying Kick|98|Mash|Cond10
DPS26=Mend|100|Mash|Cond3
DPS27=Feign Death|100|Cond11
DPS28=Technique of the Celestial Fist|99|Cond1
DPS29=Relax|99|Cond6
DPS30=Eye of the Storm|99
DPS31=Eagle's Poise|99
DPS32=Ironfist Discipline|99
DPS33=Speed Focus Discipline|99
DPS34=Terrorpalm Discipline|99
DPS35=Ton Po's Stance|99
DPS36=Swift Tails' Chant|75
DPS37=Earthforce Discipline|100|Cond3
DPS38=command:/Stand|100|Cond15
DPS39=Icewalker's Coalition|99
DPS40=Null
DebuffAllOn=0
DPSHelp=Format - Spell|%Health. ex. DPS1=Burst Of Flame|100 casts the spell when the mob is at 100% health
DPSSkipHelp=Stop DPS when mob is below % health.
DPSRateDelayHelp=Allows group to balance agro. Each dps round subtracts DPSRateIncrease which speeds up dps. If pc gets hit, it adds DPSRateReduction to slow them down. Combat smooths out to a rate at which tank can hold agro without it being stolen.
DPSRateStartDelay=10
DPSRateReduction=5
DPSRateIncrease=5
[Heals]
HealsOn=2
HealsSize=9
Heals1=Mend|50|me
Heals2=Earthforce Discipline|50|me
Heals3=Blood Drinker's Coating|50|me
Heals4=Diplomatic Papers|40|me
Heals5=Rescind Death|40|me
Heals6=Staunch Recovery|30|me
Heals7=Magnanimous Force|30|me
Heals8=Armor of Experience|30|me
Heals9=Steadfast Servant|75|me
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
AutoRezOn=0
HealGroupPetsOn=0
RezMeLast=0
HealInterval=1
RezCheckTimer=1
PetHealsOnly=0
PetHealInterval=1
[Cures]
CuresOn=1
CuresSize=1
Cures1=Purify Body|me
CheckCuresTimer=1
[Burn]
BurnSize=13
BurnAllNamed=1
Burn1=Silent Strikes
Burn2=Ton Po's Stance
Burn3=Heel of Zagali
Burn4=Dragon's Balance
Burn5=Icewalker's Synergy
Burn6=Heron Stance
Burn7=Two-Finger Wasp Touch
Burn8=Five Point Palm
Burn9=Focused Destructive Force
Burn10=Terrorpalm Discipline
Burn11=Infusion of Thunder
Burn12=${InvSlot[Chest].Item.Name}|99
Burn13=Null
UseTribute=0
[KConditions]
ConOn=1
CondSize=16
Cond1=${Me.PctEndurance} < 80
Cond2=!${Me.Song[Celestial Tranquility].ID} && ${Spell[Celestial Tranquility].Stacks} && ${Me.FreeBuffSlots} > 0
Cond3=${Me.PctHPs} < 50
Cond4=${Me.PctHPs} < 90 && !${Me.Feigning}
Cond5=!${Me.Song[Fists of Wu].ID}
Cond6=${Me.PctEndurance} < 21
Cond7=${Me.Song[Drunken Monkey Tiger Claw Boost].ID} && !${Me.Song[Drunken Monkey Eagle Strike Boost].ID}
Cond8=!${Me.Song[Drunken Monkey Tiger Claw Boost].ID} || ${Me.Song[Drunken Monkey Eagle Strike Boost].ID}
Cond9=${Me.Song[Drunken Monkey Kick Boost].ID} && !${Me.Song[Drunken Monkey Flying Kick Boost].ID}
Cond10=!${Me.Song[Drunken Monkey Kick Boost].ID} || ${Me.Song[Drunken Monkey Flying Kick Boost].ID}
Cond11=${Me.PctHPs} < 30
Cond12=!${Me.Buff[Zan Fi's Whistle].ID}
Cond13=!${Me.Buff[Nimbus of the Wisp].ID} && !${Me.Feigning}
Cond14=!${Me.Feigning}
Cond15=${Me.PctHPs} > 30
Cond16=${Me.PctEndurance} < 90
[Melee]
AssistAt=99
MeleeOn=1
FaceMobOn=1
MeleeDistance=35
StickHow=loose
AutoFireOn=0
UseMQ2Melee=0
TargetSwitchingOn=1
RescueCharsOn=1
DropInvisMAAssist=1
MoveIfCantSee=1
MoveIfOOR=1
OKToGetHit=1
MoveWhenHit=0
[GMail]
GMailHelp=Events currently support - Dead,Drag,GM,Level,Named,Leftgroup,Tells
GMailOn=0
GMailSize=5
GMail1=NULL
GMail2=NULL
GMail3=NULL
GMail4=NULL
GMail5=NULL
[AE]
AEOn=0
AESize=10
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
AE6=NULL
AE7=NULL
AE8=NULL
AE9=NULL
AE10=NULL
[Aggro]
AggroOn=0
AggroSize=5
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
Aggro4=NULL
Aggro5=NULL
AggroHelp=Use to lower or raise hate with a mob. Spell/Ability|pct hate|< gain/lose > aggro. E.g. Boggle|60|> or Taunt|100|<
MitigateHelp=Mitigate aggro: debuff, slow methods to handle loose mobs.
MitigateDebuff=null
MitigateSlow=null
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=1
MercAssistAt=99
MercAttackDistance=75
[Pull]
PullWith=Distant Strike
PullMeleeStick=0
MaxRadius=1000
MaxZRange=50
UseWayPointZ=0
PullWait=5
PullRadiusToUse=90
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
PullPause=30|2
PullLevel=0|0
PullArcWidth=180
PullOnReturn=0
PullManual=1
PullEscapeMethod=null
PullCampAdvanceHelp=Puller calls the group to them and continues pulling from the new camp
PullCampAdvanceOn=0
PullCampDistFromCamp=150
PullCampDistToMob=150
[PullAdvanced]
PullLocsOn=0
[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=1
AFKGMAction=1
AFKPCRadius=500
CampOnDeath=1
ClickBacktoCamp=1
[KissError]
LastCMD:=/endmacro
ErrorDateTime:=11/03/2021 23:56:20
ErrorMsg:=DoCommand - Couldn't parse 'and:/Sit'
DataError:=NULL
SyntaxError:=NULL
RunningTime:=65424350
BuildDate:=20211102
CurrentUI:=default
[KVars]
VarsOn=0
VarsSize=10
Vars1=NULL
Vars2=NULL
Vars3=NULL
Vars4=NULL
Vars5=NULL
Vars6=NULL
Vars7=NULL
Vars8=NULL
Vars9=NULL
Vars10=NULL
 

Attachments

  • EQ000034 (2).jpg
    EQ000034 (2).jpg
    58.8 KB · Views: 9
Release AKA: Also KissAssist

Users who are viewing this thread

Back
Top
Cart