The Nagafen Monster Mission Macro - BE CAREFUL RUNNING

Please reference the Suspensions and banning section of the forums. There have been a few who posted on there for being banned for running this macro. Lydrea is running around using /say to verify that players are AFK. Even if they aren't I don't believe she is giving them much of a chance to reply and get off that easily. Since the motions of this macro are automated, it still has characters moving in a bot like stance. So even with a quick reply, and being able to somehow emulate the conversation of around 3+ PC's. I believe your still out of luck, though I haven't had the displeasure of being at the end of her banning stick, all that I have ever read leaves me to believe she is a GM of quick well decided action and not words.

*EDIT*

To further answer your second question. It really is hard to tell, if no one has witnessed you in person running the macro, there really isn't much to track other than being online 24/7 if you were the type that ran this macro so frequently.
 
Just logged on one of my toons that was parked at the "Weary Travler" quest giver in LS, and he appears to have been removed.
At least, I can't /tar him.

BTW, so far, none of my toons have been suspended or banned....yet.
 
I've dropped it for the time being. Leave it alone for a while and let the dust settle, then try it again in a few weeks. This kinda thing will always happen when people over do it. Running it 24/7 while you're AFK is highly risky to yourself, but also inherantly risky to anyone else running the macro.

I think I'm quite lucky on my server as I don't know if there's even one other person using the macro. I left one of my toons on the hill opposite the Weary Traveller while I was away doing things with my other toons. All the time he was there I never saw anyone else popping in and out. Same goes for for the old LSMM, never see anyone doing that either.
 
Wow, I got lucky. I had the macro running for a few hours yesterday while I was at work. I got home and just decided to give it a rest for a few hours last night, and then just decided to turn my computer off for the evening. Sounds like it was a good thing I did.

And as of right now, 2 GM's, Hijoker and Ankki are patrolling between PoK, Nektulos forest, SolA and Lavastorm on Luclin (Wed morning about 730est)

Matt
 
I was running it up until about 3 hours ago. Only when I got into work this morning and read the forums that I realised there was a problem. It had been running for about 12 hours straight up until that point.
 
hey buddie p

can you post the version with the code you put in ?

copying that linet you added dont seem to work. lol
 
I ran this for turkey day no issues. seen one other person doing it too. when do you feel we might be able to use this again semi safely? I love this macro.
 
The warning is going to stay up for at least another month to see what the long term effects are.

If you are watching it and only use it for a max of 8 hours a day I would say it’s 99% safe at the moment. Hopefully we can get a few more MM macros out and spread everyone out.

Fry.
 
Last edited:
gome_0ne said:
I ran this for turkey day no issues. seen one other person doing it too. when do you feel we might be able to use this again semi safely? I love this macro.

they were also minimal staff wed-friday
 
Changed a couple of things, and got this to working.

Code:
|Naggy.mac v2.10 Coding by Fry, Z166204 Booges, Taron and JoeK
|Inspired by whycantiwin1
|Updated October 12nd, 2006
|
|-*-This macro is to be only posted on MMOBugs.com-*-
|
|Usage: Please edit NaggyChars.ini with your characters names.
|       When entering mission for first time, spend your AA's
|       and click save.  The macro will auto load your saved AA's
|       Next Mission. Also make Kick Hotkey for Nagafen and Harm 
|       Touch hotkey for Tranixx.
|       Start the macro in Lavastorm next to "a weary traveler".
|       Start the Nagafen macro last.


#Chat group
#Chat tell
#Event Lastwave		"#*#great red dragon resides within his lair#*#"
#Event Slain 		"#*#You have been slain by#*#" 
#Event NoMonster	"#*#You may not enter the mission zone until you have chosen a monster#*#"
#Event Camping		"#*#It will take you about 25 seconds to prepare#*#"
#Event NoAAs 		"You do not have an ability set saved for this monster character."
#Event None         "You do not currently have any task replay timers."
#Event Finished     "'Defending the Lair' replay timer:  0d:0h:#1#m remaining."
#Event Incoming     "A greedy invader yells out, 'Everyone ready? Rez the fallen now out of AE range. One, two, three -- CHARGE! WAVE GO NOW!'"
#Event SomeTell     "#*#tells you#*#"


Sub Main
|--------------------------------------------------------------------
|##Between quotes type what people should say to you to get an invite
|--------------------------------------------------------------------
/declare Password 	string 	outer 	"PASSWORD"

/Echo +============*#*==================+
/Echo MMOBugs.com Naggy MM Automater V2.10
/Echo +============*#*==================+ 
/declare targetid 	    int    outer 	0
/declare Template 	    string outer 	Unknown
/declare missiondone 	int    outer 	0
/declare missioncounter	int	   outer 	0
/declare success        int    outer    0
/declare fail           int    outer    0
/declare MyAAExp        float  outer    ${Math.Calc[${Me.AAPointsTotal}*100+${Me.PctAAExp}]}
/declare MyExp          float  outer    ${Math.Calc[${Me.Level}*100+${Me.PctExp}]}
/declare TotalAAExp     float  outer    0.00
/declare TotalExp       float  outer    0.00
/declare WaveNumber     int    outer    0
/declare loopcount      int    outer    0
/squelch /plugin MQ2MoveUtils
/squelch /plugin MQ2Exchange
/squelch /plugin MQ2PiggyZone
/squelch /plugin MQ2Melee unload
/squelch /plugin MQ2AutoSkills unload

/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) /varset Template Lord Nagafen
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen1,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen2,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen2
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen3,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen3
/if (${Ini[naggychars.ini,NaggyChars,King Tranixx,NULL].Equal[${Me.Name}]}) /varset Template King Tranixx
/if (${Ini[naggychars.ini,NaggyChars,Magus Rokyl,NULL].Equal[${Me.Name}]}) /varset Template Magus Rokyl
/if (${Ini[naggychars.ini,NaggyChars,Warlord Skarlon,NULL].Equal[${Me.Name}]}) /varset Template Warlord Skarlon


	:main 
	/doevents 
	/call GM
	/if (${Template.Equal[Unknown]}) {
	/echo Character Template Unknown. Please Edit 
	/echo NaggyChars.ini And Insert Your Character Names.
	/echo Macro Ended
	/end
	}
	/if (${Zone.ID}==27) {
	    /varset WaveNumber 0
        /varcalc TotalAAExp ${TotalAAExp}+${Me.AAPointsTotal}*100+${Me.PctAAExp}-${MyAAExp}
        /varcalc TotalExp ${TotalExp}+${Me.Level}*100+${Me.PctExp}-${MyExp}
	    /echo XP Gained ${Math.Abs[${Math.Calc[${Me.Level}*100+${Me.PctExp}-${MyExp}]}]}% - Total XP Gained ${Math.Abs[${TotalExp}]}%
	    /echo AA XP Gained ${Math.Abs[${Math.Calc[${Me.AAPointsTotal}*100+${Me.PctAAExp}-${MyAAExp}]}]}% - Total AA XP Gained ${Math.Abs[${TotalAAExp}]}%
	    /echo I am ${Me.PctExp}% through level ${Me.Level} And ${Me.PctAAExp}% through my next AA.
        /echo I have ${Me.AAPointsTotal} AA's spent and ${Me.AAPoints} AA's banked.
	    /varcalc MyAAExp ${Me.AAPointsTotal}*100+${Me.PctAAExp}
        /varcalc MyExp ${Me.Level}*100+${Me.PctExp}
	    /if (${Template.Equal[Lord Nagafen]}) /call Event_None 
		/call Waitforall
		/if (${Template.Equal[Lord Nagafen]}) /call MissionSub
		/call TemplateSelection
		/call EnterMission
		/if (${Zone.ID}==32) {
		/call BuyAAs
		}
		/cleanup
		/call Fight
		
		/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/tasktimer
		    /delay 5s
			}
		:waitfortimer
		/doevents
        /delay 10s
		/if (${Zone.ID}==32) /goto :waitfortimer
		/if (${missiondone}==0) {
		/varcalc fail ${fail}+1
		/echo Mission Failed
		/echo Successful Missions: ${success}
		/echo Failed Missions: ${fail} 
		}
		}
	/if (${Zone.ID}==32) {
		/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/call Nagafen
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Cleric]}) {
			/call Priest1
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Shadow Knight]}) {
			/call Tranixx
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Wizard]}) {
			/call Magus
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Warrior]}) {
			/call Warlord
			}
		}
	/if (${Zone.ID}!= 27 && ${Zone.ID}!= 32) {
	/echo Please Start This Macro In Lavastorm Mountains Next To "a weary traveler"
	/end
	}
	/goto :main
/return 

Sub Waitforall
	/declare tempvar int local
	:wait
	/delay 1
	/if (${Zone.ID}!=27) /goto :wait
	/for tempvar 1 to ${Group.Members}
		/if (!${Group.Member[${tempvar}].ID}) /goto :wait
	/next tempvar
/return

Sub TemplateSelection
	:wait
	/delay 3s
	/doevents
	/if (${Window[TaskTemplateSelectWnd].Open}) {
	    /delay 3s 
		/call TemplateSelect
		/return
		} 
    /if (!${Template.Equal[Lord Nagafen]}) /goto :wait
/return

Sub MissionSub
	/if (${Me.Sitting}) /stand 
	/target A Weary Traveler
	/If (${Target.Distance}>40 && ${Zone.ID}==32) {
		/squelch /moveto loc 2720 -96
		/delay 10s !${Me.Moving}
		}
	/face
	/delay 2s
	/squelch /stick 10 
	/delay 2s 
	/squelch /stick off 
	/say Fierce Battles 
	/delay 3s 
	/if (!${Window[TaskTemplateSelectWnd].Open}) /call Wait
	/delay 1s
	/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]}
	/delay 5
	/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]}
	/delay 5
	/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
	/delay 1s
/return

Sub EnterMission

	/doevents flush
	/if (${Me.Sitting}) /stand 
	/target A Weary Traveler
	/If (${Target.Distance}>40 && ${Zone.ID}==32) {
		/squelch /moveto loc 2720 -96
		/delay 10s !${Me.Moving}
		}
	/face
	/delay 2s
	/squelch /stick 10 
	/delay 2s 
	/squelch /stick off 
	/cleanup
	/delay 10s
	/say Imagine
	/delay 10s
	/if (${Zone.ID}==27) /say Imagine
	/delay 2s
	/doevents
	/call ZonerNaglair
/return

sub ZonerNaglair
	:waitforzone
	/if (${Zone.ID}!=32) /goto :waitforzone
	/delay 5s
	/varcalc missioncounter ${missioncounter}+1
	/echo Entered Mission ${missioncounter}.
/return

Sub Fight
	/squelch /target clear
	/if (${Template.Equal[Lord Nagafen]}) {
		/call Nagafen
		}
	/if (${Template.Equal[Priest Of Nagafen]}) {
		/call Priest1
		}
	/if (${Template.Equal[Priest Of Nagafen2]}) {
		/call Priest1
		}
	/if (${Template.Equal[Priest Of Nagafen3]}) {
		/call Priest1
		}	
	/if (${Template.Equal[King Tranixx]}) {
		/call Tranixx
		}
	/if (${Template.Equal[Magus Rokyl]}) {
		/call Magus
		}
	/if (${Template.Equal[Warlord Skarlon]}) {
		/call Warlord
		}
/return
   
Sub Tranixx
/if (${Zone.ID}==27) {
    /goto :endcombat
}

/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
    /squelch /moveto loc -1433 -734
	/delay 5s !${Me.Moving}
	/varset missiondone 0
	/declare atcamp int local 0 
	}

	:meleeloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1433 -734
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/doevents
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop
	
	:combatloop
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if (${Me.AltAbilityReady[Feral Rage]} && ${SpawnCount[npc invading radius 20]}>5 ) {
		/squelch /stick pause
		/alt act 1056
		/delay 1s
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
	}
	/if (${Me.AltAbilityReady[Shroud of Pain]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Shroud of Pain Recourse].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4176
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/if (${Me.AltAbilityReady[Abduction of Stength]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Ab. of Strength Recourse].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4177
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/if (${Me.AltAbilityReady[Mental Corruption]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Mental Corruption].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4178
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/goto :combatloop
	
	:endcombat
	/squelch /target clear
/return

Sub Magus
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1413 -720
	/delay 5s !${Me.Moving}
	/varset missiondone 0
	/declare meleetarget int local 0
	/declare atcamp int local 0
    }
	:meleeloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1413 -720
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/doevents
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset meleetarget 0
		/varset atcamp 0
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop
	
	:combatloop
	/squelch /face fast
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if ((${Me.PctMana}<26 || ${Target.PctHPs}<30) && !${meleetarget}) {
		/varset meleetarget 1
		/attack on
		/squelch /stick 12
		/varset atcamp 0
		}
	/if (${Me.AltAbilityReady[Rend]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${meleetarget}) {
		/alt act 4172
		/delay 1s
		/delay 20s !${Me.Casting.ID}
		}
	/goto :combatloop
	
	:endcombat
/return
	
Sub Warlord
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
    /unequip mainhand
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
	/if (${Zone.ID}==32) {
	/squelch /moveto loc -1419 -729
	/delay 5s !${Me.Moving}
	/declare atcamp int local 0
	/varset missiondone 0
	}

	:meleeloop
	/doevents
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1419 -729
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop

	:combatloop
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if (${Me.AltAbilityReady[Feral Rage]} && ${SpawnCount[npc invading radius 20]}>5) {
		/squelch /stick pause
		/alt act 1056
		/delay 1s
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
	}
	/goto :combatloop

	:endcombat
/return

Sub Nagafen
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
	/if (${Zone.ID}==32) {
	/squelch /moveto loc -1429 -777
	/delay 5s !${Me.Moving}
	/declare atcamp int local 0
	/varset missiondone 0
	}

	:naggymainloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/doevents
	/if (${Target.ID}==${Me.ID}) /target clear
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1429 -777
		/delay 10s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${SpawnCount[npc invading radius 100]}>0 && ${NearestSpawn[npc invading].Distance}<80) {
		/varset atcamp 0
		/if (${Target.Type.NotEqual[NPC]}) /squelch /target clear
		/if (${SpawnCount[npc enchanter radius 80]}>0) /target npc enchanter
		/if (!${Target.ID} && ${SpawnCount[npc cleric radius 80]}>0) /target npc cleric
		/if (!${Target.ID}) /target ID ${NearestSpawn[npc invading].ID}
		/attack on
		/varset targetid ${Target.ID}
		/goto :naggycombatloop
		}
	/if (${missiondone}) /goto :endcombat
	/goto :naggymainloop
	
	:naggycombatloop
	/doevents
	/if (${Target.Distance}>80) {
		/attack off
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) /goto :naggymainloop
	/squelch /face fast
	/if (${Me.AltAbilityReady[Dragon Roar]} && ${SpawnCount[npc invading radius 80]}>2) {
		/alt act 4062
		/delay 5
		/delay 1s !${Me.Casting.ID}
		}
	/if (${Me.AltAbilityReady[Lava Breath]} && ${SpawnCount[npc invading radius 80]}>2) {
		/alt act 4061
		/delay 5
		/delay 1s !${Me.Casting.ID}
		}
	/if (${Me.AbilityReady[Kick]}) /doability "kick"
	/goto :naggycombatloop
	
	:endcombat
/return

Sub Priest1
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
	/delay 5s !${Me.Moving}
	/declare healat int local 65
	/declare healtarget int local
	/declare healloop int local
	/varset missiondone 0
	/declare atcamp int local 0
	/declare healtimeout timer local
	}
	
	:combatcheck
	/doevents
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (${Me.AltAbilityReady[Smoke Bomb]} && ${SpawnCount[npc invading radius 100]}>2 && ${Me.PctHPs}<80) {
        /target NPC
		/alt act 1052
		/delay 5
		/delay 1s !${Me.Casting.ID}
		/squelch /target clear
		}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${missiondone}) /goto :endcombat
	/if (${SpawnCount[pc cleric]}>1 && ${NearestSpawn[1,pc cleric].ID}>${NearestSpawn[2,pc cleric].ID}) {
		/varset healat 75
		} else {
		/varset healat 65
		}
	/call CheckHeal ${healat}
	/if (${Macro.Return}) /goto :heal
	
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]} && ${Target.Type.Equal[npc]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear

    /if (${Me.PctMana}<50 && ${SpawnCount[npc invading]}==0 && ${Me.Standing}) { 
        /for loopcount 0 to ${Group.Members} 
        /tar ${Group.Member[${loopcount}]} 
    /if (${Target.PctHPs}<94) /goto :skipmed 
        /next loopcount 
        :medloop 
     /if (!${Me.Sitting}) /sit 
     /if (${SpawnCount[npc invading]}==0) /goto :medloop 
     :skipmed
     }
	
		
|	/if (!${SpawnCount[npc invading radius 200]} && ${Me.Standing} && ${Me.PctMana}>50 && !${Me.Casting.ID}) {
|   /sit
|    }
	/goto :combatcheck

	:combatloop
		/doevents
		/if (${SpawnCount[pc cleric]}>1 && ${NearestSpawn[1,pc cleric].ID}>${NearestSpawn[2,pc cleric].ID}) {
			/varset healat 75
			} else {
			/varset healat 65
			}
		/call CheckHeal ${healat}
		/if (${Macro.Return}) /goto :heal
		/if (${Me.AltAbilityReady[Smoke Bomb]} && ${SpawnCount[npc invading radius 100]}>2 && ${Me.PctHPs}<80) {
         /target NPC
		 /alt act 1052
		 /delay 5
		 /delay 1s !${Me.Casting.ID}
		 /squelch /target clear
		}
		/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/if (${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1446]} ${Math.Calc[${Math.Rand[12]}-756]}
		}
		/delay 5s !${Me.Moving}
		/squelch /target clear
			}
		/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) /goto :combatcheck
	/goto :combatloop

	:heal
	/varset healtarget 0
	/for healloop 0 to ${Group.Members}
		/if (${Group.Member[${healloop}].PctHPs} < ${Group.Member[${healtarget}].PctHPs}) /varset healtarget ${healloop}
	/next healloop

	/attack off
	/squelch /stick off
	/squelch /target clear
	/target ID ${Group.Member[${healtarget}].ID}
	/delay 1s ${Target.ID}==${Group.Member[${healtarget}].ID}
	/squelch /face fast
	/if (${Target.Distance}>135) {
	/squelch /stick 10
	/delay 3s !${Me.Moving}
	/squelch /stick off
	}
	/if (${Target.PctHPs}<94) { 
	/alt act 4145 
	/delay 1s

	/varset healtimeout 20s
	:waitforheal
	/if (${Target.PctHPs}>96) {
		/keypress duck
		/delay 5
		/keypress duck
		}
	/if (!${healtimeout}) /goto :abort
	/if (${Me.Casting.ID}) /goto :waitforheal
	:abort

	/delay 5
	/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
	}
	/delay 3s
	}
	/goto :combatcheck
	
	:endcombat
	/squelch /target clear
/return

Sub CheckHeal(int healat)
	/declare healtarget int local 0
	/declare healloop int local 0

	/for healloop 1 to ${Group.Members}
		/if (${Group.Member[${healloop}].PctHPs} < ${Group.Member[${healtarget}].PctHPs}) /varset healtarget ${healloop}
	/next healloop
        /if (${SpawnCount[npc invading]}==0) /varset healat 94
	/if (${Group.Member[${healtarget}].PctHPs} < ${healat}) /return 1
/return 0

Sub Priest2
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
	/delay 5s !${Me.Moving}
	}
	/declare healat int local 65
	/declare healtarget int local
	/declare healloop int local
	/varset missiondone 0
	/declare atcamp int local 0
/return
   
|--
|##GM Sub for checking
|---------------------
Sub GM
	/if (${Spawn[gm].ID}) {
		/gsay Time to go, cya later
		/camp 
		/endmac
	}
/return 


|-
|# Chest popping
|----------------
Sub Event_Lastwave
	/squelch /stick off
	/squelch /moveto off
	/echo Task Completed, Getting In Line To Loot Shard!
	/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/delay 1m
			}
	:again
	/if (${Zone.ID}==32) {
		/delay ${Math.Rand[5]}s
        /if (${Zone.ID}==32) {
        /squelch /moveto loc -1331 -828
        }
		/delay 20s !${Me.Moving}
        
        /delay ${Math.Rand[5]}s
		/if (${SpawnCount[npc object race chest]}) {
			/target ornate
			/squelch /stick 2
			/delay 2s ${Target.Distance}<5
			/open
			/delay 4s !${Target.ID}
			}

		/target ornate
		/delay 12s ${Target.ID}
		/loot 
		/delay 2s
		/if (${Window[LootWnd].Open}) {
			/if (${Corpse.Items}==1) {
				/itemnotify loot1 rightmouseup
				/itemnotify loot1 rightmouseup
				/delay 2s
				} else {
				/itemnotify loot2 rightmouseup 
				/itemnotify loot2 rightmouseup
				/delay 2s 
				}
			/if (${Window[ConfirmationDialogBox].Open}) /nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup 
			/delay 2s 
			/notify LootWnd DoneButton Leftmouseup 
			/delay 3s (!${Window[LootWnd].Open})
			/notify LootWnd DoneButton Leftmouseup 
			}
		/if (!${FindItem[Shard of Wisdom].InvSlot.ID}) {
		/goto :again
		}
		/popup Shard Looted, Task Completed!
		/echo Task Completed!  Good Job!
		/varset missiondone 1
		/varcalc success ${success}+1
		/echo Successful Missions: ${success}
		/echo Failed Missions: ${fail} 
		/if (${Me.Race.Name.Equal[Dragon]} && ${Zone.ID}==32) {
		/squelch /moveto loc -1379 -857
		}
		/if (${Me.Race.Name.Equal[Giant]} && ${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1399]} ${Math.Calc[${Math.Rand[10]}-792]}
		}
		}   
/return


|--
|##Chat Events
|-------------
Sub Event_Chat(string ChatType,string ChatSender,string ChatText)
	/If (${ChatType.Equal[TELL]} && ${ChatText.Equal[${Password}]}) {
		/invite ${ChatSender}
		/taskaddplayer ${ChatSender}
		/return
		}
	/If (${ChatText.Equal[make me leader]}) {
		/makeleader ${ChatSender}
		/return
		}
/return

|--
|##Holds macro when you die
|--------------------------
Sub Event_Slain 
	:wait1
	/delay 1s
	/target myself
	/if (${Me.PctHPs}<5) /goto :wait1
	/if (!${Target.ID}) /goto :wait1
	/delay 3s
	/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
	/fade
	}
	/if (${SpawnCount[pc race Dragon]}==0 && ${SpawnCount[pc]}<=2) {
	/fade
	}
/return 

|--
|##End Macro if you camp on your own
|-----------------------------------
Sub Event_Camping
	/echo Camping - Ending macro!
/endmacro

|--
|## Task Quitter
|-----------------
Sub Event_None 
/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
}
/return

|--
|## Task Quit If Timer
|-----------------
Sub Event_Finished(Line,int TaskTime)
/varcalc TaskTime ${TaskTime}-1

/if (!${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/return
}
/if (${TaskTime}<1) {
/echo Your Task Has Ended, Quitting Task
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
/return
}
/echo Waiting ${TaskTime} Minutes For Task Timer To Expire So We Can Start A New Mission.
/delay ${TaskTime}m
/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
}
/return

|--
|## Still Have Mission Timer
|-----------------
Sub Wait
:waitmore1
/echo Mission Timer Still Active Waiting 2 Minutes And Trying Again
/delay 2m
/if (!${Window[TaskTemplateSelectWnd].Open}) /say Fierce Battles
/delay 3s
/if (!${Window[TaskTemplateSelectWnd].Open}) /goto :waitmore1
/return 

|---
| Incoming
|----------
sub Event_Incoming
/varcalc WaveNumber ${WaveNumber}+1
/echo Here Comes Wave ${WaveNumber}!
/if (${Me.Sitting}) {
/stand
}
/return


|---
| Buy AA's
|----------
sub BuyAAs
      /keypress i 
      /notify InventoryWindow IW_AltAdvBtn leftmouseup 
      /delay 1s
      /notify AAWindow AAW_LoadButton leftmouseup 
      /delay 1s
      /doevents
/return

sub Event_NoAAs
	/beep
	/beep
	/echo Buy all the AA's on the general tab. After you have finished please click save.
/return

sub Event_SomeTell
/echo Tell received.
/beep
/delay 10
/beep
/delay 10
/beep
/return

sub Event_NoMonster
/echo Monster Select Failed, Retrying
/call TemplateSelect
/call EnterMission
/return

sub TemplateSelect
	/declare tempvar int local
	/declare tempvar1 int local
	/if (${Template.Equal[Lord Nagafen]}) {
		/echo Selecting Lord Nagafen
		/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
		/delay 5s 
		/return
	} else {
		/if (${Template.Equal[Priest Of Nagafen2]}) {
			/varset tempvar 1
			/varset Template Priest of Nagafen
			}
	   	/if (${Template.Equal[Priest Of Nagafen3]}) {
			/varset tempvar1 1
			/varset Template Priest of Nagafen
			}
		/echo Selecting ${Template}
		/notify TaskTemplateSelectWnd TaskTemplateSelectListOptional listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListOptional].List[${Template}]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectListOptional leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListOptional].List[${Template}]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
		/delay 5s 
		/if (${tempvar}) /varset Template Priest of Nagafen2
		/return
		/if (${tempvar1}) /varset Template Priest of Nagafen3
	}

	/echo Failed to locate correct character name in ${inichars}. Please update ${inichars} and add your character to a template.
/end


Enjoy
 
Wasn't aware it was broken.
 
Is this macro broken? I tried running it today and it wont open the chest, it will loot the shards, but wont open the chest. I had to open it manually. Let me know if there is a fix or somethin..
 
Changed a couple of things, and got this to working.

Code:
|Naggy.mac v2.10 Coding by Fry, Z166204 Booges, Taron and JoeK
|Inspired by whycantiwin1
|Updated October 12nd, 2006
|
|-*-This macro is to be only posted on MMOBugs.com-*-
|
|Usage: Please edit NaggyChars.ini with your characters names.
|       When entering mission for first time, spend your AA's
|       and click save.  The macro will auto load your saved AA's
|       Next Mission. Also make Kick Hotkey for Nagafen and Harm 
|       Touch hotkey for Tranixx.
|       Start the macro in Lavastorm next to "a weary traveler".
|       Start the Nagafen macro last.


#Chat group
#Chat tell
#Event Lastwave		"#*#great red dragon resides within his lair#*#"
#Event Slain 		"#*#You have been slain by#*#" 
#Event NoMonster	"#*#You may not enter the mission zone until you have chosen a monster#*#"
#Event Camping		"#*#It will take you about 25 seconds to prepare#*#"
#Event NoAAs 		"You do not have an ability set saved for this monster character."
#Event None         "You do not currently have any task replay timers."
#Event Finished     "'Defending the Lair' replay timer:  0d:0h:#1#m remaining."
#Event Incoming     "A greedy invader yells out, 'Everyone ready? Rez the fallen now out of AE range. One, two, three -- CHARGE! WAVE GO NOW!'"
#Event SomeTell     "#*#tells you#*#"


Sub Main
|--------------------------------------------------------------------
|##Between quotes type what people should say to you to get an invite
|--------------------------------------------------------------------
/declare Password 	string 	outer 	"PASSWORD"

/Echo +============*#*==================+
/Echo MMOBugs.com Naggy MM Automater V2.10
/Echo +============*#*==================+ 
/declare targetid 	    int    outer 	0
/declare Template 	    string outer 	Unknown
/declare missiondone 	int    outer 	0
/declare missioncounter	int	   outer 	0
/declare success        int    outer    0
/declare fail           int    outer    0
/declare MyAAExp        float  outer    ${Math.Calc[${Me.AAPointsTotal}*100+${Me.PctAAExp}]}
/declare MyExp          float  outer    ${Math.Calc[${Me.Level}*100+${Me.PctExp}]}
/declare TotalAAExp     float  outer    0.00
/declare TotalExp       float  outer    0.00
/declare WaveNumber     int    outer    0
/declare loopcount      int    outer    0
/squelch /plugin MQ2MoveUtils
/squelch /plugin MQ2Exchange
/squelch /plugin MQ2PiggyZone
/squelch /plugin MQ2Melee unload
/squelch /plugin MQ2AutoSkills unload

/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) /varset Template Lord Nagafen
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen1,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen2,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen2
/if (${Ini[naggychars.ini,NaggyChars,Priest Of Nagafen3,NULL].Equal[${Me.Name}]}) /varset Template Priest Of Nagafen3
/if (${Ini[naggychars.ini,NaggyChars,King Tranixx,NULL].Equal[${Me.Name}]}) /varset Template King Tranixx
/if (${Ini[naggychars.ini,NaggyChars,Magus Rokyl,NULL].Equal[${Me.Name}]}) /varset Template Magus Rokyl
/if (${Ini[naggychars.ini,NaggyChars,Warlord Skarlon,NULL].Equal[${Me.Name}]}) /varset Template Warlord Skarlon


	:main 
	/doevents 
	/call GM
	/if (${Template.Equal[Unknown]}) {
	/echo Character Template Unknown. Please Edit 
	/echo NaggyChars.ini And Insert Your Character Names.
	/echo Macro Ended
	/end
	}
	/if (${Zone.ID}==27) {
	    /varset WaveNumber 0
        /varcalc TotalAAExp ${TotalAAExp}+${Me.AAPointsTotal}*100+${Me.PctAAExp}-${MyAAExp}
        /varcalc TotalExp ${TotalExp}+${Me.Level}*100+${Me.PctExp}-${MyExp}
	    /echo XP Gained ${Math.Abs[${Math.Calc[${Me.Level}*100+${Me.PctExp}-${MyExp}]}]}% - Total XP Gained ${Math.Abs[${TotalExp}]}%
	    /echo AA XP Gained ${Math.Abs[${Math.Calc[${Me.AAPointsTotal}*100+${Me.PctAAExp}-${MyAAExp}]}]}% - Total AA XP Gained ${Math.Abs[${TotalAAExp}]}%
	    /echo I am ${Me.PctExp}% through level ${Me.Level} And ${Me.PctAAExp}% through my next AA.
        /echo I have ${Me.AAPointsTotal} AA's spent and ${Me.AAPoints} AA's banked.
	    /varcalc MyAAExp ${Me.AAPointsTotal}*100+${Me.PctAAExp}
        /varcalc MyExp ${Me.Level}*100+${Me.PctExp}
	    /if (${Template.Equal[Lord Nagafen]}) /call Event_None 
		/call Waitforall
		/if (${Template.Equal[Lord Nagafen]}) /call MissionSub
		/call TemplateSelection
		/call EnterMission
		/if (${Zone.ID}==32) {
		/call BuyAAs
		}
		/cleanup
		/call Fight
		
		/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/tasktimer
		    /delay 5s
			}
		:waitfortimer
		/doevents
        /delay 10s
		/if (${Zone.ID}==32) /goto :waitfortimer
		/if (${missiondone}==0) {
		/varcalc fail ${fail}+1
		/echo Mission Failed
		/echo Successful Missions: ${success}
		/echo Failed Missions: ${fail} 
		}
		}
	/if (${Zone.ID}==32) {
		/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/call Nagafen
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Cleric]}) {
			/call Priest1
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Shadow Knight]}) {
			/call Tranixx
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Wizard]}) {
			/call Magus
			}
		/if (${Me.Race.Name.Equal[Giant]} && ${Me.Class.Name.Equal[Warrior]}) {
			/call Warlord
			}
		}
	/if (${Zone.ID}!= 27 && ${Zone.ID}!= 32) {
	/echo Please Start This Macro In Lavastorm Mountains Next To "a weary traveler"
	/end
	}
	/goto :main
/return 

Sub Waitforall
	/declare tempvar int local
	:wait
	/delay 1
	/if (${Zone.ID}!=27) /goto :wait
	/for tempvar 1 to ${Group.Members}
		/if (!${Group.Member[${tempvar}].ID}) /goto :wait
	/next tempvar
/return

Sub TemplateSelection
	:wait
	/delay 3s
	/doevents
	/if (${Window[TaskTemplateSelectWnd].Open}) {
	    /delay 3s 
		/call TemplateSelect
		/return
		} 
    /if (!${Template.Equal[Lord Nagafen]}) /goto :wait
/return

Sub MissionSub
	/if (${Me.Sitting}) /stand 
	/target A Weary Traveler
	/If (${Target.Distance}>40 && ${Zone.ID}==32) {
		/squelch /moveto loc 2720 -96
		/delay 10s !${Me.Moving}
		}
	/face
	/delay 2s
	/squelch /stick 10 
	/delay 2s 
	/squelch /stick off 
	/say Fierce Battles 
	/delay 3s 
	/if (!${Window[TaskTemplateSelectWnd].Open}) /call Wait
	/delay 1s
	/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]}
	/delay 5
	/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]}
	/delay 5
	/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
	/delay 1s
/return

Sub EnterMission

	/doevents flush
	/if (${Me.Sitting}) /stand 
	/target A Weary Traveler
	/If (${Target.Distance}>40 && ${Zone.ID}==32) {
		/squelch /moveto loc 2720 -96
		/delay 10s !${Me.Moving}
		}
	/face
	/delay 2s
	/squelch /stick 10 
	/delay 2s 
	/squelch /stick off 
	/cleanup
	/delay 10s
	/say Imagine
	/delay 10s
	/if (${Zone.ID}==27) /say Imagine
	/delay 2s
	/doevents
	/call ZonerNaglair
/return

sub ZonerNaglair
	:waitforzone
	/if (${Zone.ID}!=32) /goto :waitforzone
	/delay 5s
	/varcalc missioncounter ${missioncounter}+1
	/echo Entered Mission ${missioncounter}.
/return

Sub Fight
	/squelch /target clear
	/if (${Template.Equal[Lord Nagafen]}) {
		/call Nagafen
		}
	/if (${Template.Equal[Priest Of Nagafen]}) {
		/call Priest1
		}
	/if (${Template.Equal[Priest Of Nagafen2]}) {
		/call Priest1
		}
	/if (${Template.Equal[Priest Of Nagafen3]}) {
		/call Priest1
		}	
	/if (${Template.Equal[King Tranixx]}) {
		/call Tranixx
		}
	/if (${Template.Equal[Magus Rokyl]}) {
		/call Magus
		}
	/if (${Template.Equal[Warlord Skarlon]}) {
		/call Warlord
		}
/return
   
Sub Tranixx
/if (${Zone.ID}==27) {
    /goto :endcombat
}

/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
    /squelch /moveto loc -1433 -734
	/delay 5s !${Me.Moving}
	/varset missiondone 0
	/declare atcamp int local 0 
	}

	:meleeloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1433 -734
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/doevents
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop
	
	:combatloop
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if (${Me.AltAbilityReady[Feral Rage]} && ${SpawnCount[npc invading radius 20]}>5 ) {
		/squelch /stick pause
		/alt act 1056
		/delay 1s
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
	}
	/if (${Me.AltAbilityReady[Shroud of Pain]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Shroud of Pain Recourse].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4176
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/if (${Me.AltAbilityReady[Abduction of Stength]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Ab. of Strength Recourse].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4177
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/if (${Me.AltAbilityReady[Mental Corruption]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${Me.Buff[Mental Corruption].ID}) {
		/squelch /stick pause
		/squelch /face fast
		/alt act 4178
		/delay 5
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
		}
	/goto :combatloop
	
	:endcombat
	/squelch /target clear
/return

Sub Magus
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1413 -720
	/delay 5s !${Me.Moving}
	/varset missiondone 0
	/declare meleetarget int local 0
	/declare atcamp int local 0
    }
	:meleeloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1413 -720
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/doevents
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset meleetarget 0
		/varset atcamp 0
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop
	
	:combatloop
	/squelch /face fast
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if ((${Me.PctMana}<26 || ${Target.PctHPs}<30) && !${meleetarget}) {
		/varset meleetarget 1
		/attack on
		/squelch /stick 12
		/varset atcamp 0
		}
	/if (${Me.AltAbilityReady[Rend]} && !${Me.Casting.ID} && ${Me.PctMana}>25 && !${meleetarget}) {
		/alt act 4172
		/delay 1s
		/delay 20s !${Me.Casting.ID}
		}
	/goto :combatloop
	
	:endcombat
/return
	
Sub Warlord
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
    /unequip mainhand
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
	/if (${Zone.ID}==32) {
	/squelch /moveto loc -1419 -729
	/delay 5s !${Me.Moving}
	/declare atcamp int local 0
	/varset missiondone 0
	}

	:meleeloop
	/doevents
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1419 -729
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/goto :meleeloop

	:combatloop
	/doevents
	/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
		/delay 5s !${Me.Moving}
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) {
		/squelch /target clear
		/attack off
		/goto :meleeloop
		}
	/if (${Me.AltAbilityReady[Feral Rage]} && ${SpawnCount[npc invading radius 20]}>5) {
		/squelch /stick pause
		/alt act 1056
		/delay 1s
		/delay 10s !${Me.Casting.ID}
		/squelch /stick unpause
	}
	/goto :combatloop

	:endcombat
/return

Sub Nagafen
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
	/if (${Zone.ID}==32) {
	/squelch /moveto loc -1429 -777
	/delay 5s !${Me.Moving}
	/declare atcamp int local 0
	/varset missiondone 0
	}

	:naggymainloop
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear
	/doevents
	/if (${Target.ID}==${Me.ID}) /target clear
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc -1429 -777
		/delay 10s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${SpawnCount[npc invading radius 100]}>0 && ${NearestSpawn[npc invading].Distance}<80) {
		/varset atcamp 0
		/if (${Target.Type.NotEqual[NPC]}) /squelch /target clear
		/if (${SpawnCount[npc enchanter radius 80]}>0) /target npc enchanter
		/if (!${Target.ID} && ${SpawnCount[npc cleric radius 80]}>0) /target npc cleric
		/if (!${Target.ID}) /target ID ${NearestSpawn[npc invading].ID}
		/attack on
		/varset targetid ${Target.ID}
		/goto :naggycombatloop
		}
	/if (${missiondone}) /goto :endcombat
	/goto :naggymainloop
	
	:naggycombatloop
	/doevents
	/if (${Target.Distance}>80) {
		/attack off
		/squelch /target clear
		}
	/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) /goto :naggymainloop
	/squelch /face fast
	/if (${Me.AltAbilityReady[Dragon Roar]} && ${SpawnCount[npc invading radius 80]}>2) {
		/alt act 4062
		/delay 5
		/delay 1s !${Me.Casting.ID}
		}
	/if (${Me.AltAbilityReady[Lava Breath]} && ${SpawnCount[npc invading radius 80]}>2) {
		/alt act 4061
		/delay 5
		/delay 1s !${Me.Casting.ID}
		}
	/if (${Me.AbilityReady[Kick]}) /doability "kick"
	/goto :naggycombatloop
	
	:endcombat
/return

Sub Priest1
/if (${Zone.ID}==27) {
    /goto :endcombat
}
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
	/delay 5s !${Me.Moving}
	/declare healat int local 65
	/declare healtarget int local
	/declare healloop int local
	/varset missiondone 0
	/declare atcamp int local 0
	/declare healtimeout timer local
	}
	
	:combatcheck
	/doevents
	/if (${Zone.ID}==27) {
    /goto :endcombat
}
	/if (${Me.AltAbilityReady[Smoke Bomb]} && ${SpawnCount[npc invading radius 100]}>2 && ${Me.PctHPs}<80) {
        /target NPC
		/alt act 1052
		/delay 5
		/delay 1s !${Me.Casting.ID}
		/squelch /target clear
		}
	/if (!${SpawnCount[npc invading]} && !${atcamp} && ${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
		/delay 5s !${Me.Moving}
		/face heading -23
		/varset atcamp 1
		}
	/if (${missiondone}) /goto :endcombat
	/if (${SpawnCount[pc cleric]}>1 && ${NearestSpawn[1,pc cleric].ID}>${NearestSpawn[2,pc cleric].ID}) {
		/varset healat 75
		} else {
		/varset healat 65
		}
	/call CheckHeal ${healat}
	/if (${Macro.Return}) /goto :heal
	
	/if (${missiondone}) /goto :endcombat
	/assist ${Spawn[pc race Dragon]}
	/if (${Target.ID} && ${Target.Race.Name.NotEqual[Chest]} && ${Target.Type.Equal[npc]}) {
		/varset targetid ${Target.ID}
		/varset atcamp 0
		/attack on
		/squelch /stick 12
		/goto :combatloop
		}
	/if (${Target.Race.Name.Equal[Chest]}) /squelch /target clear

    /if (${Me.PctMana}<50 && ${SpawnCount[npc invading]}==0 && ${Me.Standing}) { 
        /for loopcount 0 to ${Group.Members} 
        /tar ${Group.Member[${loopcount}]} 
    /if (${Target.PctHPs}<94) /goto :skipmed 
        /next loopcount 
        :medloop 
     /if (!${Me.Sitting}) /sit 
     /if (${SpawnCount[npc invading]}==0) /goto :medloop 
     :skipmed
     }
	
		
|	/if (!${SpawnCount[npc invading radius 200]} && ${Me.Standing} && ${Me.PctMana}>50 && !${Me.Casting.ID}) {
|   /sit
|    }
	/goto :combatcheck

	:combatloop
		/doevents
		/if (${SpawnCount[pc cleric]}>1 && ${NearestSpawn[1,pc cleric].ID}>${NearestSpawn[2,pc cleric].ID}) {
			/varset healat 75
			} else {
			/varset healat 65
			}
		/call CheckHeal ${healat}
		/if (${Macro.Return}) /goto :heal
		/if (${Me.AltAbilityReady[Smoke Bomb]} && ${SpawnCount[npc invading radius 100]}>2 && ${Me.PctHPs}<80) {
         /target NPC
		 /alt act 1052
		 /delay 5
		 /delay 1s !${Me.Casting.ID}
		 /squelch /target clear
		}
		/if (${Me.Y}>-1360 && ${Zone.ID}==32) {
		/attack off
		/if (${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1446]} ${Math.Calc[${Math.Rand[12]}-756]}
		}
		/delay 5s !${Me.Moving}
		/squelch /target clear
			}
		/if (!${Target.ID} || ${Target.ID}!=${targetid} || ${Target.Type.NotEqual[NPC]}) /goto :combatcheck
	/goto :combatloop

	:heal
	/varset healtarget 0
	/for healloop 0 to ${Group.Members}
		/if (${Group.Member[${healloop}].PctHPs} < ${Group.Member[${healtarget}].PctHPs}) /varset healtarget ${healloop}
	/next healloop

	/attack off
	/squelch /stick off
	/squelch /target clear
	/target ID ${Group.Member[${healtarget}].ID}
	/delay 1s ${Target.ID}==${Group.Member[${healtarget}].ID}
	/squelch /face fast
	/if (${Target.Distance}>135) {
	/squelch /stick 10
	/delay 3s !${Me.Moving}
	/squelch /stick off
	}
	/if (${Target.PctHPs}<94) { 
	/alt act 4145 
	/delay 1s

	/varset healtimeout 20s
	:waitforheal
	/if (${Target.PctHPs}>96) {
		/keypress duck
		/delay 5
		/keypress duck
		}
	/if (!${healtimeout}) /goto :abort
	/if (${Me.Casting.ID}) /goto :waitforheal
	:abort

	/delay 5
	/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[4]}-1439]} ${Math.Calc[${Math.Rand[12]}-756]}
	}
	/delay 3s
	}
	/goto :combatcheck
	
	:endcombat
	/squelch /target clear
/return

Sub CheckHeal(int healat)
	/declare healtarget int local 0
	/declare healloop int local 0

	/for healloop 1 to ${Group.Members}
		/if (${Group.Member[${healloop}].PctHPs} < ${Group.Member[${healtarget}].PctHPs}) /varset healtarget ${healloop}
	/next healloop
        /if (${SpawnCount[npc invading]}==0) /varset healat 94
	/if (${Group.Member[${healtarget}].PctHPs} < ${healat}) /return 1
/return 0

Sub Priest2
/if (${Zone.ID}==32) {
	/squelch /moveto loc -1356 -834
	/delay 5s !${Me.Moving}
	}
/if (${Zone.ID}==32) {
	/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1456]} ${Math.Calc[${Math.Rand[10]}-746]}
	/delay 5s !${Me.Moving}
	}
	/declare healat int local 65
	/declare healtarget int local
	/declare healloop int local
	/varset missiondone 0
	/declare atcamp int local 0
/return
   
|--
|##GM Sub for checking
|---------------------
Sub GM
	/if (${Spawn[gm].ID}) {
		/gsay Time to go, cya later
		/camp 
		/endmac
	}
/return 


|-
|# Chest popping
|----------------
Sub Event_Lastwave
	/squelch /stick off
	/squelch /moveto off
	/echo Task Completed, Getting In Line To Loot Shard!
	/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
			/delay 1m
			}
	:again
	/if (${Zone.ID}==32) {
		/delay ${Math.Rand[5]}s
        /if (${Zone.ID}==32) {
        /squelch /moveto loc -1331 -828
        }
		/delay 20s !${Me.Moving}
        
        /delay ${Math.Rand[5]}s
		/if (${SpawnCount[npc object race chest]}) {
			/target ornate
			/squelch /stick 2
			/delay 2s ${Target.Distance}<5
			/open
			/delay 4s !${Target.ID}
			}

		/target ornate
		/delay 12s ${Target.ID}
		/loot 
		/delay 2s
		/if (${Window[LootWnd].Open}) {
			/if (${Corpse.Items}==1) {
				/itemnotify loot1 rightmouseup
				/itemnotify loot1 rightmouseup
				/delay 2s
				} else {
				/itemnotify loot2 rightmouseup 
				/itemnotify loot2 rightmouseup
				/delay 2s 
				}
			/if (${Window[ConfirmationDialogBox].Open}) /nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup 
			/delay 2s 
			/notify LootWnd DoneButton Leftmouseup 
			/delay 3s (!${Window[LootWnd].Open})
			/notify LootWnd DoneButton Leftmouseup 
			}
		/if (!${FindItem[Shard of Wisdom].InvSlot.ID}) {
		/goto :again
		}
		/popup Shard Looted, Task Completed!
		/echo Task Completed!  Good Job!
		/varset missiondone 1
		/varcalc success ${success}+1
		/echo Successful Missions: ${success}
		/echo Failed Missions: ${fail} 
		/if (${Me.Race.Name.Equal[Dragon]} && ${Zone.ID}==32) {
		/squelch /moveto loc -1379 -857
		}
		/if (${Me.Race.Name.Equal[Giant]} && ${Zone.ID}==32) {
		/squelch /moveto loc ${Math.Calc[${Math.Rand[10]}-1399]} ${Math.Calc[${Math.Rand[10]}-792]}
		}
		}   
/return


|--
|##Chat Events
|-------------
Sub Event_Chat(string ChatType,string ChatSender,string ChatText)
	/If (${ChatType.Equal[TELL]} && ${ChatText.Equal[${Password}]}) {
		/invite ${ChatSender}
		/taskaddplayer ${ChatSender}
		/return
		}
	/If (${ChatText.Equal[make me leader]}) {
		/makeleader ${ChatSender}
		/return
		}
/return

|--
|##Holds macro when you die
|--------------------------
Sub Event_Slain 
	:wait1
	/delay 1s
	/target myself
	/if (${Me.PctHPs}<5) /goto :wait1
	/if (!${Target.ID}) /goto :wait1
	/delay 3s
	/if (${Me.Race.Name.Equal[Dragon]} && ${Me.Class.Name.Equal[Warrior]}) {
	/fade
	}
	/if (${SpawnCount[pc race Dragon]}==0 && ${SpawnCount[pc]}<=2) {
	/fade
	}
/return 

|--
|##End Macro if you camp on your own
|-----------------------------------
Sub Event_Camping
	/echo Camping - Ending macro!
/endmacro

|--
|## Task Quitter
|-----------------
Sub Event_None 
/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
}
/return

|--
|## Task Quit If Timer
|-----------------
Sub Event_Finished(Line,int TaskTime)
/varcalc TaskTime ${TaskTime}-1

/if (!${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/return
}
/if (${TaskTime}<1) {
/echo Your Task Has Ended, Quitting Task
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
/return
}
/echo Waiting ${TaskTime} Minutes For Task Timer To Expire So We Can Start A New Mission.
/delay ${TaskTime}m
/if (${Ini[naggychars.ini,NaggyChars,Lord Nagafen,NULL].Equal[${Me.Name}]}) {
/declare tempvar int local
/for tempvar 1 to ${Group.Members}
/taskremove ${Group.Member[${tempvar}]}
/next tempvar
/taskquit
}
/return

|--
|## Still Have Mission Timer
|-----------------
Sub Wait
:waitmore1
/echo Mission Timer Still Active Waiting 2 Minutes And Trying Again
/delay 2m
/if (!${Window[TaskTemplateSelectWnd].Open}) /say Fierce Battles
/delay 3s
/if (!${Window[TaskTemplateSelectWnd].Open}) /goto :waitmore1
/return 

|---
| Incoming
|----------
sub Event_Incoming
/varcalc WaveNumber ${WaveNumber}+1
/echo Here Comes Wave ${WaveNumber}!
/if (${Me.Sitting}) {
/stand
}
/return


|---
| Buy AA's
|----------
sub BuyAAs
      /keypress i 
      /notify InventoryWindow IW_AltAdvBtn leftmouseup 
      /delay 1s
      /notify AAWindow AAW_LoadButton leftmouseup 
      /delay 1s
      /doevents
/return

sub Event_NoAAs
	/beep
	/beep
	/echo Buy all the AA's on the general tab. After you have finished please click save.
/return

sub Event_SomeTell
/echo Tell received.
/beep
/delay 10
/beep
/delay 10
/beep
/return

sub Event_NoMonster
/echo Monster Select Failed, Retrying
/call TemplateSelect
/call EnterMission
/return

sub TemplateSelect
	/declare tempvar int local
	/declare tempvar1 int local
	/if (${Template.Equal[Lord Nagafen]}) {
		/echo Selecting Lord Nagafen
		/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectListRequired leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListRequired].List[Lord Nagafen]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
		/delay 5s 
		/return
	} else {
		/if (${Template.Equal[Priest Of Nagafen2]}) {
			/varset tempvar 1
			/varset Template Priest of Nagafen
			}
	   	/if (${Template.Equal[Priest Of Nagafen3]}) {
			/varset tempvar1 1
			/varset Template Priest of Nagafen
			}
		/echo Selecting ${Template}
		/notify TaskTemplateSelectWnd TaskTemplateSelectListOptional listselect ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListOptional].List[${Template}]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectListOptional leftmouse ${Window[TaskTemplateSelectWnd].Child[TaskTemplateSelectListOptional].List[${Template}]} 
		/delay 10
		/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup 
		/delay 5s 
		/if (${tempvar}) /varset Template Priest of Nagafen2
		/return
		/if (${tempvar1}) /varset Template Priest of Nagafen3
	}

	/echo Failed to locate correct character name in ${inichars}. Please update ${inichars} and add your character to a template.
/end


Enjoy

Yeah, this was a mere 3 posts behind yours. Helps to read sometimes :D
 
I'm having issues looting with Naggy at the end. Every time I try to loot it doesn't ever click the "Yes" for the are you sure you want to loot a no drop item.

Any ideas?
 
I'm having issues looting with Naggy at the end. Every time I try to loot it doesn't ever click the "Yes" for the are you sure you want to loot a no drop item.

Any ideas?

Try doing /lootnodrop never.
 
Has anyone used this today? Was using fine until a couple hours ago, then all of a sudden when I get mission and all characters are chosen, it says passphrase and instead of zoning in, on all characters it says: "The way is blocked to you, perhaps if there was a reason...". Did they do a stealth nerf on this? I'm logging out for a while to see if maybe it's something with my pc just wanted to check here also.

eqisdead
 
hmm.. weird... I get the same messege when i try to do TBS missions. Did it fine first 4 times then went to do it again, missions giver gave mission but when i tried to start it, got "your way is block, maybe it wouldnt be if there was a reason for you to go there" or something like that.
 
This happened to me again today. Are they doing checks if you do more than several in a row now or something? Are Chiapet and I the only ones doing this now or is no one else getting this problem?

eqisdead
 
That message means the instance hasn't been created yet. It usually happens when there is a lot of demand on the instance server. Try adding a delay before saying the zone in text and see if that works.