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

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

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

Перейти к: навигация, поиск
Строка 6: Строка 6:
 
Ключи в порядке использования.
 
Ключи в порядке использования.
  
xrai.exe -draft -f <level> - черновое компилирование сетки ai
+
'''xrai.exe''' -draft -f <level> - черновое компилирование сетки ai
******** -verify <level> - проверим на правильность
+
'''xrai.exe''' -verify <level> - проверим на правильность
******** -f <level> - финальное компилирование
+
'''xrai.exe''' -f <level> - финальное компилирование
xrai.exe -g <level> - компилируем off-line ai, graph и cross table
+
'''xrai.exe''' -g <level> - компилируем off-line ai, graph и cross table
xrai.exe -m - получаем game.graph (микс из level.graph и level.gct)
+
'''xrai.exe''' -m - получаем game.graph (микс из level.graph и level.gct)
xrai.exe -s - объединение level.spawn, level.ai, level.game в all.spawn
+
'''xrai.exe''' -s - объединение level.spawn, level.ai, level.game в all.spawn
  
 
Верификация проходит успешно, причем проверяя уровни из финальной версии.  
 
Верификация проходит успешно, причем проверяя уровни из финальной версии.  
Строка 19: Строка 19:
  
 
При компиляции загружаются следующие скрипты:
 
При компиляции загружаются следующие скрипты:
gamedata\scripts...
+
'''gamedata\scripts...
 
class_registrator.script
 
class_registrator.script
 
script _G.script
 
script _G.script
Строка 27: Строка 27:
 
se_stalker.script
 
se_stalker.script
 
se_car.script
 
se_car.script
se_zones.script
+
se_zones.script'''
se_item.script- с оригинальным почему то работать не хочет. Но начинает, если удалить несколько значений из него - надо разбираться.
+
'''se_item.script''' - с оригинальным почему то работать не хочет. Но начинает, если удалить несколько значений из него - надо разбираться.
se_artefact.script
+
'''se_artefact.script
 
se_monster.script
 
se_monster.script
game_registrator.script
+
game_registrator.script'''
  
 
Новый уровень обязательно надо добавить в следующие файлы, чтобы компилятор (и игра потом) их видели:
 
Новый уровень обязательно надо добавить в следующие файлы, чтобы компилятор (и игра потом) их видели:
gamedata\config...
+
'''gamedata\config...
game_levels.ltx - секция [levels] и [levelXX], по образу и подобию существующих.
+
game_levels.ltx''' - секция [levels] и [levelXX], по образу и подобию существующих.
game_graphs.ltx
+
'''game_graphs.ltx
game_maps_single.ltx
+
game_maps_single.ltx'''
  
 
Теперь, вкратце, о самом использовании xrAI.exe
 
Теперь, вкратце, о самом использовании xrAI.exe
Строка 53: Строка 53:
 
Теперь очередь xrAI:
 
Теперь очередь xrAI:
 
По идее, мы должны были добавить еще и актера на первый уровень. Но тут, при компиляции с ключом -g, выдается ошибка. Видно чего то не хватает в конфигах - надо разбираться.
 
По идее, мы должны были добавить еще и актера на первый уровень. Но тут, при компиляции с ключом -g, выдается ошибка. Видно чего то не хватает в конфигах - надо разбираться.
xrai.exe -draft -f <level>
+
'''xrai.exe''' -draft -f <level>
xrai.exe -g <level>
+
'''xrai.exe''' -g <level>
  
 
тоже самое и для второго уровня.
 
тоже самое и для второго уровня.
  
 
После чего:
 
После чего:
xrai.exe -m - получаем game.graph
+
'''xrai.exe''' -m - получаем game.graph
  
 
с ключом -s выдается ошибка - тоже надо разбираться.
 
с ключом -s выдается ошибка - тоже надо разбираться.
  
 
Теперь о том, что получаем в итоге:
 
Теперь о том, что получаем в итоге:
level.ai - формат не изменился, по сравнению с 2215.
+
'''level.ai''' - формат не изменился, по сравнению с 2215.
level.graph - изменился заголовок, сам формат, на первый взгляд, не поменялся.
+
'''level.graph''' - изменился заголовок, сам формат, на первый взгляд, не поменялся.
level.gct.raw - 100% дубликат level.gct
+
'''level.gct.raw''' - 100% дубликат level.gct
level.gct - надо разбираться, формат вроде тот же, но при компиляции выдает, что версии не совместимы.
+
'''level.gct''' - надо разбираться, формат вроде тот же, но при компиляции выдает, что версии не совместимы.
 
game.graph - на первый взгляд поменялся только тип данных (с integer на int16), но тут надо смотреть подробнее.
 
game.graph - на первый взгляд поменялся только тип данных (с integer на int16), но тут надо смотреть подробнее.
  

Версия 13:46, 4 сентября 2007

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

Сам процесс использования компилятора 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.ai - формат не изменился, по сравнению с 2215. level.graph - изменился заголовок, сам формат, на первый взгляд, не поменялся. level.gct.raw - 100% дубликат level.gct level.gct - надо разбираться, формат вроде тот же, но при компиляции выдает, что версии не совместимы. game.graph - на первый взгляд поменялся только тип данных (с integer на int16), но тут надо смотреть подробнее.

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


Ну а дальше - дополняем, поправляем, разбираемся... .

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

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