Code: Select all
Sub main()
/declare index global
/declare casters global
/declare npcid global
/varset index 1
/varset casters 0
:mainloop
/varcalc npcid ${Target.NearestSpawn[@index,npc radius @Param0].ID}
/if (${Spawn[@npcid].Speed}<71.44) {
/if (${String[${Spawn[@npcid].Class}].Equal[Shaman]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Cleric]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Druid]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Enchanter]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Wizard]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Necromancer]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Magician]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Beastlord]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Paladin]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Shadowknight]}) /varset casters @casters+1
/if (${String[${Spawn[@npcid].Class}].Equal[Ranger]}) /varset casters @casters+1
/goto :skip
}
/if (${String[${Spawn[@npcid].ID}].Equal[${Target.ID}]}) {
/chat #@Param1 [${Int[@index]}] - Incoming -> ${Spawn[@npcid].CleanName} <-- TARGET
/goto :skip
}
/chat #@Param1 [${Int[@index]}] - Incoming -> ${Spawn[@npcid].CleanName}
:skip
/varcalc index @index+1
/if (${String[${Target.NearestSpawn[@index,npc radius @Param0].ID}].Equal[NULL]}) /goto :end
/goto :mainloop
:end
/if (@index>0) /chat #@Param1 Total incoming: ${Int[@index]} mob(s).
/endmacro[1] - Incoming -> an orc centurion <-- TARGET
[2] - Incoming -> an orc centurion
[3] - Incoming -> an orc centurion
Total incoming: 3 mob(s).

