• 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

Enchanter will not enter the Sub MezRadar

Wink-

Well-known member
Joined
Mar 16, 2011
RedCents
1,221¢
Rich (BB code):
Sub MezRadar
        /if ((${DMZ} && ${Me.InInstance}==FALSE)) /return
        /if (${DebugMez}) /echo DEBUG MezRadar Enter

I'm in an open world zone, so ${Me.InInstance} is FALSE and ${DMZ} is false. Seems to me the logic is backwards. I can comment that line out and everything works just fine if I have more than 2 adds.

If I pull 3 mobs, 1 gets tanked, 1 gets mezzed, 1 roams around and whacks my party. But the Enchanter continues to nuke.

Here is the log from 2 mobs pulled. The add did not get mezzed.

Rich (BB code):
[2016/03/14 23:04:29] [MQ2] toggle DebugMez
[2016/03/14 23:04:29] [MQ2] >> Set DebugMez: On
[2016/03/14 23:05:21] [MQ2] DEBUGMEZ DoMezStuff: Enter
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar Enter
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  1 26911 && FALSE && TRUE
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  2 27037 && TRUE && TRUE
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: MezMobCount 1 27037
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: ADDING -> Name: a_Sarnak_berserker03 ID: 27037 to mezlist
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  3 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  4 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  5 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  6 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  7 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  8 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  9 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  10 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  11 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  12 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  13 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: MezMobCount: 1 Leave
[2016/03/14 23:05:21] [MQ2] DoMezStuff MezMobCount 1
[2016/03/14 23:05:21] [MQ2] MezMobCount was 1 (so less than 2) & MyTanksName is alive so we return
 
Last edited:
Change
Rich (BB code):
Sub DoMezStuff
    /doevents
    /if (!${MezOn} || ${Window[RespawnWnd].Open} || (!${MyTargetID} && ${Spawn[=${MainAssist}].ID} && ${Spawn[=${MainAssist}].Type.NotEqual[Mercenary]})) /return
    /if (${DebugMez}) /echo DEBUGMEZ DoMezStuff: Enter
    /declare i int local 0
    /declare j int local 0
    | Reset skip mez on health setting if tank dies to 1%
    /if (!${Spawn[=${MainAssist}].ID}) /varset MezStopHPs 1
    /call MezRadar
    /if (${DebugMez}) /echo DoMezStuff MezMobCount ${MezMobCount}
    /if (${MezMobCount}<2 && ${Spawn[=${MainAssist}].ID}) {
            /if (${DebugMez}) /echo MezMobCount was ${MezMobCount} (so less than 2) & ${MainAssist} is alive so we return
            /return
    }

To reflect more than 1 mob in camp means to mez
Rich (BB code):
Sub DoMezStuff
    /doevents
    /if (!${MezOn} || ${Window[RespawnWnd].Open} || (!${MyTargetID} && ${Spawn[=${MainAssist}].ID} && ${Spawn[=${MainAssist}].Type.NotEqual[Mercenary]})) /return
    /if (${DebugMez}) /echo DEBUGMEZ DoMezStuff: Enter
    /declare i int local 0
    /declare j int local 0
    | Reset skip mez on health setting if tank dies to 1%
    /if (!${Spawn[=${MainAssist}].ID}) /varset MezStopHPs 1
    /call MezRadar
    /if (${DebugMez}) /echo DoMezStuff MezMobCount ${MezMobCount}
    /if (${MezMobCount}<1 && ${Spawn[=${MainAssist}].ID}) {
            /if (${DebugMez}) /echo MezMobCount was ${MezMobCount} (so less than 1) & ${MainAssist} is alive so we return
            /return
    }

And now if you bring 2 mobs to camp, 1 will get mezzed.

- - - Updated - - -

What zone name are you in?

In The Overthere. The zone id didn't match any on the DMZ.
 
The code is fine and working as intended. you need to change your XTarget 1 back to auto Hater. I am not sure what you have it set to, but the first XTarget is not getting counted in the MezMobCount.

See the highlighted FALSE in the listing below. That's is telling you that the ${Me.XTarget[${i}].TargetType.Equal[Auto Hater]} is not True(FALSE) so skip this mob.
Rich (BB code):
[2016/03/14 23:04:29] [MQ2] toggle DebugMez
[2016/03/14 23:04:29] [MQ2] >> Set DebugMez: On
[2016/03/14 23:05:21] [MQ2] DEBUGMEZ DoMezStuff: Enter
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar Enter
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  1 26911 && FALSE && TRUE
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  2 27037 && TRUE && TRUE
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: MezMobCount 1 27037
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: ADDING -> Name: a_Sarnak_berserker03 ID: 27037 to mezlist
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  3 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  4 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  5 0 && TRUE && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  6 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  7 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  8 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  9 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  10 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  11 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  12 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar:  13 NULL && NULL && NULL
[2016/03/14 23:05:21] [MQ2] DEBUG MezRadar: MezMobCount: 1 Leave
[2016/03/14 23:05:21] [MQ2] DoMezStuff MezMobCount 1
[2016/03/14 23:05:21] [MQ2] MezMobCount was 1 (so less than 2) & MyTanksName is alive so we return

Here is the routine that counts up the mobs in MezMobCount. Check out the highlighted line.

Rich (BB code):
Sub MezRadar
        /if ((${DMZ} && ${Me.InInstance}==FALSE)) /return
        /if (${DebugMez}) /echo DEBUG MezRadar Enter
        /declare NMMob int local 0
        /declare i int local
        /varset MezMobCount 0
        /varset MezMobAECount 0
        /varset MezAEClosest 0
        /for i 1 to 13
        /if (${DebugMez}) /echo DEBUG MezRadar:  ${i} ${Me.XTarget[${i}].ID} && ${Me.XTarget[${i}].TargetType.Equal[Auto Hater]} && ${Me.XTarget[${i}].Type.Equal[NPC]}
            /if (${Me.XTarget[${i}].ID} && ${Me.XTarget[${i}].TargetType.Equal[Auto Hater]} && ${Me.XTarget[${i}].Type.Equal[NPC]}) {
                /varset NMMob ${Me.XTarget[${i}].ID}
                /varcalc MezMobCount ${MezMobCount}+1 
                | Setup closest mob for AE mez target necros can't aemez
                /if (${Select[${Me.Class.ShortName},BRD,ENC]}) {
                    /if (!${MezAEClosest} && ${Spawn[${NMMob}].Distance}<=${MezRadius}) /varset MezAEClosest ${NMMob}
                    /if (${MezAEClosest} && ${Spawn[${NMMob}].Distance}<${Spawn[${MezAEClosest}].Distance} && ${Spawn[${NMMob}].Distance}<=${MezRadius}) /varset MezAEClosest ${NMMob}
                    /if (${Spawn[${NMMob}].Distance}<=${MezRadius}) /varcalc MezMobAECount ${MezMobAECount}+1 
                }
                /if (${DebugMez}) /echo DEBUG MezRadar: MezMobCount ${MezMobCount} ${NMMob}
                /if (${NMMob} && (${Spawn[${NMMob}].Type.Equal[Corpse]} || !${Spawn[${NMMob}].ID})) /call RemoveFromArray MezArray ${Select[${NMMob},${MezArray[1,1]},${MezArray[2,1]},${MezArray[3,1]},${MezArray[4,1]},${MezArray[5,1]},${MezArray[6,1]},${MezArray[7,1]},${MezArray[8,1]},${MezArray[9,1]},${MezArray[10,1]},${MezArray[11,1]},${MezArray[12,1]},${MezArray[13,1]}]}
                /if (${MezMobCount}>0 && ${Select[${NMMob},${MezArray[1,1]},${MezArray[2,1]},${MezArray[3,1]},${MezArray[4,1]},${MezArray[5,1]},${MezArray[6,1]},${MezArray[7,1]},${MezArray[8,1]},${MezArray[9,1]},${MezArray[10,1]},${MezArray[11,1]},${MezArray[12,1]},${MezArray[13,1]}]}==0) {
                    /if (${DebugMez}) /echo DEBUG MezRadar: ADDING -> Name: ${Spawn[${NMMob}].Name} ID: ${NMMob} to mezlist
                    /call AddToArray MezArray ${NMMob} 
                }
                /varset NMMob 0
            }
        /next i
        /if (${DebugMez}) /delay 5
       /if (${DebugMez}) /echo DEBUG MezRadar: MezMobCount: ${MezMobCount} Leave
    /return
 
Thanks ctaylor22. I had XTarget1 set for MA so I knew which target my tank was on. Think maybe the notes on the guide under the mez section to not set the xtargets on the mezzing classes could be updated?
 
No Problem. I am sure Maskoi will read this. Will be up to him how he wants to document this or if there is a way to code around this issue.
 
Enchanter will not enter the Sub MezRadar

Users who are viewing this thread

Back
Top
Cart