Где находится сценарий телепортации «Даларанский колодец» (игровой объект)? - PullRequest
0 голосов
/ 16 февраля 2020

Когда вы пытаетесь достичь Даларанского колодца в Даларане, вы телепортируетесь в канализацию.

Использует этот игровой объект: Doodad_Dalaran_Well_01 (id = 193904)

Где это написано? Как?

Я ничего не нашел в таблице smart_scripts, и ничего не нашел в ядре об этом конкретном c id, поэтому мне любопытно, потому что этот тип телепорта действительно лучше, чем нажатие на игровой объект

1 Ответ

1 голос
/ 21 февраля 2020

Этот игровой объект является уникальным случаем, потому что он работает как телепорты экземпляра. Если вы проверите таблицу gameobject_template, вы увидите, что в ней есть несколько столбцов Data, которые имеют разные значения, основанные на type объекта игры. Объект игры, о котором вы тоже упоминаете, - это сам колодец, но игровой объект портала внутри колодца дает игроку фиктивное заклинание, сообщающее ядру, что игрок телепортировался (код заклинания 61652). Для конкретного случая c скважины Даларана его тип равен 30, что означает, как сказано в документации , GAMEOBJECT_TYPE_AURAGENERATOR. Как только игрок оказывается в пределах досягаемости, на него накладывается аура-пустышка, чтобы уведомить ядро ​​о том, что этот арриатригер активирован (вы можете делать вещи, когда игрок получает удар от заклинания-пустышки).

Трюк здесь это кролик, но не сам кролик, так как он в основном для определения ареатригера. Если вы используете команду. go gobject 61148, вы можете проверить его, он внутри скважины.

Areatriggers - это объект DB C, который фактически присутствует в нашей базе данных на world.areatrigger. Вы можете проверить столбцы здесь . Когда игрок входит в поле Радиуса, указанное на ареатригере, в ядре происходит нечто другое: world.areatrigger_teleport.

Если вы выполните следующий запрос, вы сможете проверить положение, в котором триггер будет телепортировать игрок в.

SELECT * FROM areatrigger_teleport WHERE `Name` LIKE '%Dalaran Well teleporter%';
...