Level.ai — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Level.ai — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
 
 
(не показаны 29 промежуточные версии 2 участников)
Строка 1: Строка 1:
Сетка АИ, вейпоинты для ботов, с помощью нее
+
'''Info By Zeed, Neo'''
АИ может ориентироваться и перемещаться по левелу.
+
 
 +
''Сетка АИ, сетка уровня(Compile->Make AI), ноды по которым''
 +
''перемещается ИИ, с помощью нее АИ может ориентироваться и''
 +
''перемещаться по левелу.''
 +
 
 +
'''XRAI.EXE билда 2215'''
 +
 
 +
Сам процесс использования компилятора '''xrai.exe'''.
 +
Ключи в порядке использования.
 +
 
 +
'''xrai.exe''' -draft -f <level> - черновое компилирование сетки ai
 +
 
 +
'''xrai.exe''' -verify <level> - проверим на правильность
 +
 
 +
'''xrai.exe''' -f <level> - финальное компилирование
 +
 
 +
'''xrai.exe''' -g <level> - компилируем off-line ai, graph и cross table
 +
 
 +
'''xrai.exe''' -m - получаем game.graph (микс из level.graph и level.gct)
 +
 
 +
'''xrai.exe''' -s - объединение level.spawn, level.ai, level.game в all.spawn
 +
 
 +
Верификация проходит успешно, причем проверяя уровни из финальной версии.
 +
Тоже все читает и выдает положительный результат  , но при окончательном компилировании (-f) ошибка не выдается - просто висит на загрузке уровня.
 +
 
 +
Для успешной компиляции, сам компилятор должен быть интегрирован с игрой (или должны быть папки с конфигами и скриптами - gamedata\config и gamedata\script).
 +
 
 +
При компиляции загружаются следующие скрипты:
 +
 
 +
'''gamedata\scripts...'''
 +
 
 +
'''class_registrator.script'''
 +
 
 +
'''script _G.script'''
 +
 
 +
'''smart_terrain.script'''
 +
 
 +
'''se_respawn.script'''
 +
 
 +
'''se_switcher.script'''
 +
 
 +
'''se_stalker.script'''
 +
 
 +
'''se_car.script'''
 +
 
 +
'''se_zones.script'''
 +
 
 +
'''se_item.script''' - с оригинальным почему то работать не хочет. Но начинает, если удалить несколько значений из него - надо разбираться.
 +
 
 +
'''se_artefact.script'''
 +
 
 +
'''se_monster.script'''
 +
 
 +
'''game_registrator.script'''
 +
 
 +
Новый уровень обязательно надо добавить в следующие файлы, чтобы компилятор (и игра потом) их видели:
 +
 
 +
'''gamedata\config...'''
 +
 
 +
'''game_levels.ltx''' - секция [levels] и [levelXX], по образу и подобию существующих.
 +
 
 +
'''game_graphs.ltx'''
 +
 
 +
'''game_maps_single.ltx'''
 +
 
 +
Теперь, вкратце, о самом использовании xrAI.exe
 +
Создадим, для примера, два уровня, чтобы точки перехода были друг на друга.
 +
Возьмем, например, уровени из sdk (или создадим свои, кому как проще  ).
 +
Добавим их в выше указанные файлы (game_levels.ltx, game_graphs.ltx, game_maps_single.ltx)
 +
Удалим все объекты секции spawn.
 +
 
 +
Добавим '''graph_point''' - точку, где будет появляться актер, при переходе на этот уровень с другого, где указываем текущий уровень и название точки, на которую будет ссылаться level_changer с другого уровня.
 +
 
 +
Добавим '''level_changer''' - где указываем, на какой уровень должен осуществляться переход и название точки, где он появляется.
 +
Сгенерируем сетку проходимости AI.
 +
Скомпилируем уровни из редактора.
 +
Скомпилируем уровень, используя xrLC и xrDO_light.
 +
 
 +
Теперь очередь xrAI:
 +
По идее, мы должны были добавить еще и актера на первый уровень. Но тут, при компиляции с ключом -g, выдается ошибка. Видно чего то не хватает в конфигах - надо разбираться.
 +
 
 +
'''xrai.exe''' -draft -f <level>
 +
 
 +
'''xrai.exe''' -g <level>
 +
 
 +
Тоже самое и для второго уровня.
 +
 
 +
После чего:
 +
 
 +
'''xrai.exe''' -m - получаем game.graph
 +
 
 +
с ключом -s выдается ошибка - тоже надо разбираться.
 +
 
 +
По идее нужно добавить '''level_changer''' в '''all.spawn''' с нужными координатами.
 +
 
 +
Теперь о том, что получаем в итоге:
 +
 
 +
'''level.ai''' - формат не изменился, по сравнению с 2215.
 +
 
 +
'''level.graph''' - изменился заголовок, сам формат, на первый взгляд, не поменялся.
 +
 
 +
'''level.gct.raw''' - 100% дубликат level.gct
 +
 
 +
'''level.gct''' - надо разбираться, формат вроде тот же, но при компиляции выдает, что версии не совместимы.
 +
 
 +
'''game.graph''' - на первый взгляд поменялся только тип данных (с integer на int16), но тут надо смотреть подробнее.
 +
 
 +
Чтобы скомпилировать хотя бы:
 +
 
 +
'''level.ai'''
 +
 
 +
'''level.gsc'''
 +
 
 +
'''level.graph'''
 +
 
 +
компилятором из билда 2215, лучше иметь распакованную
 +
'''gamedata''' - используются файлы из папки
 +
 
 +
'''gamedata\config\scripts'''
 +
 
 +
'''gamedata\scripts'''
 +
 
 +
В файле '''gamedata\scripts\se_item.script''' удалить строки начиная с:
 +
''class "se_weapon_shotgun" (cse_alife_item_weapon_shotgun)''
 +
''и до class "se_item" (cse_alife_item).''
 +
 
 +
Есть еще кое что:
 +
 
 +
Не хватает многих классов в xrai от 2215, поэтому при компиляции с ключом -s, он ругается на их отсутствие.
 +
Компилятор с ключом -m использует '''level.gct.raw''', переименовывая его потом в '''level.gct'''
 +
 
 +
P.S. Проще будет сделать конвертер, но надо подробно разбирать '''game.graph'''.
 +
 
 +
[[Категория:Форматы файлов]]

Текущая версия на 14:30, 4 сентября 2007

Info By Zeed, Neo

Сетка АИ, сетка уровня(Compile->Make AI), ноды по которым перемещается ИИ, с помощью нее АИ может ориентироваться и перемещаться по левелу.

XRAI.EXE билда 2215

Сам процесс использования компилятора xrai.exe. Ключи в порядке использования.

xrai.exe -draft -f <level> - черновое компилирование сетки ai

xrai.exe -verify <level> - проверим на правильность

xrai.exe -f <level> - финальное компилирование

xrai.exe -g <level> - компилируем off-line ai, graph и cross table

xrai.exe -m - получаем game.graph (микс из level.graph и level.gct)

xrai.exe -s - объединение level.spawn, level.ai, level.game в all.spawn

Верификация проходит успешно, причем проверяя уровни из финальной версии. Тоже все читает и выдает положительный результат , но при окончательном компилировании (-f) ошибка не выдается - просто висит на загрузке уровня.

Для успешной компиляции, сам компилятор должен быть интегрирован с игрой (или должны быть папки с конфигами и скриптами - gamedata\config и gamedata\script).

При компиляции загружаются следующие скрипты:

gamedata\scripts...

class_registrator.script

script _G.script

smart_terrain.script

se_respawn.script

se_switcher.script

se_stalker.script

se_car.script

se_zones.script

se_item.script - с оригинальным почему то работать не хочет. Но начинает, если удалить несколько значений из него - надо разбираться.

se_artefact.script

se_monster.script

game_registrator.script

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

gamedata\config...

game_levels.ltx - секция [levels] и [levelXX], по образу и подобию существующих.

game_graphs.ltx

game_maps_single.ltx

Теперь, вкратце, о самом использовании xrAI.exe Создадим, для примера, два уровня, чтобы точки перехода были друг на друга. Возьмем, например, уровени из sdk (или создадим свои, кому как проще ). Добавим их в выше указанные файлы (game_levels.ltx, game_graphs.ltx, game_maps_single.ltx) Удалим все объекты секции spawn.

Добавим graph_point - точку, где будет появляться актер, при переходе на этот уровень с другого, где указываем текущий уровень и название точки, на которую будет ссылаться level_changer с другого уровня.

Добавим level_changer - где указываем, на какой уровень должен осуществляться переход и название точки, где он появляется. Сгенерируем сетку проходимости AI. Скомпилируем уровни из редактора. Скомпилируем уровень, используя xrLC и xrDO_light.

Теперь очередь xrAI: По идее, мы должны были добавить еще и актера на первый уровень. Но тут, при компиляции с ключом -g, выдается ошибка. Видно чего то не хватает в конфигах - надо разбираться.

xrai.exe -draft -f <level>

xrai.exe -g <level>

Тоже самое и для второго уровня.

После чего:

xrai.exe -m - получаем game.graph

с ключом -s выдается ошибка - тоже надо разбираться.

По идее нужно добавить level_changer в all.spawn с нужными координатами.

Теперь о том, что получаем в итоге:

level.ai - формат не изменился, по сравнению с 2215.

level.graph - изменился заголовок, сам формат, на первый взгляд, не поменялся.

level.gct.raw - 100% дубликат level.gct

level.gct - надо разбираться, формат вроде тот же, но при компиляции выдает, что версии не совместимы.

game.graph - на первый взгляд поменялся только тип данных (с integer на int16), но тут надо смотреть подробнее.

Чтобы скомпилировать хотя бы:

level.ai

level.gsc

level.graph

компилятором из билда 2215, лучше иметь распакованную gamedata - используются файлы из папки

gamedata\config\scripts

gamedata\scripts

В файле gamedata\scripts\se_item.script удалить строки начиная с: class "se_weapon_shotgun" (cse_alife_item_weapon_shotgun) и до class "se_item" (cse_alife_item).

Есть еще кое что:

Не хватает многих классов в xrai от 2215, поэтому при компиляции с ключом -s, он ругается на их отсутствие. Компилятор с ключом -m использует level.gct.raw, переименовывая его потом в level.gct

P.S. Проще будет сделать конвертер, но надо подробно разбирать game.graph.

Другие места
LANGUAGE