Spawnují se vůbec všechny ty zombie NPC?
SummonedZombies = me->SummonCreature(16360,ADD_1X,ADD_1Y,ADD_1Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_2X,ADD_2Y,ADD_2Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_3X,ADD_3Y,ADD_3Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_4X,ADD_4Y,ADD_4Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_5X,ADD_5Y,ADD_5Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_6X,ADD_6Y,ADD_6Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_7X,ADD_7Y,ADD_7Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_8X,ADD_8Y,ADD_8Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
SummonedZombies = me->SummonCreature(16360,ADD_9X,ADD_9Y,ADD_9Z,0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000);
if (SummonedZombies)
{
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
if (pTarget)
SummonedZombies->AddThreat(pTarget,1.0f);
}
Jestli to dobře chápu, tak se do proměnné SummonedZombies ukládají a následně přepisují různá data, ale nakonec tam zůstanou jen ty poslední, funke se pak zavolá v podmínce a spawne se jeden zombie? Možná to ale špatně chápu, nezkoušel jsem to, takže netuším.
Co se týče toho útočení, zkus použít funkci AttackStart, namísto AddThreat, asi takhle:
if (SummonedZombies)
{
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
if (pTarget)
SummonedZombies->AI()->AttackStart(pTarget);
}