Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Патчи (http://mangos.ytdb.ru/forumdisplay.php?f=6)
-   -   [patch] ObjectScriptSpawn (Horde/Alliance/Event) (http://mangos.ytdb.ru/showthread.php?t=5136)

MaxXx2021 10.11.2011 09:09

[patch] ObjectScriptSpawn (Horde/Alliance/Event)
 
Вложений: 3
Доброго всем времени суток. Как всем известно, что на оффе есь такое понятие как спавн мобов в инстах в зависимости от тима находящегося в нем и от текущего прогресса инста. Данный патч реализует такой спавн.
Что сделано:
1. Спавн НПЦ и Геймобьектов в зависимости от того кто в инсте (Орда/Альянс), нужно для инстов (Нексус, ЗО, ИЧ, КД, ЯС и тд)
2. Спавн, Деспавн и запрет на загрузку нпц и обьектов в определенные моменты. Те нам нужно к примеру что бы в определенный момент обьектов не было в мире, но потом эти обьекты появились или наоборот нам нужно убрать обьекты в определенный момент. Нужно для инстов (Ульдуар, Очищение Стратхольма, ЦЛК и тд). Работает для мировой карты.
Что нужно сделать:
1. Нужно сделать динамические координаы определенным обьектам при определенном прогрессе карты.
2. Отсылка номера WorldEvent в InstanceData при его старте и окончании, так как для некоторых стартов праздников нужно убирать существующих нпц, пример: Атака Плети, Тралл в оргримаре у трона пропадает и появляется у арены, как показали сниффы у них одинаковый entry.

структура таблиц
Цитата:

+/* ************************************************** *******
+ * Method to Load From DB
+ * DB Format: spawn_guid, team_control, add_control, remove_control
+ * 0 1 2 3
+ * **************************************
+ * spawn_guid: creature.guid or gameobject.guid
+ * team_control: Team control
+ * add_control: Add Action
+ * remove_control: Remove Action
+ *
+ * ************************************************** *** */
Патч для мангоса Revision 11817. Описание как пользоваться таблицами есть в файлах. Для смены фазы карты в скрипте делаем так: map->ProcessMapEvent(фаза);
те мобы, которое соответствуют условию в таблицах появления появятся и наоборот.

Для теста:
Запрос для проверки возможностей патча для YTDB. Нужно убрать фазы у нипов с гуидами 130956 и 130961, а так же очистить spell_area подземелья Испытания Чемпиона.
Код:

insert into `creature_script_spawn` (`spawn_guid`, `team_control`, `add_control`, `remove_control`, `description`) values('130956','469','0','0','Arelas Brightstar (35005)');
insert into `creature_script_spawn` (`spawn_guid`, `team_control`, `add_control`, `remove_control`, `description`) values('130961','67','0','0','Jaeren Sunsworn (35004)');
insert into `creature_script_spawn` (`spawn_guid`, `team_control`, `add_control`, `remove_control`, `description`) values('115440','0','0','1','Brann Bronzebeard (28070)');

Тест №2 для YTDB:
Поправка подземелья Nexus...
Код:

INSERT INTO creature_script_spawn SELECT guid, '469', '0', '0', 'Nexus Horde Soldiers' FROM creature WHERE map = 576 AND phaseMask = 128;
INSERT INTO creature_script_spawn SELECT guid, '67', '0', '0', 'Nexus Alliance Soldiers' FROM creature WHERE map = 576 AND phaseMask = 64;
UPDATE creature SET phaseMask = 1 WHERE phaseMask = 128 AND map = 576;
UPDATE creature SET phaseMask = 1 WHERE phaseMask = 64 AND map = 576;

Результат вы должны получить такой как на скринах в аттаче.
Патч на GitHub: Патч
Дополнительно: Поправка к патчу

MaxXx2021 15.11.2011 13:10

Обновил Первый пост, добавил поправку к патчу.

Mayss 18.11.2011 19:16


MaxXx2021 18.11.2011 19:24

Цитата:

Сообщение от Mayss (Сообщение 25722)

Конечно для WOTLK!

YuruY 19.11.2011 16:04

Ну на катаклизме будет актуально для большинства данжей.


Текущее время: 03:51. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS