Overf1rst 1 540 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 7 4 1 3 1 4 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sumrak6835 237 Опубликовано 23 июня 11 часов назад, Andrey_Spider сказал: В чем может быть проблема? Для каждого уровня графы собрал? Надо сначала создать АИ-сетки для ВСЕХ уровней, графы для каждого уровня, потом общий граф, затем аллспавн. В игру закидывать: файлы level.ai и level.gct для всех уровней в каждую папку, game.graph и all.spawn. Также в конфиги всё прописать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано 25 июня Доброго времени суток. Как в SDK сделать так, чтобы нпс ходил по определённым точкам, допустим мне надо, чтобы он ходил вокруг дома. Как это реализовать? S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FacingSlave 126 Опубликовано 25 июня CIDOPOBICH Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано 27 июня Как выдать инфопоршень после проверки предмета у ГГ? У меня есть квест, который должен появиться после поднятия определённого предмета. function have_pda(task, objective) if db.actor ~= nil then return db.actor:object("kostyak_pda") ~= nil then db.actor.give_infoportion("def_otkl_task_start") end end На форумах нашел такой код. Но при поднятии предмета не завершается квест "найти этот предмет" и не появляется следующий. P.S. в info_l02_garbage указал выдачу квеста: <info_portion id ="def_otkl_task_start"> <task>def_otkl_task</task> </info_portion> S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано 29 июня Добрый день, возникла проблема. В SDK заспавнил оружие и костюм, а они оказались полностью сломанные, Used AI Locations отключил. Еще в настройках оружия написано 0 патронов в магазине, а спавнится 63 патрона S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 145 Опубликовано 29 июня (изменено) CIDOPOBICH Либо у них item condition 0, либо разные классы (class) в секциях сдк / игра. Флаг Used AI Locations на это не влияет. 17 часов назад, CIDOPOBICH сказал: Насчёт классов не понял, где их посмотреть? Для примера, открываешь w_mp5.ltx (в геймдате сдк) и находишь параметр class. Его значение должно совпадать с аналогичным значением в w_mp5.ltx (в игровой геймдате / дб). Изменено Понедельник в 11:00 пользователем Yara https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано Воскресенье в 17:36 4 часа назад, Yara сказал: CIDOPOBICH Либо у них item condition 0, либо разные классы (class) в секциях сдк / игра. Флаг Used AI Locations на это не влияет. Вот настройки предмета в SDK Спойлер Насчёт классов не понял, где их посмотреть? S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 833 Опубликовано Вторник в 23:56 (изменено) del Изменено Среда в 02:10 пользователем Mawrak Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 1 243 Опубликовано Среда в 01:42 (изменено) В 30.06.2025 в 00:36, CIDOPOBICH сказал: Насчёт классов не понял, где их посмотреть? в файлах конфигах например, строка class у МР5 обычно ставят class = WP_LR300, это автоматическое оружие, при этом в отличии от класса WP_AK74, движок не требует от него указания в конфигах характеристик подствольного гранатомёта например, движок понимает, что это класс для оружия без подствольника, потому его обычно лепят на ПП, и пулемёты, а для класса СВД можно не указывать режим огня, потому что опять же движок понимает, что это класс для винтовок без автоматического огня. Изменено Среда в 01:44 пользователем CiberZold Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано Четверг в 14:55 Испробовал все способы, но никак не получается. Как выдать инфопоршень при наличии определённого предмета у ГГ? Например, у меня задание "найти кпк", когда игрок поднимает kostyak_pda, выдаётся инфопоршень bar_comp S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gambimo 2 Опубликовано Четверг в 15:02 (изменено) CIDOPOBICH В папке скриптов в файле bind_stalker ищи сторочку: function actor_binder:on_item_take (obj) После этой строчки вставляй такую конструкцию: if obj:section() == "Техническое_название_предмета" and not has_alife_info("Инфопошень_который_выдаётся") then db.actor:give_info_portion("Инфопошень_который_выдаётся") end В итоге должно выйти вот так: Спойлер Изменено Четверг в 15:06 пользователем Gambimo 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 1 243 Опубликовано Четверг в 15:14 10 минут назад, CIDOPOBICH сказал: Например, у меня задание "найти кпк" раз есть задание, то это можно делать через игровые таски, у тебя есть задание <game_task id="что-то"> внутри него есть подзадания, найти ПДА например <objective> <text>Найти ПДА</text> внутри можно указать функции завершения этого подзадания, любая функция которая пока у тебя есть это задание на постоянном апдейте проверяет наличие предмета в рюкзаке и выдаёт true если такой предмет есть <function_complete>тут функция проверки предмета</function_complete> <infoportion_fail></infoportion_fail> дополнительно можно указать инфопоршни провала задания и успеха а можно указать какой инфопоршень выдаст игра после выполнения этого подзадания ,т.к. выполнение это наличие ПДА , то при поднятии ПДА игра и выдаст нужный инфопоршень: <infoportion_set_complete>bar_comp</infoportion_set_complete> 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FacingSlave 126 Опубликовано Четверг в 15:37 (изменено) CIDOPOBICH есть способ в bind.stalker такую фичу делал на тч, чуток потом скину Дополнено 41 минуты спустя CIDOPOBICH в bind_stalker есть такая функция: function actor_binder:on_item_take (obj) В ней такие строчки кидаешь: if obj:section() == "квестовый предмет" and not has_alife_info("инфопоршень") then db.actor:give_info_portion("инфопоршень") end Дальше уже таск в инфопоршне выдаешь и все Либо через рестриктор, создаешь условие для квестового предмета, потом в рестриктор условие кидаешь а уже потом выдает инфопоршень Изменено Четверг в 17:19 пользователем FacingSlave 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано вчера в 07:38 Как можно сделать проверку на наличие определённого кол-ва предметов в инвентаре? Допустим есть задание, где игроку нужно найти 5 энергетиков. Нашёл 5 энергетиков, квест выполнен. Заранее спасибо! Дополнено 18 минуты спустя Впервые столкнулся с такой проблемой. До этого делал диалоги, всё было нормально. Но сейчас что-то пошло не так. Я прописал сам диалог, его перевод, а в игре отображаются кодовые названия, а не текст. Перепроверил правильность написания, всё ок. Что делать? Спойлер <dialog id ="dv_sv_guard_task"> <dont_has_info>dv_find_wpn_start</dont_has_info> <phrase_list> <phrase id ="0"> <text>dv_sv_guard_task_0</text> <next>1</next> </phrase> <phrase id ="1"> <text>dv_sv_guard_task_1</text> <next>2</next> <next>21</next> </phrase> <phrase id ="2"> <text>dv_sv_guard_task_2</text> <action>dialogs.break_dialog</action> <give_info>dv_find_wpn_start</give_info> </phrase> <phrase id ="21"> <text>dv_sv_guard_task_21</text> <action>dialogs.break_dialog</action> </phrase> </phrase_list> </dialog> Спойлер <string id="dv_sv_guard_task_0"> <text>Мне нужны деньги, у вас есть какая-нибудь работа?</text> </string> <string id="dv_sv_guard_task_1"> <text>Работа? Хм-м... думаю да. Нашему отряду нужно новое снаряжение. Подсобишь?</text> </string> <string id="dv_sv_guard_task_2"> <text>Конечно.</text> </string> <string id="dv_sv_guard_task_21"> <text>Прости, я не готов пока.</text> </string> S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 1 144 Опубликовано вчера в 14:33 CIDOPOBICH может файл stable_dialogs_darkvalley.xml не там лежит... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CIDOPOBICH 4 Опубликовано вчера в 14:36 3 минуты назад, macron сказал: CIDOPOBICH может файл stable_dialogs_darkvalley.xml не там лежит... Проверил, лежит по пути gamedata\config\text\rus 1 S.T.A.L.K.E.R.: Зона молчания Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 1 144 Опубликовано 22 часа назад 2 часа назад, CIDOPOBICH сказал: Проверил, лежит по пути gamedata\config\text\rus Попробуй еще в eng засунуть, может у тебя ww версия... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FacingSlave 126 Опубликовано 21 час назад 9 часов назад, CIDOPOBICH сказал: Как можно сделать проверку на наличие определённого кол-ва предметов в инвентаре? Допустим есть задание, где игроку нужно найти 5 энергетиков. Нашёл 5 энергетиков, квест выполнен. Заранее спасибо! Проверял много способов но у меня работает только такой: function название(first_speaker, second_speaker) local n=3 ----- количество сколько нужно local count=0 db.actor:iterate_inventory(function (dummy, item) if item:section()=="квестовый предмет" then count=count+1 end end, nil) if count>=n then return true else return false end end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты