Настройка среды для разработки (HPL2)

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Для того, чтобы создавать карты для Amnesia, нужно настроить игру. После этого можно будет легко проверять карты и скрипты. Первым делом надо выполнить следующие действия:


  1. Запустите игру и создайте профиль (например, MyName) и выйдите из игры.
  2. Перейдите в каталог с профилями (по умолчанию в Windows “Мои документы/Amnesia/Main”, в Linux “~/.frictionalgames/Amnesia/Main”) и переименуйте свой профиль в dev_user.
  3. Откройте файл main_settings.cfg и настройте параметры следующим образом: ShowMenu=“false”, ShowPreMenu=“false”, ExitMenuDirectly=“true”, LoadDebugMenu=“true” (также неплохо сделать SaveConfig=“false”).
  4. Для Amnesia версии 1.0.1 и младше нужно в main_settings.cfg задать параметр ForceCacheLoadingAndSkipSaving=“false”, иначе изменений на карте не будет видно!
  5. Откройте user_settings.cfg в папке dev_user и внутри параметра Debug добавьте AllowQuickSave=“true” (F4=сохранение, F5=загрузка) и убедитесь, что ScriptDebugOn=“true”.
  6. В файле user_settings.cfg внутри элемента Map укажите параметру Folder="" путь к папке со своими картами (например Folder="MyMaps"). Эта папка ДОЛЖНА находиться внутри папки Amnesia/maps/.
  7. В файле user_settings.cfg внутри элемента Map впишите в параметр File="" имя своей карты, чтобы она загружалась после запуска игры (например, File="testmap.map").
  8. Чтобы при проектировании своей кампании избежать ошибок вроде “File index out of bounds”, нужно добавить каталог custom_stories в список в файле resources.cfg в корневом каталоге игры.

Теперь при запуске игры карта будет загружаться сразу, без меню игры. Если в игре нажать клавишу F1, откроется меню отладки, в котором можно включить или выключить некоторые параметры и быстро перезагружать карту. При редактировании карты это очень важная возможность. При изменении скриптов или добавлении на карту новых объектов достаточно нажать Quick Reload. Если изменялись меши или текстуры, надо нажать Reload.

Параметр ScriptDebugOn=“true” чрезвычайно важен, он позволяет добавить в загрузочный код что-то вроде:

if(ScriptDebugOn()) {
//Do your setup stuff
}

Это позволит легко управлять отладкой любых объектов (давать игроку при запуске игры фонарь, дополнительные предметы и т. д.), чтобы не добавлять их на карту и потом не беспокоиться об их удалении из финальной версии.

Оригинал этого текста: https://wiki.frictionalgames.com/hpl2/amnesia/devenvguide