• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
[Мануал] Таблица `disables` или как запрещать игрокам
Ramus
Рыцарь
Вниманию тех, кто недавно с Тринити или не знает, как к примеру отключить спелл или закрыть доступ в инст.

Для отключения контента (спелы/квесты/достижения/инсты/поля боев) в базе Тринити существует специальная таблица 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");



Автор мануала - Ramus. Специально для WoWJP
Сообщение # 1 отредактировано Ramus - Понедельник, 06.12.2010, 18:46
Balon
Центурион
Уже есть http://wowjp.net/forum/189-113032-1

Сообщение # 2 написано 10.11.2010 в 21:46
PanDaemonAeon
TrinityCore Support Team
Сообщение # 3 написано 12.11.2010 в 04:08
Ramus
Рыцарь
1 пост обновлен согласно последним дополнениям официального ядра TrinityCore
Сообщение # 4 написано 06.12.2010 в 18:46
Zorch
Скаут
Супер гайд,спасибо! smile
Сообщение # 5 написано 03.01.2011 в 20:32
Silenn
Рыцарь
Вот у меня вопрос, чтобы отключить заклинание на определённой mapid тут я чёто недопонял написанно 16 а где указывать карту на которой надо отключить?? подскажите пож-ста
Сообщение # 6 написано 14.01.2011 в 11:04
Ramus
Рыцарь
Code
4. params_0
это поле заполняется в том случае, если вы используете отключение спела для определённой карты. Сюда заносится MapId. 0 - для всех карт
Сообщение # 7 написано 14.01.2011 в 11:24
Silenn
Рыцарь
Ramus,
А у меня нету такого столбика в disable у меня там sourcetype entry flag comments и всё... помоги
Сообщение # 8 написано 14.01.2011 в 12:39
Ramus
Рыцарь
Silenn, гайд составлен согласно последним ревизиям ТринитиКор, чему и посвящен данный раздел. А в ваших сборках может быть что угодно
Сообщение # 9 написано 23.01.2011 в 23:11
  • Страница 1 из 1
  • 1
Поиск: