Подключение нескольких уровней — различия между версиями
(Новая страница: «__NOTOC__ {| class="wikitable" style="float:right; margin-left:0.8em; clear:right; text-align: center; font-size:12px; width: 300px;" |- | colspan=2 style="font-s…») |
(нет различий)
|
Версия 16:02, 10 апреля 2019
Подключение нескольких уровней | |
Автор | aka_sektor |
Тип статьи | руководство |
Актуальность | ЗП |
Необходимый софт | Текстовый редактор, X-Ray SDK 0.7 |
Связанные статьи | |
Декомпиляция уровня Подключение одного уровня |
Дабы не повторять руководство по подключению одного уровня, чтобы быстро объяснить как соединить 2 уровня, скопируем первый.
Второй уровень
1) Запустите Level Editor, и откройте первый уровень: File -> Open... -> tir.level
2) Откройте свойства сцены: Scene -> Options
Измените значение ключей Name prefix и Level path с tir на tirtwo
Сохраните изменения: File -> Save as... -> tirtwo.level
Таким образом, получен второй готовый уровень.
Лишнее наполнение
На скопированном уровне tirtwo также есть игрок, его нужно убрать, иначе при компиляции спавна произойдет 2 вариант вылета: XrAI:game_spawn_constructor.cpp
В Level Editor, выберите: Edit Mode -> Spawn Element
Найдите спавн-элемент игрока, и удалите, выделив его и нажав на клавиатуре Delete.
Прописка в конфиги
С помощью любого текстового редактора, откройте файл game_levels.ltx
И допишите к его содержимому второй уровень, чтобы получилось следующее:
[levels]
level01
level02
[level01]
name = tir
caption = "tir"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 01
[level02]
name = tirtwo
caption = "tirtwo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 02
Новое наполнение
Чтобы соединить уровни между собой, потребуется добавить на обоих уровнях:
- level changer
- graph point (точка появления)
- graph point (связь уровней)
Между делом, есть достаточно подробные видеоуроки об этом[1][2]:
Первый уровень
1) Откройте уровень tir в Level Editor, и выберите: Edit Mode -> Shape
Выберите: Append -> Box, и добавьте на уровень кнопкой Add, в то место, которое хотите сделать переходом.
Растяните и расположите полученный box как вам угодно, предполагается, что он должен перекрывать собой проход за пределы уровня.
Опять же, руководствуясь статьей: Интерфейс Level Editor
2) Выберите: Edit Mode -> Spawn Element
Найдите ai\level changer в Current Spawn/Spawns, и добавьте на уровень кнопкой Add.
3) Не снимая выделения со спавн-элемента level changer, выполните: Commands -> Attach Object...
И кликните по ранее поставленному шейпу box. Флажок станет одним целым с шейпом.
4) Выделите шейп спавн-элемент, и нажмите на клавиатуре Enter (чтобы перейти в Properties).
Для удобства, измените значение ключа Name с tir_level_changer на perehod_na_tirtwo
Значение ключа restrictor type измените на NOT A restrictor
Ключу Level to change задайте значение tirtwo
Ключу Level point to change задайте значение spawn_posle_tir
Ключу Silent mode поставьте галочку, чтобы избежать вылета при переходе.
И соответственно, значение ключа Game Type должно быть только Single.
5) Добавьте graph point, который будет точкой появления на уровне tir после перехода с уровня tirtwo.
Выберите: Edit Mode -> Spawn Element
Найдите ai\graph point в Current Spawn/Spawns, и добавьте на уровень кнопкой Add, желательно, рядом с шейпом спавн-элементом перехода.
Не снимая выделения, нажмите на клавиатуре Enter (чтобы перейти в Properties).
Измените значение ключа Name с tir_graph_point_0000 на spawn_posle_tirtwo
6) Добавьте graph point связи уровня tir с уровнем tirtwo.
Выберите: Edit Mode -> Spawn Element
Найдите ai\graph point в Current Spawn/Spawns, и добавьте на уровень кнопкой Add, в любое место, главное на AI-сетке.
Не снимая выделения, нажмите на клавиатуре Enter (чтобы перейти в Properties).
Измените значение ключа Name с tir_graph_point_0000 на svyaz_tir_s_tirtwo
Ключу Location, за номером 3, задайте значение не для игрока. После этого graph point должен сменить свой цвет, с фиолетового, на аква.
Ключу Level name задайте значение tirtwo
Ключу Point name задайте значение svyaz_tirtwo_s_tir
Второй уровень
Аналогично первому уровню, выполните 1, 2 и 3 пункты на уровне tirtwo
4) Аналогично первому уровню, кроме:
Значение ключа Name измените с tirtwo_level_changer на perehod_na_tir
Ключу Level to change задайте значение tir
Ключу Level point to change задайте значение spawn_posle_tirtwo
5) Аналогично первому уровню, кроме:
Значение ключа Name измените с tirtwo_graph_point на spawn_posle_tir
6) Аналогично первому уровню, кроме:
Значение ключа Name измените с tir_graph_point на svyaz_tirtwo_s_tir
Ключу Level name задайте значение tir
Ключу Point name задайте значение svyaz_tir_s_tirtwo
Готово! Переходы, точки появления и связи, добавлены на уровни.
Билд
По скольку первый уровень tir уже билдился, ему будет достаточно заново выполнить: Compile -> Make Game
А вот второй уровень tirtwo ещё не билдился, поэтому нужно выполнить: Compile -> Build
Компиляция
По скольку первый уровень tir уже компилировался, первые 4 этапа выполнить нужно только второму уровню tirtwo.
Команды те же, просто смените имя уровня в них.
Этап 5 — компиляция спавна
В этом этапе собирается общий спавн, поэтому в команду положено вписывать все уровни через запятую.
start bin\designer\release\xrAI.exe -no_separator_check -s tir,tirtwo -out all
Перенос файлов в игру
Уровни готовы, осталось их перенести в игру, с учетом наличия первого уровня.
1) Скопируйте из папки gamedata/configs в аналогичную в игре, файл game_levels.ltx
2) Скопируйте из папки gamedata/levels в аналогичную в игре, папки tir и tirtwo.
3) Скопируйте из папки gamedata/spawns в аналогичную в игре, файл all.spawn.
Готово!