В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга
• Не флудить • Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там • В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Лог вылета и последние 25 строк (помещать под спойлер).
Структура папок и файлов в корневом каталоге игры:
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
outfits – содержит секции конфигов костюмов.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
function has_all_need_bio_items(actor) local actor = db.actor local bio_items = {"item_boar_leg", "item_flesh_eye", "item_dog_tail", "item_krovosos_jaw", "item_psevdodog_tail", "item_snork_leg", "item_burer_hand", "item_controller_hand", "item_tushkan", "item_himera_lapa", "item_psevdogig_lapa", "item_snork_bolotniy_leg", "item_flesh_bolotnay_eye", "item_cat_tail", "item_psydog_tail", "item_zombie_hand", "item_fracture_hand", "item_tushkano_black", "item_snork_podzemka_leg", "item_krovosos_podzemka_jaw", "item_izlom_eye", "item_bildovskiy_controller_mozg", "af_sleza_controllera", "af_polter_hearth"} for k, v in pairs (bio_items) do if actor:object(v)~=nil then return true end return false end end
и поместил его в xr_conditions Но происходит такой вылет
Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ... - Зов Припяти\gamedata\scripts\xr_conditions.script:1821: attempt to index local 'actor' (a nil value)
ins33, Верификация аи-сетки проводилась? _S_k_i_F_, Если не передаешь функции has_all_need_bio_items(actor) параметр actor то не удивляйся, что он равен nil. А соответственно db.actor=nil и откуда у тебя уверенность, что db.actor во все моменты времени имеет адекватное значение отличное от nil?
Сообщение отредактировал denis2000 - Пятница, 27.05.2016, 19:32
Если вопрос про первые з проверки в ai_compiler, то да всё прошло удачно.
Мне не известно как именно работает эта программа, знаю что на базе xrAI.exe у которого имеется ключь -verify, проверка АИ-сетки на валидность в том числе как раз и на изолированные участки сетки (в этот список входят нулевые ноды) и на ноды имеющие только одну точку соединения с остальной сеткой (единичные ноды), кроме этого проводятся другие проверки. Кроме того поскольку вылет связан с game_graph_builder.cpp в точке 585, процесс затыкается на этапе оптимизации геймграфа. Вот функция где это происходит:
graph_type::const_iterator I = vertex0.edges().begin(); graph_type::const_iterator E = vertex0.edges().end(); for ( ; I != E; ++I) { if ((*I).vertex_id() == tripple.second.second) continue;
_S_k_i_F_, судя по названию функции TRUE должно возвращаться, когда все предметы таблицы есть в инвентаре ГГ. Но у тебя TRUE возвращается в одном случае, если у ГГ есть item_boar_leg Тогда зачем вся эта таблица? Так и должно быть?
Сообщение отредактировал makdm - Пятница, 27.05.2016, 21:50
function has_all_need_bio_items(actor, npc) if actor == nil then return false end local bio_items = {"item_boar_leg", "item_flesh_eye", "item_dog_tail", "item_krovosos_jaw", "item_psevdodog_tail", "item_snork_leg", "item_burer_hand", "item_controller_hand", "item_tushkan", "item_himera_lapa", "item_psevdogig_lapa", "item_snork_bolotniy_leg", "item_flesh_bolotnay_eye", "item_cat_tail", "item_psydog_tail", "item_zombie_hand", "item_fracture_hand", "item_tushkano_black", "item_snork_podzemka_leg", "item_krovosos_podzemka_jaw", "item_izlom_eye", "item_bildovskiy_controller_mozg", "af_sleza_controllera", "af_polter_hearth"} for k, v in pairs (bio_items) do if actor:object(v) == nil then return false end end return true end
Сообщение отредактировал denis2000 - Пятница, 27.05.2016, 22:02
makdm, нет, не должно. Только что проверил - только кабанья нога. Вот ф-ция
Код
function has_all_need_bio_items(actor, npc) local bio_items = {"item_boar_leg", "item_flesh_eye", "item_dog_tail", "item_krovosos_jaw", "item_psevdodog_tail", "item_snork_leg", "item_burer_hand", "item_controller_hand", "item_tushkan", "item_himera_lapa", "item_psevdogig_lapa", "item_snork_bolotniy_leg", "item_flesh_bolotnay_eye", "item_cat_tail", "item_psydog_tail", "item_zombie_hand", "item_fracture_hand", "item_tushkano_black", "item_snork_podzemka_leg", "item_krovosos_podzemka_jaw", "item_izlom_eye", "item_bildovskiy_controller_mozg", "af_sleza_controllera", "af_polter_hearth"} if db.actor~=nil then for k, v in pairs (bio_items) do return db.actor:object(v)~=nil end end end
Есть вариант проверить наличие всех предметов из списка сразу? Или надо перечислять return db.actor:object("item_boar_leg")~=nil and db.actor:object("item_flesh_eye")~=nil and и т.д. ? Зараннее спасибо!
Прогулка по граблям идёт полным ходом. Есть лока, ТД. Больше оригинал раза в 2 минимум. АИ сетка из ТЧ, как и графы. Уже который раз пытаюсь наложить сетку... Выделяю все объекты, добавляю их в лист, ставлю ноду и генерирую выбранное. Потом выделяю всё, линкую, что бы сетка выровнялась. Потом раз 50 (чтоб наверняка) выделение одиночных лод с делейтом, затем нулевые удаляю. В свойствах включаю драфт и сингл (оно надо?) Make_ai --> Make Game --> Build. Save. Остальное в логах:
Vertex 1184498[487.900024][-13.688213][-79.099976] is single linked! There are 1113 single linked nodes! AI-map is NOT valid : Node 142661[-149.099991][2.527807][-177.099976] cannot be reached from the node 24837[-219.099991][7.564283][-203.699982]
***STOP*** file '(null)', line 0. ***Reason***: *** Internal Error *** Saved dump file to 'logs\xrSE_Factory_Admin_05-28-16_05-52-16.mdmp'
Подскажите, такой вариант выравнивания сетки допустим для теста? Или тут всё вручную надо делать? Надо ли ставить дополнительный графпоинт? И есть ли условия которые надо учитывать? Нет ли ошибки в батниках? И двухлинковые ноды допустимы? (угловые)
Добавлено (28.05.2016, 06:23) --------------------------------------------- Это с aiwrapper-ом
aiwrapper -g l04_darkvalley
log started (console and aiwrapper.log) loading aiwrapper.ini updating $2215_game_levels$\l04_darkvalley\level.ai updating $2215_game_levels$\l04_darkvalley\level.spawn ignoring trailing garbage at m_dog.ltx:287 ignoring trailing garbage at m_pseudodog.ltx:281 ignoring trailing garbage at m_poltergeist.ltx:308 ignoring trailing garbage at m_spider.ltx:1 ignoring trailing garbage at m_poltergeist_dd.ltx:340 ignoring trailing garbage at items.ltx:813 ignoring trailing garbage at items.ltx:814 ignoring trailing garbage at system.ltx:796 ignoring trailing garbage at system.ltx:797 updating $2215_game_levels$\l04_darkvalley\level_sectors.ai launching 'xrAI.exe -g l04_darkvalley' updating $game_levels$\l04_darkvalley\level.gct.raw updating $game_levels$\l04_darkvalley\level.graph updating $game_levels$\l04_darkvalley\level_sectors.ai
aiwrapper -m
log started (console and aiwrapper.log) loading aiwrapper.ini loading game_levels.ltx updating $2215_game_levels$\L01_Escape\level.ai rebuilding $2215_game_levels$\L01_Escape\level.gct.raw updating $2215_game_levels$\L01_Escape\level.graph updating $2215_game_levels$\L01_Escape\level.spawn ignoring trailing garbage at m_dog.ltx:287 ignoring trailing garbage at m_pseudodog.ltx:281 ignoring trailing garbage at m_poltergeist.ltx:308 ignoring trailing garbage at m_spider.ltx:1 ignoring trailing garbage at m_poltergeist_dd.ltx:340 ignoring trailing garbage at items.ltx:813 ignoring trailing garbage at items.ltx:814 ignoring trailing garbage at system.ltx:796 ignoring trailing garbage at system.ltx:797 [bug] unimplemented code path at ..\xr_entity_script.cxx:266
Добавлено (28.05.2016, 08:02) --------------------------------------------- О чём этот вылет?
aiwrapper -split_spawns pause log started (console and aiwrapper.log) loading aiwrapper.ini loading $game_spawn$\all.spawn ignoring trailing garbage at m_dog.ltx:287 ignoring trailing garbage at m_pseudodog.ltx:281 ignoring trailing garbage at m_poltergeist.ltx:308 ignoring trailing garbage at m_spider.ltx:1 ignoring trailing garbage at m_poltergeist_dd.ltx:340 ignoring trailing garbage at items.ltx:1464 ignoring trailing garbage at items.ltx:1465 ignoring trailing garbage at items.ltx:1466 ignoring trailing garbage at items.ltx:1467 ignoring trailing garbage at items.ltx:1468 ignoring trailing garbage at items.ltx:1469 ignoring trailing garbage at zone_sound.ltx:101 ignoring trailing garbage at zone_sound.ltx:125 ignoring trailing garbage at artefacts.ltx:1414 ignoring trailing garbage at artefacts.ltx:1415 ignoring trailing garbage at artefacts.ltx:1416 ignoring trailing garbage at artefacts.ltx:1417 ignoring trailing garbage at system.ltx:796 ignoring trailing garbage at system.ltx:797 [bug] assertion failed at ..\xr_entity.cxx:1462
Всем привет , делал динамический квест по этой статье http://ap-pro.ru/forum/115-3720-1. Практически всё получилось,но вот произошёл такой лаг.Сталкеры и бандиты спавнится в одном месте . Я если убрать бандитов ,то сталкеры появляются в каком -то месте и идут к местоположению рестриктора и там стоят мне задом))). Не знаю как исправить.Чтобы бандиты сталкеры появились,на том месте ,где я хочу.Плиз,помогите !!!!
Сообщение отредактировал computerbox2003 - Суббота, 28.05.2016, 09:07
computerbox2003, настраивай для них смарт ковры, привязанные к определенному смарту, спавни на этот смарт свой сквад, и в конфиге сквада, если нужно, указывай точку спавну сквада spawn_point
computerbox2003, у меня твоя ссылка не работает. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Такой вопрос: в СДК в АЕ есть пункт создать иконку. Когда нажимаю на него в папке import появляется thm текстура. А что дальше с ней делать? Зараннее спасибо!