YTDB

Вернуться   YTDB > Баг-репорты (Патчи) / Bug reports (Patches) 4.3.4 > Необходима поддержка скриптов / Needs script support

Необходима поддержка скриптов / Needs script support Все сделать через базу невозможно.

Данный раздел специально выделен для скриптов, реализующих действия, которые невозможно реализовать через базу.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.03.2014, 00:28   #1
Ulduar
Ученый
 
Регистрация: 23.11.2012
Сообщений: 196
Сказал(а) спасибо: 69
Поблагодарили 16 раз(а) в 16 сообщениях
Ulduar На верном пути
По умолчанию Нужно что-то ещё.

Добрый вечер. Имеется вот такая дверь(то что она закрыта по дефолту - это правильно), также есть и нпц перед ней. Скриншот:
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 если что-то забыл добавить, пишите.
Для файла instance_icecrown_citadel.cpp
Код:
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;
Постараюсь потом добавить ещё что-нибудь. Одно знаю точно - эти мобы не уникальны, поэтому нужен check Guid.
Вообщем от скрипта требуется одно - сделать проверку на этих нпц и если они убиты(те что перед дверью, а не за ней и перед Ланателью) то открывать дверь.
Миниатюры
Нажмите на изображение для увеличения
Название: WoWScrnShot_030414_012622.jpg
Просмотров: 1656
Размер:	311.1 Кб
ID:	2722  

Последний раз редактировалось Ulduar; 04.03.2014 в 23:08. Причина: 0f добавлять нужно обязательно, я смотрел похожие примеры в ядре. Для спеллов с 226 аурой.
Ulduar вне форума   Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 10:28. Часовой пояс GMT +4.


YTDB - MaNGOS DataBase

Русский форум Мангос - официальный форум RMDC

Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума YTDB будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot
Punk's On-Air - Punk, Folk, Blues, Ska Bascinet - реконструкция denw IL-2 Training Книготорговая Компания «А-5» - художественная, учебная литература, скидки, опт и мелкий опт, доставка, дешево, низкие цены издательства