В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.
Не флудить
Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Конфиг компа. 5. Лог вылета и последние 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 - содержит секции конфигов уникального оружия и костюмов.
У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.
GunnerShadow, воооот... С этого и надо было начинать. Ты не знаешь механики и утверждаешь то, что сам себе придумал. Убери no_move из правильно составленной схемы remark и НПС и так никуда не пойдёт. Причина одна - для данной схемы не предусмотрены точки пути, как таковые, и НПС привязывается к точке, на которой он перешёл под управление данной схемы. На этой точке он может выполнять указанную анимацию, говорить какую-то фразу (проигрывать любой звук) - для этого параметры как раз есть. Их вообще-то не очень то и много:
snd - звуковая тема из файла sound_theme.script, которая будет проиграна при переходе в данную схему; anim - анимация, из раздела "стоячее состояние", которая будет отыграна при переходе в данную схему; snd_anim_sync - синхронизировать ли пару звук - анимация? По умолчанию false; target - возможны следующие значения:
story_id - смотреть на персонажа с указанным story_id;
actor - смотреть на игрока;
nil - позиция вычисляется автоматически, как правило это то место, куда смотрел до этого;
<имя работы>,<имя гулага> - смотреть на сталкера, который находится на указанной работе, в указанном гулаге, если не указать имя гулага, то будет взят гулаг нашего НПС, т.е. тот, кто в данный момент находится под этой схемой remark.
<path_name>,<point_number> - смотреть в указанную вершину point_number указанного патрульного пути path_name. anim_reset - не очень понял, на что же конкретно влияет данный параметр, но у меня было замечено, при значении false (true по умолчанию), некоторые анимации сразу переходили в конечное состояние, не проигрывая анимацию полностью. tips - это не текстовая подсказка при наведении как можно подумать из названия параметра - это звуковая тема из файла news_manager.script из таблицы news (она находится в самом начале файла). Данный звуковой сигнал прозвучит по окончанию проигрывания установленной анимации. tips_sender - вообще не понять что за параметр. Передаётся в функцию send_tip_nosound в файле news_manager.script, в качестве третьего параметра, а это в свою очередь задержка на воспроизведение, то беж число, а параметр читается как строка, но если и это не такая уж и беда, то вот зачем он (параметр) обнуляется внутри самой функции send_tip_nosound, мне не ясно. Одним словом параметр не на что не влияет.
Игра читает в схемах только те параметры, которые ей предписаны, т.е. те, которые находятся в "управляющих" файлах отвечающие за ту или иную схему.
Теперь на счёт механики работы логики... В файле xr_motivator.script, который отвечает за ВСЕХ НПС, в функции net_spawn, которая отрабатывает при выходе НПС в онлайн, вызывается функция setup_gulag_and_logic_on_spawn из файла xr_gulag.script. Эта функция (setup_gulag_and_logic_on_spawn) устанавливает для НПС логику из его custom_data, либо его собственную, либо из гулага, если он находится под каким-то смартом. В любом случае в дальнейшем происходит вызов функции activate_by_section из файла xr_logic.script, назначение функции понятно даже из названия - она активирует схему. Если активация происходит впервые, то название схемы берётся из поля active секции logic, если нет, то из storage ("хранилища") НПС. Самой интересной строкой в функции activate_by_section является вот эта:
Код
_G[filename].set_scheme(npc, ini, scheme, section, db.storage[npc_id]["gulag_name"])
filename - это имя файла из которого нужно считывать параметры, имя определяется исходя из названия схемы считанное ранее, а set_scheme - это функция, в которой эти параметры инициализируются. Таким образом, игра будет определять ТОЛЬКО те параметры, которые прописаны в данной функции у каждой отдельной схемы, естественно для каждой схемы игра будет определять только её параметры.
А теперь попробуй найти параметр no_move хотя бы в одном файле схем. Да, ты найдёшь его... в файле xr_zoneguard.script, но только учти, что этот файл - балласт и в игре не используется. Это что касается ТЧ. В ЗП ты вообще нигде не найдёшь упоминания об этом.
Итого. Параметр в релизах всех частей НЕ РАБОТАЕТ. То, что ты якобы "видишь" работу данного параметра - это всего лишь особенности работы конкретно схемы remark (см. выше) и не более того.
P.S. в последнем посте Grey_Lord вылет происходит из второй "версии" логики, т.к. не указаны точки пути в файле way_локация.ltx, о чём он сам и сказал. А ошибка значения параметра no_move, в рабочей версии, лишний раз доказывает, что параметр - не что иное, как мусор.
Grey_Lord, разумеется нужно указывать точки для путей walker_stay_at_position_walk и walker_stay_at_position_look.
Ну ведь ты как-то указывал НПС логику? Через custom_data или может быть скриптами? GunnerShadow, да, но только до тех пор, пока находится под схемой remark, если его "спугнуть" то он отбежит, поскольку переключится на движковую схему боёвки, и назад уже не вернётся, останется там, где у него опять включится remark.
Сообщение отредактировал ColR_iT - Вторник, 08.01.2013, 14:40
GunnerShadow, не маяться ерундой и использовать для этого схемы по назначению. Возьми walker, пропиши ему пути для path_walk и path_look состоящие из одной точки каждый, поставь флаг синхронизации и будет счастье.
function voron_tainik_quest() alife():create("voron_tainik_case",vector():set(-58.264694213867,2.599752664566,279.78732299805),836376,36) alife():create("voron",vector():set(30.386615753174,27.723558425903,-426.04739379883),993254,8) task_manager.get_task_manager():give_task("voron_tainik_quest") end
Kirk, с функциями и конфигами, вроде бы всё в порядке. Но я всё равно не верю, что при отсутствии параметра no_move НПС уходит (аргументы найдёшь на предыдущей странице), причина явно в чём-то другом. Одной из возможных причин может быть: отсутствие АИ-сетки, наличие рестриктора, в котором запрещено находится НПС, НПС подхватывается смартом ... Как конкретно ведёт себя НПС?
ColR_iT, я сам прекрасно вижу, что no_move нет в скриптах ЗП.. Смысл в чём, данный НПС спавнится около аномалии "Цирк", с другой стороны от кемп-зоны. АИ-сетка там есть. НО если не добавлять no_move=true, этот мерк бродит по краю аномалии (я так понимаю, от мутанта прячется), а с ним стоит, где поставил и всё-равно ему на полтергейста, который в аномалии "живёт"..
Сообщение отредактировал Kirk - Вторник, 08.01.2013, 15:15
ColR_iT, ColR_iT, Когда нет аи сетки на уровне (только небольшой ее кусочек) НПС улетают к тому кусочку сетки по воздуху. Я такое тестил. Дело вряд ли в этом.
Добавлено (08.01.2013, 15:39) --------------------------------------------- ColR_iT, Разрабы но_муве не зря ведь применяли. Я видел его в файлах логики. Та что все твои обьяснения хорошы, но в некоторых местах немного не сростаються.