Подключение нескольких уровней — различия между версиями
(Новая страница: «__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…») |
м |
||
Строка 32: | Строка 32: | ||
Сохраните изменения: ''File -> Save as... -> tirtwo.level'' | Сохраните изменения: ''File -> Save as... -> tirtwo.level'' | ||
− | |||
Таким образом, получен второй готовый уровень. | Таким образом, получен второй готовый уровень. | ||
− | |||
== Лишнее наполнение == | == Лишнее наполнение == | ||
Строка 43: | Строка 41: | ||
Найдите спавн-элемент игрока, и удалите, выделив его и нажав на клавиатуре '''Delete'''. | Найдите спавн-элемент игрока, и удалите, выделив его и нажав на клавиатуре '''Delete'''. | ||
− | |||
== Прописка в конфиги == | == Прописка в конфиги == | ||
Строка 68: | Строка 65: | ||
id = 02 | id = 02 | ||
</source> | </source> | ||
− | |||
== Новое наполнение == | == Новое наполнение == | ||
Строка 75: | Строка 71: | ||
* graph point (точка появления) | * graph point (точка появления) | ||
* graph point (связь уровней) | * graph point (связь уровней) | ||
− | |||
Между делом, есть достаточно подробные видеоуроки об этом<ref>[https://www.youtube.com/user/genior2011 Канал пользователя "genior2011" на YouTube.com]</ref><ref>[https://www.youtube.com/user/stalkergrez2013 Канал пользователя "Grez" на YouTube.com]</ref>: | Между делом, есть достаточно подробные видеоуроки об этом<ref>[https://www.youtube.com/user/genior2011 Канал пользователя "genior2011" на YouTube.com]</ref><ref>[https://www.youtube.com/user/stalkergrez2013 Канал пользователя "Grez" на YouTube.com]</ref>: | ||
{{#ev:youtube|https://www.youtube.com/watch?v=VKSxARhhIF4|400|inline}} | {{#ev:youtube|https://www.youtube.com/watch?v=VKSxARhhIF4|400|inline}} | ||
{{#ev:youtube|https://www.youtube.com/watch?v=WxX0q7YnY5U|400|inline}} | {{#ev:youtube|https://www.youtube.com/watch?v=WxX0q7YnY5U|400|inline}} | ||
− | |||
=== Первый уровень === | === Первый уровень === | ||
Строка 169: | Строка 163: | ||
Ключу '''Point name''' задайте значение '''svyaz_tir_s_tirtwo''' | Ключу '''Point name''' задайте значение '''svyaz_tir_s_tirtwo''' | ||
− | |||
Готово! Переходы, точки появления и связи, добавлены на уровни. | Готово! Переходы, точки появления и связи, добавлены на уровни. | ||
− | |||
== Билд == | == Билд == | ||
Строка 178: | Строка 170: | ||
А вот второй уровень '''tirtwo''' ещё не билдился, поэтому нужно выполнить: ''Compile -> Build'' | А вот второй уровень '''tirtwo''' ещё не билдился, поэтому нужно выполнить: ''Compile -> Build'' | ||
− | |||
== Компиляция == | == Компиляция == | ||
Строка 184: | Строка 175: | ||
Команды те же, просто смените имя уровня в них. | Команды те же, просто смените имя уровня в них. | ||
− | |||
=== Этап 5 — компиляция спавна === | === Этап 5 — компиляция спавна === | ||
Строка 191: | Строка 181: | ||
start bin\designer\release\xrAI.exe -no_separator_check -s tir,tirtwo -out all | start bin\designer\release\xrAI.exe -no_separator_check -s tir,tirtwo -out all | ||
</source> | </source> | ||
− | |||
== Перенос файлов в игру == | == Перенос файлов в игру == | ||
Уровни готовы, осталось их перенести в игру, с учетом наличия первого уровня. | Уровни готовы, осталось их перенести в игру, с учетом наличия первого уровня. | ||
− | |||
1) Скопируйте из папки '''''gamedata/configs''''' в аналогичную в игре, файл '''game_levels.ltx''' | 1) Скопируйте из папки '''''gamedata/configs''''' в аналогичную в игре, файл '''game_levels.ltx''' | ||
− | |||
2) Скопируйте из папки '''''gamedata/levels''''' в аналогичную в игре, папки '''tir''' и '''tirtwo'''. | 2) Скопируйте из папки '''''gamedata/levels''''' в аналогичную в игре, папки '''tir''' и '''tirtwo'''. | ||
− | |||
3) Скопируйте из папки '''''gamedata/spawns''''' в аналогичную в игре, файл '''all.spawn'''. | 3) Скопируйте из папки '''''gamedata/spawns''''' в аналогичную в игре, файл '''all.spawn'''. | ||
− | |||
Готово! | Готово! | ||
− | |||
== Источники == | == Источники == | ||
− | {{ | + | {{reflist|3}} |
[[Категория:X-Ray_SDK]][[Категория:Level_Editor]][[Категория:Конфиги]] | [[Категория:X-Ray_SDK]][[Категория:Level_Editor]][[Категория:Конфиги]] |
Текущая версия на 00:17, 27 июня 2022
Подключение нескольких уровней | |
Автор | 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.
Готово!