Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sumrak6835 157 Опубликовано 9 ноября 9 часов назад, Pastalker56 сказал: ui_mm_opt ui_mm_opt_16.xml должен читать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
av661194 129 Опубликовано 9 ноября StrawFlux Эта функция выдаёт отношения между группировками. Плюс можно получить отношение самой группировки конкретно к игроку: local goodwill = relation_registry.community_goodwill ("dolg", db.actor:id ()) Но это только два слагаемых, из которых складывается отношение конкретного нпс к актеру. Получить же полное значение (как было в случае с клиентским объектом), я так понял, не возможно. Но спасибо и на этом. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 850 Опубликовано 9 ноября 2 часа назад, av661194 сказал: Получить же полное значение (как было в случае с клиентским объектом), я так понял, не возможно у серверного объекта нет такого метода, и это логично, потому что все изменения отношения к игроку происходят онлайн, оффлайн неожиданно никто не станет врагом или другом) все изменения происходят онлайн с клиентским объектом, а потом записываются видимо как обычно нет-пакетом в серверный и сохраняются в сейв, потому при загрузке берутся уже из сейва, только как этот параметр называется , который передаётся через нет-пакет я не знаю, но теоретически если его знать, то можно попробовать перехватить его и вывести значение ,только такой вариант. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gnomi123 158 Опубликовано 10 ноября (изменено) del Дополнено 9 минуты спустя av661194 Если говорить о прям оригинальном ТЧ без движковых изменений, то не знаю, может и есть способ. Но в оригинальном движке есть методы, позволяющие узнать и изменить отношение НПС к игроку или другому НПС вне зависимости, НПС в офлайне или в онлайне. Эти методы просто не экспортированы, чтобы их можно было использовать из скриптов. Если вы не против внесения изменений в движок, то это очень легко сделать. Я ради интереса попробовал и сделал на основе движка огср, вроде в сети были исходники и оригинального движка, по идее и на нём должно работать. Там буквально внести изменения в один файл и собрать движок. Изменено 10 ноября пользователем Gnomi123 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
av661194 129 Опубликовано 10 ноября CiberZold Я тоже думал про нет-пакет. Только (в отличие от character_name, money и т.д.) напрямую эти данные там не записываются. Если распечатать нет-пакет, то в конце будет куча значений типа u8, u16 - как показали эксперименты, там это всё и лежит. Вот только в расшифровке этого салата возникают очень большие (а, может, и непреодолимые) трудности. Gnomi123 Да, хотелось реализовать на оригинальном движке. Но, видимо, не судьба - придётся вносить правки в xrGame. У меня есть установленная 2013 студия, оригинальные движки на ней собираются без проблем. Буду признателен, если подскажете, как экспортировать в скрипты эти методы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 10 ноября 27 минут назад, av661194 сказал: CiberZold Я тоже думал про нет-пакет. Только (в отличие от character_name, money и т.д.) напрямую эти данные там не записываются. Если распечатать нет-пакет, то в конце будет куча значений типа u8, u16 - как показали эксперименты, там это всё и лежит. Вот только в расшифровке этого салата возникают очень большие (а, может, и непреодолимые) трудности. Проще функцию вывести в движке. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DarkSnowder 65 Опубликовано 10 ноября народ, такой вопрос Спойлер [smart_terrain] type = general_lager capacity = 4 communities = stalker cond = {=is_day} stay = medium groups = 1 лагерь активируется с наступлением дня, и деактивируется ночью. Можно ли прописать в логике лагеря, чтобы с наступлением дня он активировался с 50% шансом (хочу таким образом добавить больше рандома) в логиках респавнов встречал вот такую строку: conditions = {+yan_find_scientist_done} 100, 0. Я так понял числа 100, 0 это вероятность срабатывания респавна. Применим ли данный параметр к гулагам? и ещё вопрос - иногда в лагерях прописываются 2 группировки (яркий пример - гулаг мерков и бандосов на Дикой Территории, который постоянно штурмуют долговцы и одиночки). Можно ли прописать так, чтобы при каждой активации приоритет полностью отдавался одной из двух группировок? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gnomi123 158 Опубликовано 10 ноября (изменено) av661194 Так, нужен файл level_script.cpp Нужно найти: void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val) { CHARACTER_COMMUNITY c; c.set (_community); RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val); } После этой функции вставить так: void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val) { CHARACTER_COMMUNITY c; c.set (_community); RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val); } int g_get_personal_goodwill(int _who_id, int _to_whom_id) { return RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id)); } void g_set_personal_goodwill(int _who_id, int _to_whom_id, int _amount) { RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), _amount); } void g_change_personal_goodwill(int _who_id, int _to_whom_id, int _amount) { CHARACTER_GOODWILL gw = RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id)); RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), gw + _amount); } Это сами функции. get возвращает числовое значение личного отношения, set позволяет установить числовое значение личного отношения, change изменить на _amount. Потом нужно экспортировать эти функции для использования в скриптах. Находим: module(L,"relation_registry") [ def("community_goodwill", &g_community_goodwill), def("set_community_goodwill", &g_set_community_goodwill), def("change_community_goodwill", &g_change_community_goodwill) ]; Добавляем наши функции: module(L,"relation_registry") [ def("community_goodwill", &g_community_goodwill), def("set_community_goodwill", &g_set_community_goodwill), def("change_community_goodwill", &g_change_community_goodwill), def("get_personal_goodwill", &g_get_personal_goodwill), def("set_personal_goodwill", &g_set_personal_goodwill), def("change_personal_goodwill", &g_change_personal_goodwill) ]; Собираем движок. Теперь можно вызывать эти функции через relation_registry.get_personal_goodwill (who, to_who) relation_registry.set_personal_goodwill (who, to_who, number) relation_registry.change_personal_goodwill (who, to_who, number) Должно работать. Изменено 10 ноября пользователем Gnomi123 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hrust 520 Опубликовано 11 ноября @Gnomi123, мне было лень разжёвыввать такую очевидную херню. 😁 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 508 Опубликовано Вторник в 13:53 Приветствую, где в файлах можно найти строчку, которая отвечает за отображение версии игры в меню? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано Вторник в 19:42 Всем привет. Решил сделать кат-сцену, но почему-то у меня не отображается путь самой камеры, да и сама камера не хочет через выстроенный маршрут проходить. Кто может сказать почему и как это можно исправить? Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 939 Опубликовано Вторник в 20:05 RicoNRT в SDK камерой не занимался. Читал вроде из ЗП SDK в ТЧ SDK желательно объект камеры переносить. Еще есть прога anm2ltx для работы вне sdk, но я-диск ее на вирю подозревает, короче сами решайте:https://disk.yandex.ru/d/V9ygPfsf9e5KQQ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано Вторник в 21:39 RicoNRT Здарова. Секция называется device_torch.Sikorskyi приветствую. Как вариант, можно попробовать сделать там хороших размеров рестриктор, и запретить Максу и другим - входить в него. Как пример, можно посмотреть рестрикторы костров. Возможно, Макс будет его обходить. Но это в теории. Paracetamol Доброго времени суток. Нужно в параметре ammo_elapsed = 0 - выставить ноль, и на всяк случай и тут ammo_current = 0Hunter здравствуйте. Файлы ui_main_menu.script и ui_mp_main.script Строка: _ver:SetText ("ver. " .. mm:GetGSVer()) 1 Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 508 Опубликовано Вторник в 22:53 oleg19966 здравствуй, у меня по твоей функции нет цифр 1.0006, чисто так написано, как ты говоришь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 850 Опубликовано Среда в 00:01 Hunter у скриптового окна main_menu есть метод движковый метод GetGSVer(), который и вызывается в ui_main_menu.script, откуда он и берёт это значение версии игры (скорее всего тоже из каких-то бинарных файлов типа xrGame.dll, но по сути это строчка, вместо неё можно подставить любую другую написав её в кавычках "". 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано Среда в 05:11 oleg19966 какой ещё девайс торч? Я про катсцену спрашиваю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано Среда в 20:15 15 часов назад, RicoNRT сказал: oleg19966 какой ещё девайс торч? Я про катсцену спрашиваю В 20.10.2024 в 12:41, RicoNRT сказал: Вопрос: как сделать так, что бы определённые НПС не светили фонариком ночью, а то во время стелс миссии очень странно, когда НПС чуть ли не в лицо светит лучом во врага. В 20.10.2024 в 13:07, RicoNRT сказал: Pastalker56 как? и как у них секция называется device_torch upd: видимо, я зря полез умничать. Больше не буду. Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано Среда в 20:19 oleg19966 туфу! Так это месяц назад было, я во первых давно уже эту проблему решил, во вторых и забыл уже про этот вопрос. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
oleg19966 296 Опубликовано Среда в 20:21 RicoNRT не смотрел на даты, просто, как обычно, пролистал последние 3 страницы. Не думал, что тут всё так затихло. 1 Внимание! Ищу любые фиксы/исправления для оригинального ТЧ. Спойлер Или людей, которые желают помочь с этим делом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RicoNRT 228 Опубликовано Среда в 20:22 oleg19966 Не мудрено, щас все на трилогию забили, пошли сталкер 2 на перегонки играть) 1 минуту назад, oleg19966 сказал: Не думал, что тут всё так затихло. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Balavnik 9 Опубликовано 4 часа назад Как удалять объекты, у которых сломаны патрульные пути? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты