PDA

Просмотр полной версии : Защитник и Тюремщик Аркатраца.


Ulduar
19.02.2015, 00:09
http://ru.wowhead.com/npc=20857
http://ru.wowhead.com/npc=20859
Завязаны на стартовом эвенте.
// intro event related
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,
NPC_ARCATRAZ_WARDEN = 20859,
NPC_ARCATRAZ_DEFENDER = 20857,
Воюют с ночным кошмаром и ужасом.
MAX_WARDENS = 7,

void instance_arcatraz::OnCreatureDeath(Creature* pCreature)
{
if (pCreature->GetEntry() == NPC_ARCATRAZ_WARDEN || pCreature->GetEntry() == NPC_ARCATRAZ_DEFENDER)
{
++m_uiKilledWardens;

// Stop the intro spawns when the wardens are killed
if (m_uiKilledWardens == MAX_WARDENS)
{
SetData(TYPE_ENTRANCE, DONE);
m_uiEntranceEventTimer = 0;
}
}
}
Пока не убьёшь 7 тюремщиков (Почему скриптовики выставили 7 я не знаю)
Нужно добавлять или скриптовикам объяснять, иначе будет бесконечный спавн:
NPC_PROTEAN_NIGHTMARE = 20864,
NPC_PROTEAN_HORROR = 20865,

void instance_arcatraz::Update(uint32 uiDiff)
if (m_uiEntranceEventTimer)
{
if (m_uiEntranceEventTimer <= uiDiff)
{
Player* pPlayer = GetPlayerInMap();
if (!pPlayer)
return;

uint32 uiEntry = urand(0, 10) ? NPC_PROTEAN_HORROR : NPC_PROTEAN_NIGHTMARE;

// Summon and move the intro creatures into combat positions
if (Creature* pTemp = pPlayer->SummonCreature(uiEntry, aEntranceSpawnLoc[0], aEntranceSpawnLoc[1], aEntranceSpawnLoc[2], aEntranceSpawnLoc[3], TEMPSUMMON_TIMED_OOC_OR_DEAD_DESPAWN, 30000))
{
pTemp->SetWalk(false);
pTemp->GetMotionMaster()->MovePoint(0, aEntranceMoveLoc[0], aEntranceMoveLoc[1], aEntranceMoveLoc[2]);
}
m_uiEntranceEventTimer = urand(0, 10) ? urand(2000, 3500) : urand(5000, 7000);
}
else
m_uiEntranceEventTimer -= uiDiff;
}
}

NeatElves
21.02.2015, 21:08
UPDATE creature_template SET UnitFlags = 33554688, DynamicFlags = 8, ExtraFlags = 128 WHERE Entry IN (21186);
UPDATE `creature_template` SET `FactionAlliance` = 16, `FactionHorde` = 16 WHERE `Entry` in (21761,20869,21586);
UPDATE `creature_template` SET `ExtraFlags` = 2 WHERE `Entry` =21761;
UPDATE creature_template_addon SET auras = NULL WHERE entry IN (21761);
UPDATE creature_template SET ModelId1 = 19971 WHERE entry = 21761;
UPDATE creature_template SET UnitFlags = 536870976, DynamicFlags = 32, RegenerateStats = 0 WHERE entry IN (20869,21586);
DELETE FROM `creature` WHERE `guid` = 123374;
DELETE FROM `creature` WHERE `guid` = 123375;
DELETE FROM `creature` WHERE `guid` = 123376;
DELETE FROM `creature` WHERE `guid` = 123377;
DELETE FROM `creature` WHERE `guid` = 123378;
REPLACE INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `DeathState`, `MovementType`) VALUES
(53883, 20857, 552, 3, 1, 0, 0, 101.977, -2.98757, -10.1691, 0.20944, 7200, 0, 0, 19626, 0, 0, 0),
(80802, 20857, 552, 3, 1, 0, 0, 103.497, 1.23046, -10.1701, 6.21804, 7200, 0, 0, 19626, 0, 0, 0),
(53885, 20857, 552, 3, 1, 0, 0, 101.624, 6.57745, -10.1856, 5.8294, 7200, 0, 0, 19626, 0, 0, 0),
(53884, 20859, 552, 3, 1, 0, 0, 69.6491, -14.8739, -10.0332, 0.541052, 7200, 0, 0, 15699, 8973, 0, 0),
(123374, 20859, 552, 3, 1, 0, 0, 73.3906, -16.7659, -10.0612, 0.541052, 7200, 0, 0, 15699, 8973, 0, 0),
(123375, 20859, 552, 3, 1, 0, 0, 76.9442, 18.8223, -10.1055, 5.68977, 7200, 0, 0, 15699, 8973, 0, 0),
(123376, 20859, 552, 3, 1, 0, 0, 73.8442, 17.5507, -10.0701, 5.89921, 7200, 0, 0, 15699, 8973, 0, 0);
Для 335 тоже

Ulduar
21.02.2015, 22:09
Благодарю!