|
---|
|
Необходима поддержка скриптов / Needs script support Все сделать через базу невозможно. Данный раздел специально выделен для скриптов, реализующих действия, которые невозможно реализовать через базу. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
04.03.2014, 00:28 | #1 |
Ученый
Регистрация: 23.11.2012
Сообщений: 196
Сказал(а) спасибо: 69
Поблагодарили 16 раз(а) в 16 сообщениях
|
Нужно что-то ещё.
Добрый вечер. Имеется вот такая дверь(то что она закрыта по дефолту - это правильно), также есть и нпц перед ней. Скриншот:
http://ytdb.ru/attachment.php?attach...1&d=1393878412 На оффе после убийства мобов должна открываться эта самая дверь. Код:
DATA_CRIMSONHALL_EVENT = 1, Pre Blood Prince mini event. NPC_DARKFALLEN_NOBLE = 37663, Pre Blood Prince Door mini event. NPC_DARKFALLEN_BLOOD_KNIGHT = 37595, NPC_DARKFALLEN_ADVISOR = 37571, NPC_DARKFALLEN_ARCMAGE = 37664, void SetData64(uint32 uiType, uint64 uiGuid) override; GuidSet m_sPreCrimsonHallMobsAliveGUIDSet; это для файла icecrown_citadel.h если что-то забыл добавить, пишите. Код:
void instance_icecrown_citadel::OnCreatureCreate(Creature* pCreature) case NPC_DARKFALLEN_NOBLE case NPC_DARKFALLEN_BLOOD_KNIGHT case NPC_DARKFALLEN_ARCMAGE case NPC_DARKFALLEN_ARCMAGE // Filter only the mobs spawned on Pre Crimson Hall Door. if (pCreature->GetPositionZ() < 361.0f) m_sPreCrimsonHallMobsGUIDSet.insert(pCreature->GetObjectGuid()); break; } } void instance_icecrown_citadel:SetData64(uint32 uiData, uint64 uiGuid) { // If Blood Prince Council already completed, just ignore if (GetData(TYPE_BLOOD_PRINCE_COUNCIL) == DONE) return; // Note: this is handled in Acid. The purpose is check which Pre Crimson Hall mobs is alive, in case of server reset // The function is triggered by eventAI on generic timer if (uiData == DATA_CRIMSONHALL_EVENT) m_sPreCrimsonHallMobsGUIDSet.insert(pCreature->GetObjectGuid()); } Код:
void instance_icecrown_citadel::OnCreatureDeath(Creature* pCreature) case NPC_DARKFALLEN_NOBLE case NPC_DARKFALLEN_BLOOD_KNIGHT case NPC_DARKFALLEN_ARCMAGE case NPC_DARKFALLEN_ARCMAGE break; Вообщем от скрипта требуется одно - сделать проверку на этих нпц и если они убиты(те что перед дверью, а не за ней и перед Ланателью) то открывать дверь. Последний раз редактировалось Ulduar; 04.03.2014 в 23:08. Причина: 0f добавлять нужно обязательно, я смотрел похожие примеры в ядре. Для спеллов с 226 аурой. |