Overf1rst 1 423 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 (изменено) 2 часа назад, ian98 сказал: как регать-то остальные? Они ж все по одному принципу регаются, правильно? Да, одинаково регаются. На примере on_key_press: В net_destroy() self.object:set_callback(callback.on_key_press, nil) В reinit() self.object:set_callback(callback.on_key_press, self.on_key, self) -- on_key - название функции, в которой будешь свои действия вписывать Ну и создаешь где-нибудь функцию function actor_binder:on_key(key, bind) ... end Какие аргументы в скобках смотришь или в других модах (если где-нибудь есть) или в исходниках 2 часа назад, ian98 сказал: я скорее имел ввиду не прям схему, ну как с гранатами, а что-то типо нпс с ножом смотрит на актора и в актора летят болты Без просчитывания расстояния до игрока, без подбегания к игроку когда он отбежит? Ну лан, тогда и так пойдет 2 часа назад, ian98 сказал: Работает, только если без отсебятины, которую я с мисс и таргет придумал) db.actor:position() возвращает vector, а не чисто координаты. target тоже как vector нужен local pos = db.actor:position() local target = vector():set(pos.x + miss, pos.y, pos.z) 2 часа назад, ian98 сказал: он же и добавляет еще, актуальную луахелп? Походу нет, много нового там нету Изменено 27 февраля, 2023 пользователем N42 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 27 февраля, 2023 19 часов назад, ian98 сказал: как зарегать калбек на выстрел в огср? Я не знаю) OGSR свернул не туда, в зависимости от того какой у тебя билд движка, придётся тебе идти на поклон к его разрабам) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 (изменено) N42 Проблема с регистрацией калбека, опять, на этот раз с мотиватором. Есть себе такой калбек на перезарядку у нпс. Попробовал зарегать. Где надо, вместе с другими подобными строками записал так: self.object:set_callback(callback.on_npc_weapon_reload, motivator_binder.on_npc_weapon_reload, self) Дальше так: self.object:set_callback(callback.on_npc_weapon_reload, nil) Функция так: function motivator_binder:on_npc_weapon_reload(obj, who) end Пробовал еще так: function motivator_binder:on_npc_weapon_reload(victim, who) end Но все равно вылет. Лог: Спойлер [27.02.23 10:15:23.700] ******************************************************************************** [27.02.23 10:15:23.700] ********************************************************************************* [27.02.23 10:15:23.700] [print_output([CScriptEngine::lua_pcall_failed])] SCRIPT RUNTIME ERROR: [luabind::detail::class_rep::function_dispatcher] Caught unhandled exception! stack traceback: [C]: at 0x7ff67bf95694 [C]: in function 'set_callback' ...shadow of chernobyl\gamedata\scripts\xr_motivator.script:84: in function <...shadow of chernobyl\gamedata\scripts\xr_motivator.script:65> [27.02.23 10:15:23.700] ********************************************************************************* [27.02.23 10:15:23.700] FATAL ERROR [error]Expression : FATAL ERROR [error]Function : CScriptEngine::lua_pcall_failed [error]File : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\COMMON_AI\script_engine.cpp [error]Line : 46 [error]Description : [CScriptEngine::lua_pcall_failed]: [luabind::detail::class_rep::function_dispatcher] Caught unhandled exception! [27.02.23 10:15:23.700] ***************************[ScriptCrashHandler]********************************** Что это? и этого калбека уже нет? Или я просто неправильно сделал? Да и on_actor_weapon_fire в bind_stalker выбивает с ошибкой. не может зарегать. Прямо уже теряюсь. Где я косячу-то. on_actor_weapon_switch_gl тоже не регается. Зато on_item_use прошел. Я в печали... Дополнено 2 минуты спустя CiberZold последний самый. Прифигел с луж, прикольно сделали. Пульки конечно не отмечаются если стрелять, но это мелочь как по мне, все равно красота. Обидно правда, что дайретикс оставили только 11. Изменено 27 февраля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 27 февраля, 2023 2 минуты назад, ian98 сказал: Прифигел с луж, прикольно сделали лужи это не фишка ОГСР, они были ещё в ОГСЕ вставках в движок, надо в ОГСЕ поставить отражения на асфальте и будут тебе лужи во время дождя с отражения в воде, сам ОГСР из графики внёс только капли на стекле, которые в половине адаптаций не работают) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 CiberZold какой можно на замену движку огср в тч поставить? Я просто не знаю даже. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 27 февраля, 2023 12 минут назад, ian98 сказал: какой можно на замену движку огср в тч поставить? ну в ОГСЕ есть графика того же ОГСР плюс готовая скриптовая база, движки X-ray Extensions и движок Макрона много улучшений имеют по сравнению с дефолтным ТЧ, в том числе по работе с памятью, увеличение буфера, вот про них как раз много инфы есть в Сети, по движку Макрона даже здесь на сайте, а там уже сам смотри под свои задачи. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 (изменено) CiberZold как раз графика меня мало волнует. Мне бы всякие приколы с тайм фактором, гравитацией и так далее. Ну и чтоб игра была оригинальная, чистый движок. ОГСЕ, движок Макрона? Это так и ищется? Я попробую. Что-то гугл мне выдает какие-то укозовские сайты мертвые, вк и гитхаб ОГСР. Изменено 27 февраля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 (изменено) ian98 вот здесь https://github.com/OGSR/OGSR-Engine/releases/ скачай исходники к своей версии и поиском поищи нужный коллбек, есть ли вообще какое-то упоминание. Если нету - значит уже нету. Можно старой версией пользоваться, где они еще есть Изменено 27 февраля, 2023 пользователем N42 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 (изменено) N42 исходники это source_code? Первый раз качаю и имею с этим дело? Там нужно освоить кучу софта прекрасного стороннего? Как с сдк например... Моя стихия - блокнот) Причем самый дефолтный Изменено 27 февраля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 (изменено) ian98 просто в notepad++ поищи поиском по файлам, надо просто посмотреть, есть ли в файлах этот коллбек Изменено 27 февраля, 2023 пользователем N42 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 (изменено) N42 это все, что я нашел в файлах исходников по запросу on_actor_weapon... А что-то типо луахелперки тут есть? ну и даже on_actor_weapon_jammed НЕ ЗАВЕЛСЯ. Я не понимаю. Все равно ошибка. Изменено 27 февраля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 (изменено) 5 минут назад, ian98 сказал: А что-то типо луахелперки тут есть? Где? Дополнено 2 минуты спустя 5 минут назад, ian98 сказал: ну и даже on_actor_weapon_jammed НЕ ЗАВЕЛСЯ Это с _g.script? В исходниках смотри, а не в скриптах Изменено 27 февраля, 2023 пользователем N42 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 (изменено) N42 в исходниках, которые я скачал. Погуглил lua_help ничего такого не нашел очевидного. Какие-то файлы с .срр ну, кстати, я их открыл блокнотом и даже получил что-то на человеческом языке. Правда вряд ли смогу использовать как-то. Изменено 27 февраля, 2023 пользователем ian98 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 ian98 это не коллбек, прописываемый в биндере, просто хлам в _g.script для подсказок на экране. Раз только его показало, значит нету Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 N42 Спойлер а это? там тоже только _jammed упоминается Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 ian98 это для _g.script. Если нужно что-то, что работает при заклинивании у актора оружия - можешь и в _g.script прописать, но никуда его больше не денешь 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 N42 да вот этот калбек мне как раз и не нужен... Обидно, что повырезали все, что нужно, а еще вчера ты думал "та щас легко повешу на этот калбек и на этот. Все схвачено." Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 27 февраля, 2023 ian98 просто скачай старую версию. Или X-Ray extensions глянь, в движке от Макрона новых функций нету https://github.com/KD87/xray-extensions 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 225 Опубликовано 27 февраля, 2023 N42 ай, какой он сложный) собирать его разбирать. будем костылить тогда огсрку уже) Хотя проглядываю вики екстеншн, очень удобная все подписано, и приколы интересные имеются. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 27 февраля, 2023 41 минуту назад, ian98 сказал: Мне бы всякие приколы с тайм фактором, гравитацией и так далее. ну приколы со сменой тайм-фактора на лету и гравитацией это только в ОГСР есть, придётся тебе тогда с ним разбираться, по ОГСР вообще мало инфы в сети, только ковырять вот те самые исходники cpp файлы из 100500 строк, как говорится вот тебе и дружелюбный подход разрабов движка к мододелам, теперь они по сути делают движок для себя и своих друзей) 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
defau1t 18 Опубликовано 1 марта, 2023 Как сделать старт. диалог для НПС при определенном инфопоршне, а потом пропадал при другом инфопоршне. Если проще я хочу сделать чтобы сразу диалог показывался стартовый при квесте, а после квеста - пропадал. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 554 Опубликовано 1 марта, 2023 (изменено) 2 часа назад, band1tov сказал: Как сделать старт. диалог для НПС при определенном инфопоршне, а потом пропадал при другом инфопоршне. Если проще я хочу сделать чтобы сразу диалог показывался стартовый при квесте, а после квеста - пропадал создаёшь два диалога (dialog1и dialog2 во втором диалоге выдаешь инфопоршень info), в логике нужного непися в секции [meet] пишешь meet_dialog = {+info} dialog1, dialog2 тогда когда нет инфопоршня стартовая реплика и диалог в целом будет из dialog2, после того как прокликаешь этот диалог и получения инфы, при следующем разговоре с этим персом стартовая реплика и сам диалог будет из dialog1, также можно менять условия, чтоб второй диалог был только при отсутствии инфы {-info} или другого поршня. а вот сама логика в оригинале, да и большинстве модов на ТЧ зашита в аллспавн, т.е. если это оригинальный сюжет или перс, если это твой мод то можно логику вынести в config/scripts, что удобнее было редактить, каждый раз не пересобирая спавн Изменено 1 марта, 2023 пользователем CiberZold 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Etil 8 Опубликовано 1 марта, 2023 И снова здравствуйте. Есть "небольшая" проблема: игра при сохранении не сохраняет брошенные гранаты, а в моём случае (очень) желательно, чтобы сохраняла - на их биндерах вся логика висит, и изменено это не будет. Вопрос: можно ли принудить игру запоминать брошенные гранаты? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 917 Опубликовано 1 марта, 2023 band1tov посмотри стартовый диалог Кузнецова Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
N42 578 Опубликовано 2 марта, 2023 Etil наверно если только в биндере гранат сохранять координаты брошенной гранаты в пстор гг или в какое-нибудь хранилище и при загрузке в биндере гг проверять, сохранено ли что-нибудь. Потом спавнить и взрывать. Ну или движок править Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты