Подключение нескольких уровней — различия между версиями

Материал из MODFAQ.RU — моддинг классического S.T.A.L.K.E.R., TES и Fallout
Перейти к: навигация, поиск
(Новая страница: «__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'''.
 
  
 
Готово!
 
Готово!
 
  
 
== Источники ==
 
== Источники ==
{{references}}
+
{{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.

Готово!

Источники