• 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

Question - Changing targets in fight !!

eqclass

Member
Joined
Sep 20, 2018
RedCents
350¢
Typical fights where all are hammering away on target A, and adds poppin.

How do you get em all to change from target A to B, BEFORE target A is 0% and dead?
 
From the Kiss11 thread where it was talked about for a bit: https://www.redguides.com/community/threads/kiss11.67140/page-2

#45
Biggest WISH ever!

KissAssist picks a target in your extended target window and locks it in until it dies. I thought this version had changed that until I set up the DPS section. I was testing the buff section while killing multiple mobs. When I just had the buff section active, I found I could change targets and run around freely, with any number of mobs on aggro. If I was say "balancing" mobs or wanted to kill a certain mob first (Achievements), I could easily switch between each and my target stayed my target. I could back up and keep my front to the 10 angry mobs with out KA driving me to the one at the back of the pile (exposing my back side, ouch!). I was sold on that shit. Hell, I am the tank and main assist, I should be able to pick my target and my location to fight.....
Then I filled in the DPS section and it all changed. The same 10 mobs, but say no to balancing them or choosing which to kill first without having to pause the macro. Then there was the running right into the center of them (my butt still hurts), it was out of my control. Now I understand if you got a Tank/Assist who wants to pull 10 and hands off for the easy shit or non achievement, this works fine. I want to be the semi lazy guy to pick targets and keep my ass intact, while KA does all the buffing, aggroing and dpsing.

Couldn't there be parameter that would you could set that would allow you to change between full automation and some control?

Melee section:
TargetAuto = 0 (If target is empty and I have aggro KA will pick it for me, if I switch, stay with that target until it dies or I change it again.)
Target Auto = 1 (KA has your back, hands off the targeting button)

StickHow=Manual (Let me Drive)
StickHow=XXX (KA has your back, sit back and relax)

Guess I am a half breed, I want my cake and to eat it too. I enjoy the game, just not all the mashing of buttons. I love to tweak my ini files for dps, aggroing, disc's, healing, burns. etc... But I still want to pick my target move my toon.


Negative. I will look into how and give it a try.

Some research: https://www.redguides.com/community...-accomplish-a-set-of-goals.67109/#post-366139

This SK is looking for the same thing I am talking bout. Looks like he wasn't having much luck either.

Manual mode: https://www.redguides.com/community/threads/kissassist-manual-role.65777/.
https://www.redguides.com/community/threads/kissassist-manual-role.65777/

Very nice post. I tried manual mode, but soon as I put the dps section on, I lost control of targeting. I could run around freely though. While it would work by making a hot key to toggle the dps section on and off, for when i want to pick my own targets, I then loose everything I have in the dps section, which includes my bandolier. That is the issue I feel myself and others would like to have a setting to let us just pick our own targets and run around without KA trying to take over that portion, yet kicking ass in all the other ways it does
 
yes it will

I stand corrected. I see where it is enforcing keeping MyTargetID as you current target. Would only take about 4 lines of code to allow for the MA to freely switch mobs, but I am not sure what it would break.

You can try it out if you want. Just replace your CombatTargetCheck Routine with this:

Code:
    Sub CombatTargetCheck
        | If mob is dead return
        /if (${Spawn[${MyTargetID}].Type.Equal[Corpse]} || !${Spawn[${MyTargetID}].ID} || ${DPSPaused}) /return
        /declare CMyTargetID int Local ${MyTargetID}
        | Check target matches MA if group mainassist assigned and MA is in group
        /if (${Spawn[=${MainAssist}].ID} && ${Group.MainAssist.ID} && ${Spawn[=${MainAssist}].ID}==${Group.MainAssist.ID}) {
            /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Group.MainAssist.ID}!=${Me.ID}) {
                /if (${MyTargetID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc].ID}) {
                    /echo My target does not match MA's. Switching to new target.
                    /varset MyTargetID ${Me.GroupAssistTarget.ID}
                    /varset MyTargetName ${Spawn[id ${Me.GroupAssistTarget.ID}].CleanName}
                }
            } else /if (${Group.MainAssist.ID}==${Me.ID} && ${Target.ID}!=${MyTargetID}) {
                /echo I am MA, and I switched to new Target.
                /varset MyTargetID ${Target.ID}
                /varset MyTargetName ${Target.CleanName}
            }
        }
        /if (${CMyTargetID}!=${MyTargetID} && ${Target.ID}!=${MyTargetID} && ${Spawn[${MyTargetID}].ID}) {
            /squelch /target id ${MyTargetID}
            /delay 10 ${Target.ID}==${MyTargetID}
            /if (!${Group.Member[${MainAssist}].Index} && ${Target.Type.NotEqual[PC]}) /xtarget set ${XTSlot} currenttarget
        }
    /return

This should allow your Group Main Assist to switch targets. There is still 1 line of code in the Combat routine that could switch you back if you click on a new target after the CombatTargetCheck routine. Would need to add a flag to manage this in a way, so turning on and off this function can be controlled by the user.
 
I stand corrected. I see where it is enforcing keeping MyTargetID as you current target. Would only take about 4 lines of code to allow for the MA to freely switch mobs, but I am not sure what it would break.

You can try it out if you want. Just replace your CombatTargetCheck Routine with this:

Code:
    Sub CombatTargetCheck
        | If mob is dead return
        /if (${Spawn[${MyTargetID}].Type.Equal[Corpse]} || !${Spawn[${MyTargetID}].ID} || ${DPSPaused}) /return
        /declare CMyTargetID int Local ${MyTargetID}
        | Check target matches MA if group mainassist assigned and MA is in group
        /if (${Spawn[=${MainAssist}].ID} && ${Group.MainAssist.ID} && ${Spawn[=${MainAssist}].ID}==${Group.MainAssist.ID}) {
            /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Group.MainAssist.ID}!=${Me.ID}) {
                /if (${MyTargetID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc].ID}) {
                    /echo My target does not match MA's. Switching to new target.
                    /varset MyTargetID ${Me.GroupAssistTarget.ID}
                    /varset MyTargetName ${Spawn[id ${Me.GroupAssistTarget.ID}].CleanName}
                }
            } else /if (${Group.MainAssist.ID}==${Me.ID} && ${Target.ID}!=${MyTargetID}) {
                /echo I am MA, and I switched to new Target.
                /varset MyTargetID ${Target.ID}
                /varset MyTargetName ${Target.CleanName}
            }
        }
        /if (${CMyTargetID}!=${MyTargetID} && ${Target.ID}!=${MyTargetID} && ${Spawn[${MyTargetID}].ID}) {
            /squelch /target id ${MyTargetID}
            /delay 10 ${Target.ID}==${MyTargetID}
            /if (!${Group.Member[${MainAssist}].Index} && ${Target.Type.NotEqual[PC]}) /xtarget set ${XTSlot} currenttarget
        }
    /return

This should allow your Group Main Assist to switch targets. There is still 1 line of code in the Combat routine that could switch you back if you click on a new target after the CombatTargetCheck routine. Would need to add a flag to manage this in a way, so turning on and off this function can be controlled by the user.


If this ever gets traction and gets a "option" to allow a MA to switch targets and KA not switch you back. Let me know! I have been hoping for this for a long time.
 
Will that code mod also fix this one? Tank in manual-mode & DPS off, if KA sees a Named, it will lock on the Named. Or is that a Burn code thing.
 
Will that code mod also fix this one? Tank in manual-mode & DPS off, if KA sees a Named, it will lock on the Named. Or is that a Burn code thing.

The change is for general targeting for the MA, Once you are in the combat routine your MyTargetID has been set. Targeting a named gets done before the combat routine is entered, So I would say that you could switch from a named to a different target. But once you kill your current target, the Named will always be the next target to be acquired by the MA.
 
If this ever gets traction and gets a "option" to allow a MA to switch targets and KA not switch you back. Let me know! I have been hoping for this for a long time.


The option would be the way to go. Just default the option to NOT allow target swapping and nothing would change for anyone.
 
I stand corrected. I see where it is enforcing keeping MyTargetID as you current target. Would only take about 4 lines of code to allow for the MA to freely switch mobs, but I am not sure what it would break.

You can try it out if you want. Just replace your CombatTargetCheck Routine with this:

Code:
    Sub CombatTargetCheck
        | If mob is dead return
        /if (${Spawn[${MyTargetID}].Type.Equal[Corpse]} || !${Spawn[${MyTargetID}].ID} || ${DPSPaused}) /return
        /declare CMyTargetID int Local ${MyTargetID}
        | Check target matches MA if group mainassist assigned and MA is in group
        /if (${Spawn[=${MainAssist}].ID} && ${Group.MainAssist.ID} && ${Spawn[=${MainAssist}].ID}==${Group.MainAssist.ID}) {
            /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Group.MainAssist.ID}!=${Me.ID}) {
                /if (${MyTargetID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc].ID}) {
                    /echo My target does not match MA's. Switching to new target.
                    /varset MyTargetID ${Me.GroupAssistTarget.ID}
                    /varset MyTargetName ${Spawn[id ${Me.GroupAssistTarget.ID}].CleanName}
                }
            } else /if (${Group.MainAssist.ID}==${Me.ID} && ${Target.ID}!=${MyTargetID}) {
                /echo I am MA, and I switched to new Target.
                /varset MyTargetID ${Target.ID}
                /varset MyTargetName ${Target.CleanName}
            }
        }
        /if (${CMyTargetID}!=${MyTargetID} && ${Target.ID}!=${MyTargetID} && ${Spawn[${MyTargetID}].ID}) {
            /squelch /target id ${MyTargetID}
            /delay 10 ${Target.ID}==${MyTargetID}
            /if (!${Group.Member[${MainAssist}].Index} && ${Target.Type.NotEqual[PC]}) /xtarget set ${XTSlot} currenttarget
        }
    /return

This should allow your Group Main Assist to switch targets. There is still 1 line of code in the Combat routine that could switch you back if you click on a new target after the CombatTargetCheck routine. Would need to add a flag to manage this in a way, so turning on and off this function can be controlled by the user.


Works beautifully. My MA can now switch targets, even with MQ2melee running. This is freaking awesome!


Things to Note:

You must be assign MA in the group window to be able to switch targets.
If you USE MQ2Melee and change targets, it may take 2-8 seconds for attack to turn back on. (when you switch targets, attack turns off, everything still works during this period)
If you DO NOT use MQ2Melee, your attack does not turn off when switching targets.

If your using Kissassist1004e15, your CAN NOT use the bandolier section, this will kill the macro.

@ctaylor22

Now can you make it so if you are assigned as the group tank, that you can pick your own target and switch around, while the group would still follow the MA?

For fights that involve adds, this would be amazing!

Group Tank tanks named, while MA switches around to the adds (rest of group follows MA)
 
Last edited:
@Cytaylor22 There is an issue when using Kissassist1004e15 with the above code. If you are using the Bandolier section, the macro ends in an error: Subroutine Dobandolier wasn't found. Once I turned off that section, it works.
 
@Cytaylor22 There is an issue when using Kissassist1004e15 with the above code. If you are using the Bandolier section, the macro ends in an error: Subroutine Dobandolier wasn't found. Once I turned off that section, it works.

@ctaylor22 doesn’t support that mod of kissassist as its not the “official” Redguides version. That mac is supported by @eqmule.
 
I am liking the target switching but I would like more, the ability to designate a priority of targets. Yes I want the group to kill the named but if an add spawns I want the group to switch to the add and kill it before swapping back. It would be cool if we could mark targets 1,2,3 and kill them not only in that order but that priority, mark named as 3 and let you mark adds as 1 and 2, and let you flag new spawns as 1 or 2 etc.
 
I stand corrected. I see where it is enforcing keeping MyTargetID as you current target. Would only take about 4 lines of code to allow for the MA to freely switch mobs, but I am not sure what it would break.

You can try it out if you want. Just replace your CombatTargetCheck Routine with this:

Code:
    Sub CombatTargetCheck
        | If mob is dead return
        /if (${Spawn[${MyTargetID}].Type.Equal[Corpse]} || !${Spawn[${MyTargetID}].ID} || ${DPSPaused}) /return
        /declare CMyTargetID int Local ${MyTargetID}
        | Check target matches MA if group mainassist assigned and MA is in group
        /if (${Spawn[=${MainAssist}].ID} && ${Group.MainAssist.ID} && ${Spawn[=${MainAssist}].ID}==${Group.MainAssist.ID}) {
            /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Group.MainAssist.ID}!=${Me.ID}) {
                /if (${MyTargetID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc].ID}) {
                    /echo My target does not match MA's. Switching to new target.
                    /varset MyTargetID ${Me.GroupAssistTarget.ID}
                    /varset MyTargetName ${Spawn[id ${Me.GroupAssistTarget.ID}].CleanName}
                }
            } else /if (${Group.MainAssist.ID}==${Me.ID} && ${Target.ID}!=${MyTargetID}) {
                /echo I am MA, and I switched to new Target.
                /varset MyTargetID ${Target.ID}
                /varset MyTargetName ${Target.CleanName}
            }
        }
        /if (${CMyTargetID}!=${MyTargetID} && ${Target.ID}!=${MyTargetID} && ${Spawn[${MyTargetID}].ID}) {
            /squelch /target id ${MyTargetID}
            /delay 10 ${Target.ID}==${MyTargetID}
            /if (!${Group.Member[${MainAssist}].Index} && ${Target.Type.NotEqual[PC]}) /xtarget set ${XTSlot} currenttarget
        }
    /return

This should allow your Group Main Assist to switch targets. There is still 1 line of code in the Combat routine that could switch you back if you click on a new target after the CombatTargetCheck routine. Would need to add a flag to manage this in a way, so turning on and off this function can be controlled by the user.
I stand corrected. I see where it is enforcing keeping MyTargetID as you current target. Would only take about 4 lines of code to allow for the MA to freely switch mobs, but I am not sure what it would break.

You can try it out if you want. Just replace your CombatTargetCheck Routine with this:

Code:
    Sub CombatTargetCheck
        | If mob is dead return
        /if (${Spawn[${MyTargetID}].Type.Equal[Corpse]} || !${Spawn[${MyTargetID}].ID} || ${DPSPaused}) /return
        /declare CMyTargetID int Local ${MyTargetID}
        | Check target matches MA if group mainassist assigned and MA is in group
        /if (${Spawn[=${MainAssist}].ID} && ${Group.MainAssist.ID} && ${Spawn[=${MainAssist}].ID}==${Group.MainAssist.ID}) {
            /if (${Target.ID}!=${Me.GroupAssistTarget.ID} && ${Group.MainAssist.ID}!=${Me.ID}) {
                /if (${MyTargetID}!=${Me.GroupAssistTarget.ID} && ${Spawn[id ${Me.GroupAssistTarget.ID} npc].ID}) {
                    /echo My target does not match MA's. Switching to new target.
                    /varset MyTargetID ${Me.GroupAssistTarget.ID}
                    /varset MyTargetName ${Spawn[id ${Me.GroupAssistTarget.ID}].CleanName}
                }
            } else /if (${Group.MainAssist.ID}==${Me.ID} && ${Target.ID}!=${MyTargetID}) {
                /echo I am MA, and I switched to new Target.
                /varset MyTargetID ${Target.ID}
                /varset MyTargetName ${Target.CleanName}
            }
        }
        /if (${CMyTargetID}!=${MyTargetID} && ${Target.ID}!=${MyTargetID} && ${Spawn[${MyTargetID}].ID}) {
            /squelch /target id ${MyTargetID}
            /delay 10 ${Target.ID}==${MyTargetID}
            /if (!${Group.Member[${MainAssist}].Index} && ${Target.Type.NotEqual[PC]}) /xtarget set ${XTSlot} currenttarget
        }
    /return

This should allow your Group Main Assist to switch targets. There is still 1 line of code in the Combat routine that could switch you back if you click on a new target after the CombatTargetCheck routine. Would need to add a flag to manage this in a way, so turning on and off this function can be controlled by the user.
Can this still be added to the latest Kiss ? Would love this.
 
That functionality is built into the current version of kissassist. You just have to be using EQBC or DanNet and have TargetSwitchingOn Turned on in your MA's ini file.
 
That functionality is built into the current version of kissassist. You just have to be using EQBC or DanNet and have TargetSwitchingOn Turned on in your MA's ini file.
Thanks will turn TargetSwitchingOn tonight. CUrrently running DanNet
 
That functionality is built into the current version of kissassist. You just have to be using EQBC or DanNet and have TargetSwitchingOn Turned on in your MA's ini file.
ctaylor22

Thanks, I was able to switch targets almost every time with only one click in the Xtar window,
 
That functionality is built into the current version of kissassist. You just have to be using EQBC or DanNet and have TargetSwitchingOn Turned on in your MA's ini file.

This sounds great! So all I have to do is turn DanNet on in my KA.ini?
 
Question - Changing targets in fight !!

Users who are viewing this thread

Back
Top
Cart