В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Добавлено (08.09.2013, 18:31) --------------------------------------------- И по каким критериям ты это определил?
Добавлено (08.09.2013, 19:36) --------------------------------------------- По поводу состояния НПС оно кажется определяется в таблице nps.a Вот получил я эту таблицу
wanes101, скажу вам так: ColR_iT прав. Все НПС в игре находятся либо под скриптами ( задана активная схема их поведения ) либо под движком ( нет явно заданной активной скриптовой схемы и движок сам назначает активную схему поведения НПС). Например Мобу можно установить скриптовую схему mob_walker или mob_home. Если вы проспавните Моба на смарте без эксклюзива ( симуляция ), то движок сам назначит в качестве активной схемы - схему mob_home.
Вы что хотите сделать? Написать какую-то новую схему поведения НПС ? В чём эксклюзив вашей схемы? И не изобретаете ли вы велосипед? Практически любое поведение НПС уже прописано в скриптовых схемах. Просто интересно узнать, что вы хотите сделать, чего мы не знаем?
makdm, Я хочу для сценария сделать схему для нпс, чтобы он в ней побыл грузчиком грузил машину.
Добавлено (08.09.2013, 20:25) --------------------------------------------- А вы говорите что про эти деброи я не знаю. Наверно потому что про это могут знать только разработчики? или тек кто участвовал в разработке
Добавлено (08.09.2013, 20:40) --------------------------------------------- Или если не так я не пойму можно ли по этому поводу что почитать. помой уже усвоил туториалы кассаемые разработки логики, но они но мне сейчас охота понять, как вообще через скрипт работает НПС. Как работает логика понятно (использование эвулаторов и action) Про модуль state_mgr есть инфа, а если не ошибаюсь это менеджер состояний тела?
Сообщение отредактировал wanes101 - Воскресенье, 08.09.2013, 20:41
wanes101, я думаю, тут анимацией новой обойтись можно. Или смесью анимации со стандартными схемами логики в роде того же walker. Для самой анимки можно smartcover, animpoint.
Цитата (wanes101)
Наверно потому что про это могут знать только разработчики? или тек кто участвовал в разработке
Поржал Минутку лирического авторского отступления. Просто слов не хватает. Мне сложно судить о твоих познаниях в скриптах и выискиванию там чего-то, наверное, они значительно выше моих. Но может, все-таки, стоило сначала объяснить что ты делаешь и для чего? Может стоило начать с самого простого? Тебе намеки делали человек 6. Слушайте, ну взрослые люди же. Ищут сложное, а самого банального не принимают. Я до последнего думал, что комьюнити мододелов не нуждается в уроке Курса Молодого Бойца с темой "Как правильно задавать вопросы в вопроснице и не парить себе и другим мозги". Да нет, видимо нужно такую статейку на Инсайд добавить Извини, если я тебя чем-то обидел или мой пост грубоват. Я старался говорить объективно.
Подскажите, как можно получить инфопоршень по смерти НПС, если через логику не могу, поскульку НПС под смартом и славливает там ЛЮБУЮ работу и в биндере апдейт нагружать не хотелось бы...
LaRento, Для разнообразия, если так можно выразиться. Что бы не было линейности, когда проходишь квест связанный с этим НПС. Если этот НПС будет каждый раз "работать" на одном "месте", а если случайно ловить работу - тогда его придется "искать" каждый раз что бы убить.
Добавлено (08.09.2013, 21:20) --------------------------------------------- И работу НПС славливает - когда смарт случайно выдаёт неписю работу
Сообщение отредактировал Graff46 - Воскресенье, 08.09.2013, 21:18
Graff46, а не хочешь НПСу логику эксклюзивную сделать? Но можно еще, например, через рестриктор. Надеюсь, знаешь, что это такое. Логика примерно такая:
Проверку и эффект осуществляем через стандартный параметр on_info. Проверяем смерть НПС функцией is_alive из xr_conditions.script
Добавлено (08.09.2013, 21:26) --------------------------------------------- Всем, копающим логику, рекомендую в свободное время лишний раз глянуть скрипты xr_effects.script и xr_conditions.script
честно говоря, я тоже о ней не сильно знал Но помнил и догадывался, что что-то такое точно есть в xr_conditions.script. Не могли разрабы этот момент упустить. А в самом скрипте на русском пояснения. Нажал Ctrl+F и искал тегом "жив". На третий-четвертый раз нашел то, что надо)
сделать схему для нпс, чтобы он в ней побыл грузчиком грузил машину
Для этого не нужно изобретать велосипед. Есть схема remark, в которой можно задать анимацию, и НПС будет работать хоть грузчиком , хоть разгрузчиком. Главное - сделать эту анимацию и вставить в игру.
Добавлено (08.09.2013, 21:55) --------------------------------------------- Graff46, ещё раз пишу, что не нужно изобретать велосипед. В файле xr_conditions.script есть функция is_dead, которая возвращает либо true, либо false.
function is_dead(actor, npc, p) local npc1 npc1 = get_story_object(p[1]) return not npc1 or not npc1:alive() end
Сообщение отредактировал makdm - Воскресенье, 08.09.2013, 21:56
function is_dead(actor, npc, p) local npc1 npc1 = get_story_object(p[1]) return not npc1 or not npc1:alive() end
по сиду нельзя, я спавню скриптом двойника борова, у него стори ида не будет.
Добавлено (08.09.2013, 22:08) --------------------------------------------- и это всё делается через логику, а у меня нет логики на НПСе!
Добавлено (08.09.2013, 22:12) --------------------------------------------- Подскажите функцию которая бы выдала инфопоршень, если бы меня заметили НПС из определённого(!) смарта. Что то похожие, я когда-то находил, ф-ция проверяла: если смарт в аларме, то не по причине ли актора аларм включился.