• 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

Problem - Pet fix/new error

PussyFoot

New member
Joined
Jul 2, 2014
RedCents
744¢
Dunno if it happens everytime. Very rarely is the condition set up this way.

Xtarget Xamples
1=Pet
2=mob
3=mob
4=mob

Chanter casts AE mez, and tashses pet.
ranger(set to tank) notices adds in camp, but does not engage them. Never chooses a target.

If I manaully click xtarget1 (pet) ranger will engage and fight.
 
Yes. Ranger is MA and tank, but not puller. Chanter is pulling with custom script.

- - - Updated - - -

So this is the debug on the ranger. It says only 2 mobs.. even though there is a third one (a pet) on the hate list.


Rich (BB code):
[2015/03/31 16:43:58] [MQ2] CheckForCombat: Assist/Combat Begin CheckForAdds

[2015/03/31 16:43:58] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/03/31 16:43:58] [MQ2] DEBUG MobRadar leave

[2015/03/31 16:43:59] [MQ2] CheckForCombat: Assist/Combat End CheckForAdds

[2015/03/31 16:43:59] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar leave

[2015/03/31 16:43:59] [MQ2] DEBUG MobCount:2

[2015/03/31 16:43:59] [MQ2] CheckForCombat: Assist/Combat Begin CheckForAdds

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar leave

[2015/03/31 16:43:59] [MQ2] CheckForCombat: Assist/Combat End CheckForAdds

[2015/03/31 16:43:59] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/03/31 16:43:59] [MQ2] DEBUG MobRadar leave

[2015/03/31 16:43:59] [MQ2] DEBUG MobCount:2

[2015/03/31 16:44:00] [MQ2] CheckForCombat: Assist/Combat Begin CheckForAdds

[2015/03/31 16:44:00] [MQ2] DEBUG MobRadar 75 Enter (Assist)
 
It is indeed. Take Shar'ds landing Arena for example. Say I pull one of the Arena guards, and three of the conscripted gladiators. The guards pet, if it ends up in XTarget1, will cause the Tank to just freeze. It does seem to happen if I just pull a single guard. Only if I pull more than one NPC and one of the NPC pets is on Xtarget1. KA just seems to not even realize it's there.. and the tank doesn't choose a target, even though it keeps saying that it's going into that routine.
 
There has always been an issue with NPC pets, because of the way Mobs are validated. KA does a check for pets if it is the only mob on xtarget.

PF can you try this for me. I don't have time to test it, but this should work. First don't delete the old sub just rem it out or copy kissassist.mac to a a different file and make the change there, then run the macro you put this in.

Find and replace the MobRadar sub with the following.

Rich (BB code):
    Sub MobRadar(int CountRadius,string calledfrom)
        /if (${DMZ}) /return
        /if (${Debug}) /echo DEBUG MobRadar ${CountRadius} Enter (${calledfrom})
        /declare NMob int local
        /declare i int local
        /declare k int local 0
        /varset MobCount ${SpawnCount[npc pet targetable los radius ${CountRadius} zradius 50 noalert 3]}
        /for i 1 to ${MobCount}
            /varset NMob ${NearestSpawn[${i},npc pet targetable los radius ${CountRadius} zradius 50 noalert 3].ID}
            /if (${Spawn[${NMob}].Type.Equal[pet]} && ${Spawn[${NMob}].Master.Type.Equal[pc]}) /continue
            /varcalc k ${k}+1
            /if (${k}>13) /break
            /if (${AddsArray[${k},1].NotEqual[NULL]} && (${Spawn[${AddsArray[${k},1]}].Type.Equal[Corpse]} || !${Spawn[${AddsArray[${k},1]}].ID})) {
                /call RemoveFromArray ${k}
                /varcalc k ${k}-1
            }
            /if (${MobCount}>0 && ${Select[${NMob},${AddsArray[1,1]},${AddsArray[2,1]},${AddsArray[3,1]},${AddsArray[4,1]},${AddsArray[5,1]},${AddsArray[6,1]},${AddsArray[7,1]},${AddsArray[8,1]},${AddsArray[9,1]},${AddsArray[10,1]},${AddsArray[11,1]},${AddsArray[12,1]},${AddsArray[13,1]}]}==0) /call AddToArray ${NMob}
            :ArrayExceed
        /next i
        | Check if NPC Pet is on Xtarget
        |/if (!${MobCount} && ${Me.XTarget[${XTSlot}].ID}) {
        |   /if (${Me.XTarget[${XTSlot}].Type.Equal[pet]}) /varset MobCount 1
        |}
        /if (${Debug}) /echo DEBUG MobRadar leave
    /return

Give this a try and let us know.
 
Last edited:
Curious why the line for initial mobcount variable setting is not picking up the pet and setting mobcount to 3... only thing i can think of is that the pet is for some reason NOT within the CountRadius value during the mobradar call.

Rich (BB code):
/varset MobCount ${SpawnCount[npc pet targetable los radius ${CountRadius} zradius 50 noalert 3]}

Since CountRadius is determined by either your MeleeDistance or CampRadius (depending on its functional call).

Looking into this.

It narrows down to either the initial line for MobCount setting to be tweaked (not seeing how atm though.. looks good) or doing some fancy footwork coding to the code ctaylor22 disabled to pickup pets as mobs to kill once other main xtargets / mobcount mobs are dead.
 
I added the pet in that SpawnCount line of code. it use to be:
Rich (BB code):
/varset MobCount ${SpawnCount[npc targetable los radius ${CountRadius} zradius 50 noalert 3]}

if you compare the above code I posted to the currently active MobRadar sub, you will see I made a few changes. All NPC pets will now be counted and added to the AddsArray.
 
Still happens even with the new code you suggest be changed above Ctaylor. Here is the Debugall spew. Included a few seconds before (names changed) so you could see what it was doing with three mobs.

Xtarget1 = an arena ward pet
Xtarget2 = an arena ward
Xtarget3 = a soulless atendee

Could Macroquest be fubaring it with SpawnCount because of the similar names?

Rich (BB code):
[2015/04/01 17:06:22] <RANGER>  [17:06:22] Add(s) in camp detected 

[2015/04/01 17:06:27] [MQ2] Add(s) in camp detected

[2015/04/01 17:06:27] <RANGER>  [17:06:27] Add(s) in camp detected 

[2015/04/01 17:06:32] [MQ2] Add(s) in camp detected

[2015/04/01 17:06:32] <RANGER>  [17:06:32] Add(s) in camp detected 

[2015/04/01 17:06:37] [MQ2] Add(s) in camp detected

[2015/04/01 17:06:37] <RANGER>  [17:06:37] Add(s) in camp detected 

[2015/04/01 17:06:42] [MQ2] Add(s) in camp detected

[2015/04/01 17:06:43] <RANGER>  [17:06:42] Add(s) in camp detected 

[2015/04/01 17:06:47] [MQ2] DebugAll

[2015/04/01 17:06:47] [MQ2] Debug ALL On

[2015/04/01 17:06:47] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:47] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:47] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:47] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:47] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:48] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:48] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:48] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:48] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:48] [MQ2] Add(s) in camp detected

[2015/04/01 17:06:48] <RANGER>  [17:06:48] Add(s) in camp detected 

[2015/04/01 17:06:48] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:48] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:48] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:49] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:49] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:49] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:49] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:49] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:49] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:49] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:49] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:49] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:50] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:50] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:50] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:50] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:50] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:50] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:50] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:50] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:50] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:50] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:50] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:50] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:50] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:51] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:51] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:51] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:51] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:51] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:51] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:51] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:51] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:51] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:51] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:51] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:51] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:51] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:52] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:52] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:52] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:52] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:52] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:52] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:52] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:52] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:52] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:52] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:52] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:52] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:52] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:53] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:53] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:53] [MQ2] DEBUG MobRadar 75 Enter (Assist)

[2015/04/01 17:06:53] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:53] [MQ2] DEBUGCOMBAT Assist0: RANGER RANGER 0.00 2 15143 NULL 0 TRUE FALSE 0 WAITING 

[2015/04/01 17:06:53] [MQ2] DEBUGCOMBAT Assist2: MainAssist.Equal[RANGER] is TRUE OR my role is tank MobCount = 2

[2015/04/01 17:06:53] [MQ2] DEBUGCOMBAT Assist: validatetarget ID:NULL

[2015/04/01 17:06:53] [MQ2] DEBUGCOMBAT Assist: Validate Target - No target return

[2015/04/01 17:06:53] [MQ2] CheckForCombat: Assist/Combat End Normal

[2015/04/01 17:06:53] [MQ2] DEBUG  CheckForAdds: Enter from CheckForCombat

[2015/04/01 17:06:53] [MQ2] DEBUG MobRadar 75 Enter (CheckForAdds)

[2015/04/01 17:06:53] [MQ2] DEBUG MobRadar leave

[2015/04/01 17:06:53] [MQ2] DEBUG MobCount:2

[2015/04/01 17:06:53] [MQ2] DebugAll

[2015/04/01 17:06:54] [MQ2] CheckForCombat: Assist/Combat Begin Normal

[2015/04/01 17:06:54] [MQ2] DEBUGCOMBAT Assist Enter

[2015/04/01 17:06:54] [MQ2] Debug ALL Off
 
Thanks PF. Will have to do a little more digging. I have an idea, but not certain what it might be. I would think MobCount would be 3 not 2, but that just depends on how close the mobs are. MobCount only needs to equal 1 or more for the assist routine to kick in and target a mob.

OK PF got something for you to try.

Find this code in the Assist Routine.

Rich (BB code):
                | More than one mob
                /if (${MobCount}>=2 && ${AggroTargetID}) {
                    | Check if named incoming an target if true else assign closest target.
                    /for n 1 to ${XSlotTotal}
                        |Old Line: /if (${Me.XTarget[${n}].TargetType.Equal[Auto Hater]}) {
                        /if (${Me.XTarget[${n}].TargetType.Equal[Auto Hater]} && ${Me.XTarget[${n}].ID}) {
                            /if (${Me.XTarget[${n}].Named}) {
                                /squelch /target id ${Me.XTarget[${n}].ID}
                                /delay 10 ${Target.ID}==${Me.XTarget[${n}].ID}
                                /goto :validatetarget
                            }
                            /if (!${ClosestMobID}) /varset ClosestMobID ${Me.XTarget[${n}].ID}
                            /if (${Math.Distance[${Spawn[${ClosestMobID}].Y},${Spawn[${ClosestMobID}].X}:${CampYLoc},${CampXLoc}]}<${Math.Distance[${Me.XTarget[${n}].Y},${Me.XTarget[${n}].X}:${CampYLoc},${CampXLoc}]}) /varset ClosestMobID ${Me.XTarget[${n}].ID}
                        }
                    /next n
                    /if (!${ClosestMobID} && ${AggroTargetID}) /varset ClosestMobID ${AggroTargetID}
                    /squelch /target id ${ClosestMobID}
                    /delay 10 ${Target.ID}==${ClosestMobID}
                    /goto :validatetarget
                }

Add the highlighted line and give it a try. Also find this line:

Rich (BB code):
                /if (${DebugCombat}) /echo DEBUGCOMBAT Assist2: MainAssist.Equal[${Me}] is ${MainAssist.Equal[${Me}]} OR my role is ${Role} MobCount = ${MobCount} XSlotTotal: ${XSlotTotal}

and replace it. Notice the end of the line has a change to it.

One of 2 things is happening. 1 your ${XSlotTotal} is zero or 2 none of your XTarget TargetTypes are set to Auto Hater.
 
Last edited:
That seemed to work. I haven't had time to test it in depth with Easter and everything going on, but so far I haven't seen it lock it up.
 
That was just a quick fix, We still need to locate the actual issue that is causing the problem.. Just keep us informed as you have more time. I really would like to know what your ${XSlotTotal} and/or what XTargets are set to Auto Hater when this is happening.
 
Problem - Pet fix/new error

Users who are viewing this thread

Back
Top
Cart