Создание точки телепортации в Fable: The Lost Chapters

Источник оригинальной статьи: fabletlcmod.com, автор JohnDoe. Перевел и отредактировал Torionel

Точка телепортации — это голубое поле высотой в пару метров. Когда вы заходите в него, открывается карта мест, куда можно телепортироваться. Фактически точки телепортации (условное название для того, чтобы не путать их с другими типами телепортов) повторяют функции Печати Гильдии. Создав в локации такую точку, вы увидите ее в списке, появляющемся при использовании Печати.

Для начала объясним некоторые детали. Сначала зайдите в папку с игрой, а далее в папку Levels. Откройте редактором кода или простым Блокнотом файл FinalAlbion.WLD. Теперь внимательно! Допустим, что вы хотите сделать телепорт на Смотровую Площадь. Откройте файл WLD, и в начале увидите строки:

MapUIDCount 72;
ThingManagerUIDCount 1;
NewMap 1;
MapX 3232;
MapY 3488;
LevelName "FinalAlbion\LookoutPoint.lev";
LevelScriptName "LookoutPoint";
MapUID 162441;
IsSea FALSE;
LoadedOnPlayerProximity TRUE;
EndMap;

Нас интересует то, что выделено красным цветом. Запомните цифру и закройте файл. Откройте в той же папке файл FinalAlbion.GTG.

Найдите следующее:

NEWMAP 1
Version 2;
XXXSectionStart NULL;

После этого добавьте следующие скрипты:

NewThing Marker;
Player -1;
UID 18446744073709551615;
DefinitionType "HERO_GUILD_TELEPORT_MARKER";
ScriptName TeleportPoint;
ScriptData "NULL";
ThingGamePersistent TRUE;
ThingLevelPersistent TRUE;
StartCTCPhysicsStandard;
PositionX 0.0;
PositionY 0.0;
PositionZ 0.0;
RHSetForwardX 0.0;
RHSetForwardY 1.0;
RHSetForwardZ 0.0;
RHSetUpX 0.0;
RHSetUpY 0.0;
RHSetUpZ 1.0;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCTeleporter;
TeleportActive FALSE;
TeleportActivated FALSE;
EndCTCTeleporter;
Health 1.0;
EndThing;

NewThing Object;
Player 4;
UID 18446744073709551615;
DefinitionType "OBJECT_GUILD_PEDESTAL_TELEPORT_01";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 0.0;
PositionY 0.0;
PositionZ 0.0;
RHSetForwardX 0.0;
RHSetForwardY 1.0;
RHSetForwardZ 0.0;
RHSetUpX 0.0;
RHSetUpY 0.0;
RHSetUpZ 1.0;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
Health 1.0;
EndThing;

Сгенерируйте новый идентификатор (UID) или впишите от балды, если создаете точку телепортации через редактор кода, а также впишите координаты.

Внимание: последний скрипт вставлять не обязательно: это лишь голубой кружок с Печатью Гильдии, при взгляде на который сразу становится понятно, что "тут телепортируют". А если всё-таки хотите его вставить, то можно и в TNG-файл самой локации, чтобы не загрязнять "глобальный" GTG-файл.

В заключение скажу, что когда-то был сильно удивлен, увидев, что в GTG есть те же скрипты, что и в TNG-файлах. Советую господам моддерам внимательно приглядеться к этой функции.

И еще, думаю, не нужно объяснять, зачем нужны вот эти переключатели:

  • TeleportActive FALSE
  • TeleportActivated FALSE

Больше интересного о Fable — в нашем Telegram-канале