Создание пьедесталов опыта в Fable: The Lost Chapters

Оригинал: Keshire. Перевод и редактирование: Torionel. Полезные идеи и правки: Андрей Одаренко.

Пьедестал опыта — это небольшое круглое сооружение, позволяющее персонажу Fable: The Lost Chapters прокачивать навыки за накопленный опыт. В игре такой пьедестал есть только в Гильдии Героев. Изложенный в руководстве способ позволит вам размещать пьедесталы опыта, вызывающие меню прокачки, где угодно.

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

Маркер

NewThing Marker;
Player -1;
UID 18446741874686296966;
DefinitionType "HERO_CENTRE_DOOR_MARKER";
CreateTC "CTCOwnedEntity";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 17.222660;
PositionY 4.732910;
PositionZ 40.000000;
RHSetForwardX -0.999893;
RHSetForwardY 0.014616;
RHSetForwardZ 0.000000;
RHSetUpX 0.000000;
RHSetUpY 0.000000;
RHSetUpZ 1.000000;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCOwnedEntity;
SwitchableNavigationTCAdded FALSE;
VersionNumber 1;
OwnerUID 18446741874686296065;
EndCTCOwnedEntity;
StartCTCHeroCentreDoorMarker;
Radius 1.00;
DoorType2 1;
EndCTCHeroCentreDoorMarker;
Health 1.0;
EndThing;

Графический эффект

NewThing Marker;
Player 4;
UID 18446741874686310261;
DefinitionType "MARKER_LIGHT_INTERNAL_CHANNEL";
CreateTC "CTCOwnedEntity";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 17.348140;
PositionY 4.638672;
PositionZ 40.000000;
RHSetForwardX -0.999993;
RHSetForwardY 0.003645;
RHSetForwardZ 0.000000;
RHSetUpX 0.000000;
RHSetUpY 0.000000;
RHSetUpZ 1.000000;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCLight;
Active TRUE;
Overridden TRUE;
Colour CRGBColour(0,100,20,255);
InnerRadius 3.0;
OuterRadius 5.0;
Flicker 0.0;
Inverted FALSE;
EndCTCLight;
StartCTCOwnedEntity;
SwitchableNavigationTCAdded FALSE;
VersionNumber 1;
OwnerUID 18446741874686296317;
EndCTCOwnedEntity;
Health 1.0;
EndThing;

Собственно пьедестал

Перед создание в локации самой постройки из камня необходимо скачать и установить fmp-файл от моддера Keshire. Пьедестал из файла создается как объект BUILDING_EXP_DUMMY и несколько отличается от оригинального OBJECT_GUILD_PEDESTAL_EXPERIENCE_01, который стоит в Гильдии Героев.

NewThing Building;
Player 4;
UID 18446741874686296065;
DefinitionType "BUILDING_EXP_DUMMY";
ScriptName GrannysHouse;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 17.300780;
PositionY 4.492676;
PositionZ 40.000000;
RHSetForwardX -0.999992;
RHSetForwardY 0.003929;
RHSetForwardZ 0.000000;
RHSetUpX 0.000000;
RHSetUpY 0.000000;
RHSetUpZ 1.000000;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCVillageMember;
VillageUID 0;
EndCTCVillageMember;
StartCTCBuyableHouse;
WifeLivingHere 0;
OwnedByPlayer FALSE;
IsScripted FALSE;
Rented FALSE;
DayNextRentIsDue 2147483647;
CurrentDressLevel 0;
VirtualMoneyBags 0;
EndCTCBuyableHouse;
Health 15000.0;
EndThing;

Радиус действия пьедестала опыта

(прим. глав. ред. — слово Андрею Одаренко. Обновлено редакцией в 2025 году)

Для пьедесталов опыта можно назначить радиус действия (радиус триггера, который будет нас перенаправлять в меню улучшений характеристик героя), чтобы мы могли визуально оценить его и выбрать подходящий размер. Это будет работать примерно так же, как и вид радиуса другого известного маркера — REGION_EXIT_POINT (тех телепортов, которые используются для перемещения из локации в локацию при прохождении через ворота).

По умолчанию Chocolate Box (CBox) не будет показывать маркер HERO_CENTRE_DOOR_MARKER — именно он и направляет в меню улучшений характеристик, а вовсе не каменный пьедестал. Чтобы решить эту проблему, есть два способа, позволяющие увидеть радиус действия этого триггера.

Способ 1 — через блокнот или Notepad++

Тут всё просто: находите в текстовом редакторе или редакторе кода HERO_CENTRE_DOOR_MARKER (с помощью функции поиска) и после строки "StartCTCHeroCentreDoorMarker;" видите две строки: "Radius 1.00;" и "DoorType2 1;". Как вы могли предположить, нужна строка "Radius 1.00", где 1.00 — это и есть радиус действия триггера. Поменяйте его, и готово!

Минус данного способа — при размещении двух и более HERO_CENTRE_DOOR_MARKER в одной локации будет сложно понять, какой маркер где находится, если, конечно же, вы не записали их идентификаторы (UID'ы) с пометками (например, "1 — в доме, 2 — около моря").

Способ 2 — через CBox

Данный способ предполагает использование другой модели для маркера HERO_CENTRE_DOOR_MARKER.

  1. Откройте CBox или Fable Explorer (FE).
  2. Найдите в файле game.bin объект HERO_CENTRE_DOOR_MARKER.
  3. Найдите строку "C8636B2E (Graphic)".
  4. В строке Model ID назначьте любую модель (я использую 4510 — это стандартная модель маркера).
  5. Нажмите Apply Changes для сохранения изменений.
  6. Откройте в CBox локацию с пьедесталом опыта, и сможете увидеть на нем HERO_CENTRE_DOOR_MARKER! (Если вы открывали локацию еще до того изменения параметра "C8636B2E (Graphic)" объекта HERO_CENTRE_DOOR_MARKER, надо предварительно перезапустить CBox).

Плюсом данного метода — его мобильность: один раз назначив модель, будет проще найти объект в локации уже через CBox. Тут же пропадает минус первого способа, поэтому  способ два более прост и удобен.

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