Вторник, 13.01.2026, 17:48
Начало Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории каталога
Утилиты для распаковки [1]
Утилиты для распаковки игровых ресурсов
Утилиты для редактирования ltx-файл [4]
Утилиты для редактирования ltx-файлов
Утилиты для установки модов [2]
Утилиты для установки модов для S.T.A.L.K.E.R.а
Утилиты для редактирования all.spaw [3]
Утилиты для редактирования all.spawn
Другие утилиты [23]
Другие утилиты для S.T.A.L.K.E.R.а
Наш опрос



Оцените программу STALKER Configurator
Всего ответов: 589
 Каталог файлов
Начало » Файлы » Утилиты для S.T.A.L.K.E.R.а » Другие утилиты

AI Wrapper 1.0
[ · Скачать удаленно (1347 Kb) ]
Компилятор работает в командной строке и более сложен в освоении.

Предназначен для 1.0004/1.0005.

[Назначение файлов и каталогов]
aiwrapper.exe - оболочка-сборщик
fsaiwrapper.ltx - файл спецификации путей для aiwrapper
utils\acdc.pl - утилита для редактирования all.spawn
utils\ggtool.pl - утилита для показа межуровневых связей в game.graph
utils\stkutils\ - библиотеки для acdc.pl/ggtool.pl
2215\ - теневое дерево, которое использует xrAI от сборки
2215 (все обновления в нём производятся утилитой
aiwrapper автоматически)
links.sample - пример задания новых и удаления старых рёбер ИИ-графа

[Установка]
По умолчанию предполагается, что данный архив распакован в
c:\temp\aiwrapper_07jan2007\, файлы игры находятся в в
c:\program files\gsc world publishing\s.t.a.l.k.e.r\, а MP SDK
установлен в c:\program files\x-ray sdk\. Но вообще игра может
быть совмещена с SDK.

Каталог с распакованной игрой должен содержать такие файлы:
gamedata\config\*
gamedata\game.graph
gamedata\spawns\all.spawn
gamedata\levels\*\level.ai
gamedata\levels\*\level.game
gamedata\levels\*\level.gct
gamedata\levels\*\level.graph
gamedata\levels\*\level.spawn

После этого один раз выполнить:
> aiwrapper -extract_spawns

Эта команда разобьёт all.spawn на оригинальные level.spawn. Обновления
игры не затрагивали данные файлы и поэтому необходимо их освежить.

В случае установки в другое место необходимо модифицировать
следующие файлы:
fsaiwrapper.ltx - задать правильные абсолютные пути для $2215_fs_root$
- и $debug_root$
2215\fsgame.ltx - задать правильные абсолютные пути для $sdk_root$
utils\acdc.pl - задать правильный путь либо скопировать stkutils в
- каталог библиотек Perl.
utils\ggtool.pl - аналогично.

[Параметры командной строки aiwrapper]
Унаследованные от xrAI параметры:
-h or -? - вывести короткую справку (на английском)
-verify <имя_карты> - проверить связность сетки ИИ для карты в
gamedata\levels\<имя_карты>\
-f <имя_карты> - собрать сетку ИИ для карты в
gamedata\levels\<имя_карты>\
-draft - черновая сборка сетки ИИ (без просчёта укрытий)
-g <имя_карты> - построить ИИ-граф и таблицу соответствия с
сеткой ИИ
- для карты в gamedata\levels\<имя_карты>\
-m - склеить ИИ-графы карт в глобальный игровой граф
-s - сборка all.spawn

Собственные параметры:
-fs <файл> - использовать указанный файл для задания путей
(по умолчанию берётся fsaiwrapper.ltx)
-force - обновить теневое дерево независимо от временных меток
-m2 <файл> - склеить ИИ-графы карт в глобальный игровой граф с
учётом поправок для связей из указанного файла
-extract_spawns- разбить all.spawn на оригинальные level.spawn
-extract_ways - разбить all.spawn на оригинальные level.game
(не реализована на данный момент)
-dump_graph <файл> - вывести список исходных вершин ИИ-графа в
указанный файл

[Введение в ИИ-граф]
Новый уровень должен содержать хотя бы один graph_point и иметь
переход(ы) на другие карты. Существует два типа переходов. Первые
используются только игроком, могут добавляться в LE, с помощью acdc.pl
или даже на лету и далее здесь не обсуждаются. Вторые нужны для
перемещения ИИ-объектов. ИИ-переходы для карт с доступными исходниками
задаются в LE, но для создания обратных связей с оригинальных карт от
GSC нужно собирать game.graph командой:
> aiwrapper -m2 <файл_с_описанием_доп_связей>

Список целевых вершин для ИИ-переходов можно получить с помощью:
> aiwrapper -dump_graph <имя_файла>

Посмотреть получившиеся после склейки ИИ-графов связи можно так:
> utils\ggtool.pl game.graph

Обычно одной вершины ИИ-графа (graph_point) совершенно недостаточно.
Оценить необходимую плотность можно такой функцией на LUA:

function show_game_graph()
local gg = game_graph()
for gvid=0,2791 do
if gg:valid_vertex_id(gvid) then
local vertex = gg:vertex(gvid)
local level_name = alife():level_name(vertex:level_id())
local lvid = vertex:level_vertex_id()
local pos = vertex:level_point()
local obj = alife():create("medkit", pos, lvid, gvid)
level.map_add_object_spot_ser(obj.id, "alife_presentation_monstr", level_name..":"..gvid)
end
end
end

[Сборка ИИ-компонентов карты]
1) Добавление уровня в список в gamedata\config\game_levels.ltx
2) LevelEditor -> Compile -> Make Game, там же Make AI-Map и Build.
3) Сборка черновой сетки ИИ:
> aiwrapper -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.
4) Проверка связности сетки ИИ:
> aiwrapper -verify <имя_уровня>
В случае ошибки поправить ячейки в LE и повторить с п.2.
5) Просчёт укрытий для сетки ИИ. Предварительно необходимо произвести
сборку геометрии для получения build.cform (xrLC, здесь это не
рассматривается). Команда:
> aiwrapper -f <имя_уровня>
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
7) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На практике чаще придётся использовать особый вариант (см. выше):
> aiwrapper -m2 <файл_с_описанием_доп_связей>
Пример такого файла имеется в архиве (links_sample.ltx).
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn
9) Добавление level_changer'а на новую карту с помощью acdc.pl.
Здесь не рассматривается.
10) Регистрация уровня в gamedata\config\game_maps_single.ltx.
Здесь не рассматривается.

[Нюансы]
- Не нужно пересобирать сетку ИИ и особенно ИИ-граф для оригинальных
уровней от GSC.
- Похоже, xrAI от 2215 немного иначе считает длины рёбер ИИ-графов,
в том числе межуровневые в глобальном графе. Это может повлиять на
скорость перемещения новых ботов между картами.

Категория: Другие утилиты | Добавил: Dzirt | Автор: bardak
Просмотров: 1441 | Загрузок: 402 | Рейтинг: 0.0 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск по каталогу
Друзья сайта