Кто не давно рабоет со сборками TrinityCore обьясню как ставить запреты на спелы,данжи и т.д
Для отключения контента (спелы/квесты/достижения/инсты/поля боев) в базе TrinityCore существует специальная таблица `disables`. Каждое поле данной таблицы имеет своё назначение:
Таблица состоит из 6 полей:
sourceType entry flags params_0 params_1 comment
1.sourceType Это поле отвечает за то, какой вид контента вы хотите отключить. Если вы ставите в это поле "0" - то будет отключаться заклинание, "1" - отключаем квест, "2" - отключаем карту (конкретнее - подземелье/рейд), "3" - отключаем поле боя, "4" - отключаем достижение.
Выбираем, что именно хотим отключить и заносим в поле `sourceType` соответствующую цифру.
2.entry В это поле вводиться номер заклинания/квеста/карты/поля боя/достижения (соответственно), которое вы хотите отключить. Если Spellи Quest к примеру можно посмотреть на вовхеаде, то айди подземелья можно посмотреть в игре, набрав команду .gps на гм аккаунте.
Айди полей боев / Арен для sourceType=3 представлены ниже:
Code
1 Alterac Valley 2 Warsong Gulch 3 Arathi Basin 4 Nagrand Arena 5 Blade's Edge Arena 6 All Arena 7 Eye of the Storm 8 Ruins of Lordaeron 9 Strand of the Ancients 10 Dalaran Sewers 11 The Ring of Valor
3.flags Это поле заполняется только в том случае, если вы отключаете заклинание или карту. Для остальных типов контента поле трогать не нужно.
Если вы отключаете спелл, то даное поле заполняется в зависимости от того, каким образом вы отключаете спелл:
Code
0 Заклинание включено, т.е. работает как положено 1 Заклинание отключено для игроков 2 Заклинание отключено для нпц 4 Заклинание отключено для петов 8 Заклинание полностью отключено 16 Заклинание отключено для определенной MapId 32 Заклинание отключено для определенной AreaId
Получается, если вы хотите отключить спелл только для игроков - то устанавливате поле flags равным "1", а если хотите для нпц и петов отклюючить - суммируете значения - 2 + 4 = 6 (0110 в двоичке). К примеру, хотите отключить для игроков и петов - суммируете 1 + 4 = 5 (0101 в двоичке).
При отключении карты подземелья, назначения битов совсем другие:
Code
1 Подземелье Нормальный режим или Рейд 10 игроков нормальный режим 2 Подземелье Героический режим или Рейд 25 игроков нормальный режим 4 Рейд 10 игроков Героический режим 8 Рейд 25 игроков Героический режим
Получается, если вы хотите отключить в инсте только Героический режим - ставите "2", если вы хотите в ЦЛК к примеру отключить все режимы - суммируете 1 + 2 + 4 + 8 = 15 (1111 в двоичке).
4.params_0 это поле заполняется в том случае, если вы используете отключение спела для определённой карты. Сюда заносится MapId. 0 - для всех карт.
5.params_1 Это поле заполняется в том случае, если вы используете отключение спела для определенной местности. Сюда заносится AreaId. 0 - для всех местностей.
6.comment Необязательное для заполнения поле - чисто комментарий для себя, чтобы в дальнейшем было легче ориентироваться по записям в таблице.
Ну надеюсь я все доступно обьяснил.Проще не куда просто. Вот примеры данного мануала!
1) Отключение заклинания для игроков (к примеру, Божественный щит - айди заклинания 642):
Code
DELETE FROM `disables` WHERE `entry`= 642 AND `sourceType`=0; INSERT INTO `disables` (`sourceType`,`entry`,`flags`,`comment`) VALUES (0, 642, 1, "Spell disabled #642");
2) Отключение поля боя (к примеру, Берег древних - id=9)
Code
DELETE FROM `disables` WHERE `entry`=9 AND `sourceType`=3; INSERT INTO `disables` (`sourceType`,`entry`,`flags`,`comment`) VALUES (3, 9, 0, "Disable Strand of the Ancients - bugged");