В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
получается для того, чтобы собачки ночью атаковли, не нужно ничего писать в гулаг, а нужно изменить имя пути
Я тебя немного ввёл в заблуждение. Имена путей изменять не нужно. Для лагеря home заданы оба состояния и 0 и 1, а вот для raid - только одно - 1. С вопросами "почему так?" - к разработчикам. Но не всё так плохо! Чтобы мобы будучи в универсальном гулаге всё же периодически уходили в "рейды" сделай следующее: В файле gulag_general.script найди вот такой код (311 строка оригинального файла):
Код
for i = 1, job_count do -- добавляем должность t = { section = "logic@"..way_name, idle = 0, prior = 5, state = {0,1}, squad = squad, group = groups[1], position_threshold = 20, in_rest = "", out_rest = "" } table.insert(sj, t) end
и удали "единицу" из фигурных скобок в параметре state. Далее тебе нужно лишь правильно задать условия переключения между состояниями:
Код
switch_0 = {=is_day} switch_1 = {!is_day}
Пути оставляешь такими же как и были. И всё. Только учти, что функцию is_day - возвращает true, в период между 21:00 и 6:00, поэтому в этом промежутке у тебя весь гулаг будет ломиться на место точки raid. Если тебе нужно более короткий промежуток времени, то здесь нужно писать отдельную функцию в файле xr_conditions.script. А можно ещё поиграться с параметром ~ задающий вероятность срабатывания условия. А можно вообще скомбинировать.
Сообщение отредактировал ColR_iT - Среда, 24.04.2013, 16:11
вот если объяснишь мне, какой для меня смысл писать тебе готовое для человека, который не "не может", а не хочет понять то, что он пишет? А для того, чтобы понять - нужно читать уже готовое, а ты и это сделать не горишь желанием.
Объяснить? Типа просить? А может умолять? А говоришь не гордый, а сам требуешь, чтобы я тут распинался, пытался что-то доказать. Я читал ту статью несколько раз, но там лишь было прописано про все сквады. Я пытался самим попробовать, что-то изменить: искал похожие файлы, вычислял через диалоги функции, но их не было. Ясно, что остальное находится в логике, а в какой, как найти этого НПС в файлах логике. Здесь с огромнейшим трудом узнал какие строки отвечают за эти действия, но они не рабочие. Дальше я стал искать конкретно, находил, подставлял, переделывал, чуть ли не копировал - а результат один и тот же. Теперь я опять пытаюсь хоть кого-нибудь попросить показать готовый код, но видимо я этого не дождусь. Ведь нужно с начало доказать, что я ТУПОЙ! И потом только получить ожидаемое. Странная инициатива, не так ли? Я не глуп, но не в этой сфере. Вообще всё, что связано с логикой НПС, мне трудно даётся, но это не значит, что я не могу попросить помощи и, в конце концов, попросить готовый код. Я вижу здесь Этих "ветеранов" модостроения, которые восседают и учат. Короче, этот цирк уже надоел: ColR_iT, можешь скинуть готовый код? Да? То выкладывай - я буду очень благодарен.
Объяснить? Типа просить? А может умолять? А говоришь не гордый, а сам требуешь, чтобы я тут распинался, пытался что-то доказать. Я читал ту статью несколько раз, но там лишь было прописано про все сквады. Я пытался самим попробовать, что-то изменить: искал похожие файлы, вычислял через диалоги функции, но их не было. Ясно, что остальное находится в логике, а в какой, как найти этого НПС в файлах логике. Здесь с огромнейшим трудом узнал какие строки отвечают за эти действия, но они не рабочие. Дальше я стал искать конкретно, находил, подставлял, переделывал, чуть ли не копировал - а результат один и тот же. Теперь я опять пытаюсь хоть кого-нибудь попросить показать готовый код, но видимо я этого не дождусь. Ведь нужно с начало доказать, что я ТУПОЙ! И потом только получить ожидаемое. Странная инициатива, не так ли? Я не глуп, но не в этой сфере. Вообще всё, что связано с логикой НПС, мне трудно даётся, но это не значит, что я не могу попросить помощи и, в конце концов, попросить готовый код. Я вижу здесь Этих "ветеранов" модостроения, которые восседают и учат. Короче, этот цирк уже надоел: ColR_iT, можешь скинуть готовый код? Да? То выкладывай - я буду очень благодарен.
Тебе тут никто ничего не должен, если ты тугодум и не можешь разобрать елементарные вещи, тогда иди делать уроки... А если ты даже не можешь нормально обьяснить что тебе нужно тогда я вообще молчу, при том что для новичков в интернете есть много статей, которые все подробно обьясняют, из этого можно сделать вывод что перед тем как идти сюда, напрягать людей и задавать вопросы, нужно хорошенько погуглить!
А говоришь не гордый, а сам требуешь, чтобы я тут распинался, пытался что-то доказать.
Вообще-то это был риторический вопрос, на который я сам и ответил в том же предложении.
Цитата (mmihaill)
Я читал ту статью несколько раз, но там лишь было прописано про все сквады.
Какую "ту"? И ты не слова не обмолвился про сквады.
Цитата (mmihaill)
Я пытался самим попробовать, что-то изменить: искал похожие файлы, вычислял через диалоги функции, но их не было. Ясно, что остальное находится в логике, а в какой, как найти этого НПС в файлах логике. Здесь с огромнейшим трудом узнал какие строки отвечают за эти действия, но они не рабочие. Дальше я стал искать конкретно, находил, подставлял, переделывал, чуть ли не копировал - а результат один и тот же.
Т.е. ты что-то делал, пытался сделать сам - не получилось, и практически "требуешь" готового решения!? А может ты покажешь что ты делал и кто-то, возможно, тебе поможет исправить твои ошибки?
Цитата (mmihaill)
Странная инициатива, не так ли?
При чём здесь "инициатива"?
Цитата (mmihaill)
Вообще всё, что связано с логикой НПС, мне трудно даётся, но это не значит, что я не могу попросить помощи и, в конце концов, попросить готовый код.
Не значит. Но видишь ли в чём дело, я имею ровно такое же право давать наводящие ответы, как и ты задавать подобные вопросы. Разве не так?
Цитата (mmihaill)
А как учат? Правильно! Личным примером! Не объясняй, - показывай!
В силу своего педагогического образования, смею тебя заверить - данный метод не работает на отдачу. Его полезно применять тогда, когда иного выхода просто нет. Я же придерживаюсь тенденции научить на ошибках того, кому объясняю, посредственно либо явно указывая на них. Это гораздо действеннее нежели давать готовое.
MesnikAnd
Спасибо. Прямо как сам разрядился.
Сообщение отредактировал ColR_iT - Среда, 24.04.2013, 16:13
Всем привет! Изучаю квесты, столкнулся с такой проблемкой. Например, после диалога выдается задание, какое либо(например убить сталкера), после убийства выдается поршень, но нужно чтоб задание обновилось, например чтоб забрать награду. Как такое реализовать?
ColR_iT, добавил то, что ты прописал в смарт. Вроде мутанты совершают рейд, но от времени суток это похоже не зависит. и еще ночью собаки за актором бегут за пределы смарта.
РСФСР, а там и прописана ночь для параметра switch_1. Восклицательный знак означает, что функция должна вернут false, а она будет это делать в период с 21:00 по 6:00. Чем тебе не ночь? Почему, бегут за пределы смарта, я не знаю.
Как реализовать в Зов Припяти то, когда нпс говорит какой-то звук, например в ремарке, мы отходим от него на некоторое расстояние и слышим уже по рации (ПДА). При том переход между ремарками в логике не менять. В ЧН реализовано добавлением к основному звука окончания _pda. В ЗП, как мне кажется ето не работает.
Друзья Сталкеры, хелп ми плиз!!! Череп, мой, не варит абсолютно! Уже... или продолжает не варить...
Мне нужна оптимальная, "готовая" реализация следующего:
изменение следующих характеристик ГГ, при изменении "опыта" (уровня сложности) новичек/сталкер/ветеран/мастер...: - все значения, влияющие на выносливость и сытость... - скорость бега/спринта... - высота прыжка... - переносимый вес и порог(и)... - базовые значения углов (в градусах) разлета пуль... - уменьшение здоровья от хита(ов)... - уменьшение "качания мушки прицела"... - скорость "перевода оружия в боевое положение/готовности к стрельбе/применению"... - изменение значений периода между снами... - изменения хита и расстояния действия ножа... ...
при этом не должны применяться функции и скрипты "постоянных/периодических проверок условий"... Данная функция должна "включаться" только... и быть "привязана" к изменению уровня опыта (сложности) ГГ, срабатывать только в "этот момент" и полностью "выключатся" после...
Только не пишите: "сделай сам", "это просто", "да ты никакой модер" и т.д. и т.п. Я это не отрицаю... Помогите, если можете или не помогайте, если считаете ненужным/неправильным... Я это называю - прямым участием в создании мода... Вы, не знаю...
В самом моде (если выйдет? ), авторство будет указанно... Не сомневайтесь.
ТЧ 1.0006
Сообщение отредактировал Danis88 - Среда, 24.04.2013, 17:29
Danis88, чистыми скриптами этого не сделать. Если Вы всё же хотите реализовать подобное в моде, то Вам всё же придётся использовать X-Ray extension. Других способов нет.
Запуск квеста через поршень: <task>название_квеста</task>
<game_task id="название_квеста"></game_task> <title>название квеста, которое будет отображаться в ПДА</title> <objective> <text>название подзадания</text> <icon>иконка задания</icon> <texture x="200" y="900" width="100" height="100">ui\ui_icon_equipment</texture> -- определяем иконку <object_story_id>story id на который вешается метка</object_story_id> <map_location_type hint="нпс или предмет">тип метки</map_location_type> (gren_location, blue_location, ctrl_big) <infoportion_complete>если есть поршень задание выполнино</infoportion_complete> <infoportion_fail>если есть поршень задание провалено</infoportion_fail> <infoportion_set_complete>после выполнения задания выдаём поршень</infoportion_set_complete> <article>описание квеста в пда</article> <function_complete>функция проверки выполнения, если есть то задание выполнено</function_complete> <function_call_complete>выполняет функцию, после завершения подзадачи</function_call_complete>
</objective>
И посмотри любой квест.
stalker-MiX, Может проще запустить звук в голове актора? Или ты о другом?
ColR_iT, здравствуй мой друг и учитель!!! Спасибо, сейчас посмотрю, что за X-Ray extension... Но просьба именно в том и состоит, что моих знаний и опыта, на это, пока, не хватает... Нужен мастер, который детально знает все тонкости, "подводные камни" и структуру "Сталкера" и X-Ray... + повод для размышления... + "коллективный разум"
Добавлено (24.04.2013, 17:57) --------------------------------------------- И мне кажется, что все таки, если немного подумать, то есть и более простой способ реализации этого, чем "копаться" в "движке"...
Ведь все эти значения/параметры, находятся в файлах "конфигах", а значит, можно придумать способ, как их "заменить", "изменить", "подставить", "привязать"/использовать по другому, уже существующую(ие) другую(ие) "функцию(и)"... В общем, надо подумать и думаю, решение найдется... При этом не забывать утверждение, что "Все гениальное просто."...
Сообщение отредактировал Danis88 - Среда, 24.04.2013, 18:02
ins33, я делаю на зп. Систему квестов я понял, создал квест на убийство, сталкер обозначен, что его нужно убить. При убийстве выдается поршень(у нпс с задание появляется диалог, после которого задание выполняется) , но как реализовать обновление задания? убил нпс сразу пишут "задание обновлено: забрать награду" - как это реализовать?