Альтернативный способ связки локаций — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Sine (обсуждение | вклад) (→Теория) |
|||
Строка 13: | Строка 13: | ||
*При отсутствии нужного граф поинта или левел ченжера его можно легко добавить. | *При отсутствии нужного граф поинта или левел ченжера его можно легко добавить. | ||
*Позволяет создать нормальный, продуманный переход между уровнями | *Позволяет создать нормальный, продуманный переход между уровнями | ||
− | |||
*Не требуется АИ враппера от бардака, ЛВИД_ГВИД скрипта и прочей мороки. | *Не требуется АИ враппера от бардака, ЛВИД_ГВИД скрипта и прочей мороки. | ||
Недостатки: | Недостатки: | ||
*Требуется замена файлов уровня. | *Требуется замена файлов уровня. | ||
− | * | + | *Игра иногда вылетает, но работает при загрузке последнего сейва (авто сейв при переходе с локации на локацию) |
== Практика == | == Практика == |
Версия 17:53, 29 мая 2010
Итак, порассскинув мозгами и ниасилив последний урок лохотрона, мне пришла в голову следующая мысль.
Содержание
Теория
У вас есть собственный уровень, годный для сингла? Есть level_changer на билдовые локации и вы хотите объеденить его с ними? Итак, мой метод основан на том, что
- нужно разобрать одну из билдовых локаций(ту, куда вы хотите вставить переход).
- Вставить секцию с уровнем в файлы конфигов.
- Вставить туда нужные граф поинты и левел чейнджер.
- Собрать локацию и скомпилировать.
- Собрать графы уровней и графы игры, собрать алл.спавн и вставить всё это в игру.
Преимущества данного метода:
- Сравнительно прост для среднего мододела.
- При отсутствии нужного граф поинта или левел ченжера его можно легко добавить.
- Позволяет создать нормальный, продуманный переход между уровнями
- Не требуется АИ враппера от бардака, ЛВИД_ГВИД скрипта и прочей мороки.
Недостатки:
- Требуется замена файлов уровня.
- Игра иногда вылетает, но работает при загрузке последнего сейва (авто сейв при переходе с локации на локацию)
Практика
Радар
Итак, я разобрал локацию "радар" - что же мне делать дальше? Первым делом, я поставлю переход на мою локацию, скажем на росток из мультиплеера. Создаю 2 graph point. 1-й обзываю exit_radar_100(я догадываюсь, что 1-е 99 граф поинтов уже названы так XD) 2-й - start_actor_100. Предварительно создал вейпоинт для перехода между уровнями - sp_rostok_way_if_reject. И создаю level_changer для смены локаций. Туда вписываю уровень для смены(не забывайте перед началом работ править конфиги!!!), и точку для появления игрока на локации: sp_rostok и start_actor_01 соответственно. пишу в custom data следующие 2 строки: [pt_move_if_reject] path = sp_rostok_way_if_reject - в случае отказа игрок встанет на место 1-го вэйпоинта и его взгляд будет направлен в сторону 2-го вейпоинта. Так, на радаре вроде всё, в настройках уровня выбираю драфт-качество, сохраняю и строю.
Росток
Далее загружаю росток(из мультиплеера), и аналогично создаю 2 граф поинта, 1 level_changer и 1 вейпоинт. Заполняю их, как и в радаре, билдю. Дальше открываю компилятор ИИ от НЕО][, просчитываю ИИ сетки радара и ростка... Какая досада - черновые и финальные названия уровней не совпадают! Иду в папку gamedata/levels и переименовываю l10_radar в radar, повторяю попытку просчёта - получилось! Дальше компилирую оба уровня и создаю графы уровней(всех сингловских). Создаю граф игры и собираю all.spawn. При тестировании у меня ничего не вышло, способ находится под вопросом.