• 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

KissAssist Release KissAssist 7 Updated 06/13/2014 v7.3

Maskoi

old and salty
Joined
Sep 28, 2005
RedCents
82,796¢
attachment.php



KissAssist 7 Updated 06/13/2014 v7.3


Instructions/Settings Info Click Here


Current Features



  • Supports all classes for DPS Melee, Caster and Bards
  • Supports any level character
  • Set up characters to Pull, Tank or Assist others.
  • Select Player, Mercenary or Pet as Main Assist
  • Toons can follow Main Assist, remain stationary or return to anchor spot after mob dies.
  • Pets supported
  • Keep all buffs up Auras, Group, Self, Pet and Clickys
  • Creates an ini file for each toon
  • Separate Melee and Casting DPS settings.
  • Single Buff section for ease of use supports Spells/AA's/Items
  • Single DPS section for ease of use Spells/AA's/Items/Discs
  • Auto Mana/Endurance med detection depending on class.
  • Med settings to turn ON/Off and percentages to Start/Stop
  • Separate Bard twist setting for combat and non combat
  • Single Heal section for ease of use. Heal with any class or your pet
  • Loot mobs and set up what items to keep. sell, or destroy via ninjadvloot and separate loot.ini file
  • Auto accept rez if turned on via MQ2Rez
  • Auto accept party Invites
  • Auto accept trades from other players/toons
  • Mount support AA or Item.
  • Mez mobs feature
  • Auto detect progression servers and set variables accordingly for features not yet available. i.e. Extended Target Window.
  • Commands to turn on/off major features i.e. healing, mezzing, melee etc.
  • Basic mercenary control - Define when merc attacks.
  • Supports Attack Buffs
  • Supports Autofire
  • Rez players
  • Auto revive Mercs
  • AFK Tools - Inspired by AHTools
  • Burn Section
  • Pull mobs ini file support
  • Ignore mobs ini file support
  • Mez Immune ini file support
  • Recognition for players on Zek server
  • EQBC message support.

K.I.S.S. Assist is our macro for all classes/levels for exclusive use of our subscribers at RedGuides.com

Requires plugins* MQ2Cast, MQ2Exchange, MQ2Melee, MQ2MoveUtils, Mq2Rez, & MQ2Twist (Bards) ,Extended Target Window and ninjadvloot.inc file.

* All plugins are included in our compile.




If you like KissAssist and would like to help keep up my enthusiasm
for adding/updating features, Please consider donating. Thanks


Ninjadvloot.ini is included with the Official Compile or get it here
 

Attachments

Last edited:
KissAssist 7.3

KissAssist 7.3 is a major maintenance release. The entire spell casting engine has been revamped and tweaked.

Kiss 7.3 is also a milestone release in that it has incorporated code contributed from at least 5 different Redguides members.
Each contribution brings improvements to smoothing out many little issues that I would not have seen or had time to tackle.

Thanks to contributors and testers including but not limited to crystane, ctaylor22, thenomadman, william12 and petesampras


Incorporated MQ2Cast_spell_routines.inc in KissAssist for smoother and consistent spell casting using MQ2Cast.
You MUST DOENLOAD MQ2Cast_spell_routines.inc and copy to your macro folder.

Revamped most of the Debug code for easier reading when using the various /debug commands.
Added Banestrike event. Kiss will recognize and remember what banestrike does effect per session - Thanks PeteSampras
Added Banestrike range check - Thanks Crystane
Tweaked targeting in spell casting routine - Thanks Crystane
Auto add Mez Immune feature disabled. It was randomly adding mobs.
Default DPS size increased from 10 to 15
Fixed Kiss closing Mages inventory window every 2 secs if open
Fixed Kiss confusing some items and spells with same name like mage spaell -Wand of Phantasmal Modulation
Fixed Kiss confusing same spell/AA names like Chanters - Azure Mind Crystal
Shadow Knights will only use Voice of Thule AA if they have it
Fixed pet owners trying to heal themselves instead of their pet
Fixed Kiss not casting single buffs on group members - thanks ctaylor22
Spell worn off event tweak to be more responsive - thanks ctaylor22
AE section will now work on toons not attacking (Healers)
Pulling tweaked for smoother and quicker pulling. - thanks Crystane.
/kisscheck will now check GoM section

GoM now supports 2 spells in case first is down on refresh.
YOU MUST CHANGE YOUR INI FILE FROM GomSpell= to GomSpell1= OR THE GOM SECTION WILL NOT WORK

[GoM]
GoMSHelp=Format - Spell|Target, MA Me or Mob, i.e. Rampaging Servant Rk. II|Mob
GoMSpell1=Relentless Servant Rk. II|Mob
GoMSpell2=Bolt of Molten Magma|Mob
 
Last edited:
Can you also change the burn section to default to at least 10? I find that my hybrid toons have far more than 6 burns with AA and discs.
 
Can you also change the burn section to default to at least 10? I find that my hybrid toons have far more than 6 burns with AA and discs.

Find
Rich (BB code):
    /declare Burn[6]

Change it to what you want like

Rich (BB code):
    /declare Burn[10]
 
That is how I handle it now, but with every KA release I have several things I have to change including that. Just thinking it might help those who don't know about it or who aren't technical enough to realize they can do that. :-) just a thought!
 
Looks like petspells still sometimes ignore miscgem. I wonder if its a plugin issue since the code looks good in the macro.
 
Anyone else having trouble with their Bard with this release? It seems that mine is just standing around. I did kisscheck and no errors are returned. If I manually attack a mob, then KA starts taking over... sometimes.
 
no you can see if he is stuck in some loop or use mq2log to post what is spamming while he is just standing around.
 
OK so when he's just standing there, any command I gibe will do nothing. For example usually if you type /camphere it will return something like "turning camp OFF" or /loot on returns "turning loot ON". So my bard is just standing there and I type those or /debugcombat and it won't show anything. A few minutes later I can manually move and twist and suddenly he will take off and any commands I gave will return the message as they should. But when debug comes on, I can't see any issues. My ranger has been hesitating before attacking, but I haven't seen anything like that with my other toons. I rebooted this morning so will see if that helps.

Also, both my ranger and bard are sitting before they attack as if they need to mem a spell. I watched a they don't actually mem anything... Just bounce down and up again.
 
That bouncing is normal depending on where you have medon set and medstart. when my monk returns from pulling she always sits when her endurance is below my medstart setting. the only place in the Macro where you will find the /sit command is in the WaitSubs Sub routine. Try turning off Medon and see if they stop bouncing.

If they stop bouncing then set your medon back to your normal settings and try changing the highlighted line below in the WaitSubs section.

Rich (BB code):
    Sub WaitSubs
        /if (!${Me.Mount.ID} && !${Me.Sitting} || ${Select[${Role},puller]} && !${AggroTargetID} && !${Me.Sitting}) /sit
        /call CheckHealth
        /call CheckCures
        /call DoMezStuff
        /call WriteBuffs
        /call RezCheck
        /call CanIDoStuff
        /call DoPetStuff
        /call CheckBuffs
        /call MercsDoWhat
    /return

- - - Updated - - -

I just figured out why my puller keeps returning to camp and sitting. This one was a real anoyance. There is nothing wrong with the script it is doing exactly what it is supose to do. The problem is I remaped my Sit key to be my <End> key and Kissassist uses the default Down key to correct your Z radius if you are levitating to high. Guess what key that is? You got it, it is the Damn <End> key. I assigned my Z key to be my Down key and changed it in the Zcheck Sub to use my Z key to correct my z radius. Now it works the way I expect it to, So for any of you that like to customize you Keys in everquest just remember it could cause miner unexpected issues.

Have a nice one.

Ctaylor
 
Hmmm that might be my issue too ctaylor! My end key is my sit key also. :-) I know it isn't a med issue because I'm always FM and end and it happens right when the mob comes to camp. I will check that out!
 
Make sure to change the ZCheck sub to use a different key than your sit key, but assign another key to EQs Down direction key. I used the <Z> key. This is what the change looks like

Rich (BB code):
    Sub ZCheck(float Zcur, float Zdiff)
        | Move down if Z distance more than Zcheck due to levitation
        /if (${Zcur}>=${Zdiff}) {
            /keypress z hold
            /delay 10
            /keypress z
        }
    /return

The Highlighted line(s) is what you will change. You can't just ignore this routine or it will keep executing to move you closer to the ground. It is to keep you close enough to the mob so when you attack you can actually hit it.

Have fun guys.
 
don't use z its the default attack key for mq2melee

[Settings]
SpawnType=15
MeleeKeys=z
RangeKeys=x
 
I will look into that, but Last night I didn't see it spamming any messages. Either way, will need to use a key that nothing else is using. I may just change my Down key to a shifted state like <Alt><End> or something like that. then change Kiss to match.

- - - Updated - - -

Ok I tried finding those entries in my ini files and I wasn't able to locate those entries. What ini files should I be looking in.
 
eqclient.ini in eq folder maps out your non-default to EQ keymaps. it only shows the ones that are not default values. So you can temporarily change one if you want to see its official name.
Rich (BB code):
[KeyMaps]
KEYMAPPING_DUCK_1=45
KEYMAPPING_CYCLENPCTARGETS_1=33
KEYMAPPING_HAIL_1=34
KEYMAPPING_USE_1=18
KEYMAPPING_CMD_CLIPBOARD_PASTE_1=1073742034
KEYMAPPING_TARGETPC_1=65
KEYMAPPING_TARGETNPC_1=44
KEYMAPPING_CMD_MOVE_DOWN_1=49
KEYMAPPING_PITCHDOWN_1=49
KEYMAPPING_TARGET_XTARGET_2_1=21

Ok, so now you are asking, wtf do i do with that? well, /keypress can translate the key and figure it out on its own. So to back up, instead of /keypress s, you do /keypress back

So for example:
KEYMAPPING_CMD_MOVE_DOWN_1=49
KEYMAPPING_PITCHDOWN_1=49

I can:
/keypress CMD_MOVE_DOWN hold
/keypress PITCHDOWN

I need to verify those are the correct command names once mq2 is back up, but the other ones that I have used the naming conventions from that [KEYMAPS] section have all worked so I am assuming those 2 are correct to move down or to look/pitch down.
 
Thats good info will check it out when i get home. Could save some hassles for those people that actually change their default key binds
 
Even making the change to use the EQ defined key names may not fix the issue. I am able to replicate this problem with out MQ2 loaded. It is easy to do.

Using the code as an example. This is my modified ZCheck
Rich (BB code):
    Sub ZCheck(float Zcur, float Zdiff)
        | Move down if Z distance more than Zcheck due to levitation
        /return
        /if (${Zcur}>=${Zdiff}) {
            /keypress Ctrl+z hold
            /delay 10
            /keypress Ctrl+z
        }
    /return

when running back to camp If I try and hold the <Ctrl>+<Z> to get closer to the ground, everything works as expected. It is when I depress the <Z> key and Press it again Like the code above My toon sits, I think this is an effect of client trying to get you lower to the ground and causing you to /sit because your as close as you can get to the ground so to get lower it makes you /sit. That is all speculation, but that is what happens when I run my monk to camp to wait on a mob, she will sit down 90% of the time. I have even went as far as REMMING out the only statement in Kissassist that has the /sit command and my monk will still sit and it is all a side effect of trying to correct your Z Radius.

Here is some additional testing I did. The code changes are below:

Rich (BB code):
    Sub DoWeMove
        /if (!${ReturnToCamp} && !${ChaseAssist}) /return
        /echo DoWeMove Top Sitting: ${Me.Sitting}
        /doevents
        /call EndMacroIf
        /declare PullMDist int local 3
        /declare ZDist float local ${Math.Distance[${CampZLoc}:${Me.Z}]}
        /declare circleDirection string local
        /if (${Debug}) /echo DEBUG DoWeMove: Enter
        | - Shuts off ReturnToCamp if a toon moves a big distance defined by CampRadiusExceed ie CoH !${Pulled} || ${Pulling}
        /if (${ReturnToCamp}) {
            /if (${Math.Distance[${CampYLoc},${CampXLoc}]} > ${CampRadiusExceed}) {
                /varset ReturnToCamp 0
                /echo Leashing exceeded distance of ${CampRadiusExceed} turning off ReturnToCamp
                /return
            }
            /echo DoWeMove Top Sitting 1: ${Me.Sitting}
            /if (${Math.Distance[${CampYLoc},${CampXLoc}]} > 10 && !${AddsInCamp}) {
                | Prevent puller roles from returning to camphere spot and just pull from where they are if in camp radius.
                /if (${Select[${Role},puller,pullertank]} && ${Math.Distance[${CampYLoc},${CampXLoc}]}<=${CampRadius} && !${Medding}) /return
                /if (${Navigation.MeshLoaded} && ${Math.Distance[${CampYLoc},${CampXLoc}]} > 15) {
                    /doevents
                    /nav ${CampXLoc} ${CampYLoc} ${CampZLoc}
                    /delay 300 !${Navigation.Active}
                    /if (${Navigation.Active}) /nav stop
                } else {
                    /echo DoWeMove Top Sitting 2: ${Me.Sitting}
                    /doevents
                    /moveto mdist 10
                    /moveto loc ${CampYLoc} ${CampXLoc}
                    /delay 250 ${MoveTo.Stopped}
                    /echo DoWeMove Top Sitting 3: ${Me.Sitting}
                }
                | Move down if Z distance more than 3 due to levitation
                /echo DoWeMove Top Sitting 4: ${Me.Sitting}
                /call ZCheck ${ZDist} 3.1
                /if (!${CombatStart} || !${Pulled}) /face heading ${LookForward}
                /echo DoWeMove Top Sitting 5: ${Me.Sitting}
            }
        }
        /if (${ChaseAssist}) {
            /if (${Debug}) /echo DEBUG ChaseAssist
            /if (!${JustZoned} && (!${Spawn[=${MainAssist}].ID}  || ${Spawn[=${MainAssist}].Distance} > ${CampRadiusExceed}) || ${Math.Calc[${Spawn[=${MainAssist}].Z}-${Me.Z}]}>100) {
                /if (${Debug}) /echo DEBUG ChaseAssist exceed camp check
                /varset ChaseAssist 0
                /echo ChaseAssist distance exceeded: Turning off ChaseAssist
            }
            /if (${Spawn[=${MainAssist}].Distance} > ${ChaseDistance} && ${Spawn[=${MainAssist}].Distance} < ${CampRadiusExceed}) {
                /if (${Debug}) /echo DEBUG ChaseAssist MA distance check
                /if ( ${Spawn[=${MainAssist}].Type.Equal[Pet]}) {
                    /target ${Spawn[=${MainAssist}].Master}
                    /delay 10
                    /stick ${ChaseDistance} id ${Target.ID} loose
                } else /if ( ${Spawn[=${MainAssist}].Type.Equal[mercenary]}) {
                    /target ${Spawn[=${MainAssist}].Owner}
                    /delay 10
                    /stick ${ChaseDistance} id ${Target.ID} loose
                } else {
                   /stick ${ChaseDistance} id ${Spawn[=${MainAssist}].ID} loose
                }
                :AreWeThere
                 /delay 10
                 /if (${Me.Moving}) /goto :AreWeThere
            }
        }
        /echo DoWeMove Bottom Sitting: ${Me.Sitting}
        /if (${Debug}) /echo DEBUG DoWeMove: Leave 
    /return

Here is the Log:

Rich (BB code):
[2014/06/21 14:17:06] [MQ2] DoWeMove Top Sitting: FALSE
[2014/06/21 14:17:06] [MQ2] DoWeMove Top Sitting 1: FALSE
[2014/06/21 14:17:06] [MQ2] DoWeMove Top Sitting: FALSE
[2014/06/21 14:17:06] [MQ2] DoWeMove Top Sitting 1: FALSE
[2014/06/21 14:17:09] [MQ2] Looking for Close Range Mobs
[2014/06/21 14:17:09] [MQ2] PULLING-> a fisherman <- ID:5368 at 381 feet.
[2014/06/21 14:17:09]  PULLING-> a fisherman <- ID:5368 at 381 feet. 
[2014/06/21 14:17:17] [MQ2] Waitfor mob Top Sitting: FALSE
[2014/06/21 14:17:17] [MQ2] DoWeMove Top Sitting: FALSE
[2014/06/21 14:17:17] [MQ2] DoWeMove Top Sitting 1: FALSE
[2014/06/21 14:17:17] [MQ2] DoWeMove Top Sitting 2: FALSE
[2014/06/21 14:17:21] [MQ2] DoWeMove Top Sitting 3: FALSE
[2014/06/21 14:17:21] [MQ2] DoWeMove Top Sitting 4: FALSE
[2014/06/21 14:17:23] [MQ2] DoWeMove Top Sitting 5: TRUE
[2014/06/21 14:17:23] [MQ2] DoWeMove Bottom Sitting: TRUE
[2014/06/21 14:17:26] [MQ2] Waitfor mob Bottom Sitting: FALSE
[2014/06/21 14:17:27] [MQ2] ATTACKING -> a fisherman <-

You will notice the Monk is standing before /call zcheck and sitting when returning. zcheck does not call any other subs so trying to correct the z radius has an unexpected side effect of making you sit in certian instances.

Not sure how to correct this issue. Maskoi you have any ideas?
 
Untitled.png

Happened like twice now, with different chars, ending the macro.

I was looking into it, but not really sure. Its like he understands the full name is the inital letter of a name
 
Try adding a release condition to the zcheck delay

Rich (BB code):
| ----------------------------------------------------------------------------
| SUB: ZCheck /call ZCheck current ,Z to check, difference
| ----------------------------------------------------------------------------
    Sub ZCheck(float Zcur, float Zdiff)
        | Move down if Z distance more than Zcheck due to levitation
        /if (${Zcur}>=${Zdiff}) {
            /keypress end hold
            /delay 10 ${Math.Distance[${Target.Z}:${Me.Z}]}<=${Zdiff}
            /keypress end
        }
    /return
 
OK. I tried it and it didn't work. The reason is the difference between Target.Z and Me.Z is almost always going to be > Zdiff know matter how long you hold down the down(end) key. The reason for this is I am on land when I hit my camphere location and the Mob is under the water still swimming to me. I am sure in some zones the turane is still the same. If the area you are pulling is flat then there shouldn't be an issue. It is when you having to wait on a mob, and there farther than Zdiff away, and there is no way to decrease the difference. Then you sit.
 
i wasn't paying attention.
Rich (BB code):
${Math.Distance[${CampZLoc}:${Me.Z}]}<=${Zdiff}
I meant the Camp z that is captured when i the macro is started
 
That should work, will try it later. Started getting a little burned out and had some outsiders checking me out, So I just decided to camp for a while.

- - - Updated - - -

It didn't work. She still sits about 85% of the time. I just added a /if statement in the zcheck to stand if sitting for now. Hate it when 3 mobs inc and my monk is sitting, she take shit ton of damage that way.

I am using the 7.3.2 version and I have noticed when I pull 3 mobs to camp my monk and tank will grab the same mob, but when they go to grab the next mob, they both target different mobs and not the same one. I didn't have that problem with 7.3. Did something change?

I start tank targeting himself and when I start monk I target tank and start kissassist. This method has always worked in the past.
 
What version are you using, I was getting that error until I updated to 7.3.2 via the compile.
 
I had an idea for buffs.

Can you add a Puller tag to buffs ? So like Buff1=Divine Interposition|Puller So if you have a puller set in group role it will keep DI on your groups puller ?
 
Last edited:
I think Maskoi mentioned something about adding that option to one of the upgrades. So I would keep an eye out for that change.

The only problem you might have with keeping the puller with certain buffs is keeping him/her in camp long enough for the casters to buff them. I had this problem with trying to keep Levitation on my puller. I got it to work, but it took a few mods to get my Puller to click off the buff and wait for rebuff before continuing to pull. I have it working now, but it took me a while to figure it out.
 
Cleric still uses Divine Arbitration and Epic on MA out of his group just a fyi here.

Rich (BB code):
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=1
Heals1=Graceful Remedy Rk. III|85
Heals2=Fervent Renewal Rk. III|80
Heals3=Frenzied Renewal Rk. III|80
Heals4=Fraught Renewal Rk. III|80
Heals5=Reverent Light Rk. III|70|!MA
Heals6=Word of Reformation Rk. III|75
Heals7=Ward of Certitude Rk. III|45|MA
Heals8=Divine Arbitration|50
Heals9=Burst of Life|30
Heals10=Aegis of Superior Divinity|25
XTarHeal=2
 
Thanks.

I saw the error on Divine Arbitration and fixed it. It shouldn't be using Epic on toons out of group. Are you sure about that? Fix will be released in 7.4 tomorrow.
 
Trying to debug some last minute weirdness. Going to release it soon as i fix this last issue.
 
My SK is acting a bit weird with this release. He's not sticking as close to the mob as he was before and every now and then, when a spell is resisted, he'll cycle thru ALL nearby targets. NPC and PC alike. No idea what's causing this as I haven't changed anything in his ini for some time now. Haven't needed to really lol
 
Virtually flawlessly running for days on several boxes. The only issue is when the puller is medding for endurance it will not respond to anything attacking the camp. It just sits there and waits until full END before it will get up.

Thanks Maskoi!
 
Do you have medcombat=1 under general? that would cause the toon to not respond to mobs
 
7.4 will since I fixed it lol. right now 7.3 will throw an error and end the macro

releasing 7.4 tonight
 
KissAssist Release KissAssist 7 Updated 06/13/2014 v7.3

Users who are viewing this thread

Back
Top
Cart