imcrazyhoudini 208 Опубликовано 24 Февраля Поделиться Опубликовано 24 Февраля Если НПС переходит с одной в другую логику, то НПС следовавший за ним в логике follower - виснет до сейв-лоада. Есть пути решения?.. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
Купер 2 858 Опубликовано 28 Февраля Поделиться Опубликовано 28 Февраля Други, есть что-то более толковое в сравнении с булевым триггером для определения нахождения ГГ в кат-сценах (те, которые вызываются через функции xr_effects.script.disable_ui_elements, xr_effects.disable_ui и т.д.). Цель, собственно: отследить поведение custom_static-ка, созданного через AddDialogToRender(). Ссылка на комментарий
Kirgudu 1 210 Опубликовано 28 Февраля Поделиться Опубликовано 28 Февраля @Купер, есть штатный модуль обработки кат-сцен sr_cutscene.script, можно отредактировать в нём под свои нужды класс action_cutscene. Например, прямо туда добавить поиск нужного статика на худе, или сделать на апдейте вызов кастомного события через xr_s, а там, где статик, собственно, добавляется, подписаться на это событие - и так далее. Но вообще это зависит от целей и сложности задачи, может пары строчек с флагом на месте вполне достаточно в конкретном случае. 1 1 Инструмент Ссылка на комментарий
Norman Eisenherz 311 Опубликовано 28 Февраля Поделиться Опубликовано 28 Февраля Что понимается под "поведением" статика? Что-то сложнее "скрыть/показать"? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Купер 2 858 Опубликовано 28 Февраля Поделиться Опубликовано 28 Февраля @Norman Eisenherz , Скрытый текст а какая в принципе нам разница в данном случае: нужно ведь отследить наступление самого события, а что мы будем делать "внутри" - не суть. Пробежался по диагонали по ПЫСокоду - штатно вроде бы? ничего такого не предусмотрено. Нет, простейшее решение очевидно: банально в сами функции из xr_effect.script добавить чекер "true/false", а потом по необходимости "дёргать" проверку его значения. Простенько, со вкусом и даже работать будет. Но... костыльно как-то. В принципе, выше @Kirgudu подсказал "в куда" стоит посмотреть. 1 Ссылка на комментарий
Norman Eisenherz 311 Опубликовано 29 Февраля Поделиться Опубликовано 29 Февраля Остается только добавить такой же флаг в какую-нибудь проверку использования оптики 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
BеST 42 Опубликовано 9 Марта Поделиться Опубликовано 9 Марта Всем привет! Подскажи пожалуйста где находятся ссылки и в каких файлах прописаны такие саунды: gamedata\sounds\ambient\special duty_base_radio_1 duty_base_radio_2 marsh_radio_1 marsh_radio_2 и т. д. Ссылка на комментарий
Купер 2 858 Опубликовано 10 Марта Поделиться Опубликовано 10 Марта @BеST , простейший вариант: поиск по файлам игры. Либо самостоятельно распаковать .db архивы (применительно к CS - это resources\configs.db (релизная версия) и patches\xpatch_10.db (10 патч, "пересекающиеся" файлы из него заменяют те, которые находятся в resources\configs.db), либо воспользоваться этой ссылкой из этой темы. И поиском найти упоминания о нужных звуках в файлах из папок gamedata\configs (конфиги игры) и gamedata\scripts (скрипты игры). --- p.s.: сами звуковые файлы находятся, естественно, в папке gamedata\sounds (и её подпапках). При редактировании звуковых файлов для игры есть такой нюанс. Т.е., в идеале, в случае добавления/замены звуков в игре желательно их нужным образом дополнительно откомментировать. 2 Ссылка на комментарий
BеST 42 Опубликовано 10 Марта Поделиться Опубликовано 10 Марта (изменено) Столкнулся с такой проблемой. Не хватает памяти. Какой памяти? Движка? Видюхи? Кто знает как такое пофиксить?) FATAL ERROR [error]Expression : Ran out of memory [error]Function : CRender::texture_load [error]File : ..\xrRender\Texture.cpp [error]Line : 367 [error]Description : D3DXCreateTextureFromFileInMemoryEx ( HW.pDevice,S->pointer(),S->length(), D3DX_DEFAULT,D3DX_DEFAULT, IMG.MipLevels,0, IMG.Format, D3DPOOL_SYSTEMMEM, D3DX_DEFAULT, D3DX_DEFAULT, 0,&IMG,0, &T_sysmem ) [error]Arguments : d:\steam\steamapps\common\stalker clear sky\gamedata\textures\best_act\exo_neut\shared_exo_1_bump.dds Изменено 10 Марта пользователем BеST Ссылка на комментарий
Zander_driver 10 333 Опубликовано 11 Марта Поделиться Опубликовано 11 Марта 10 часов назад, BеST сказал: Столкнулся с такой проблемой. Эта проблема лечится переходом на х64 движок. Ну или уменьшением разрешения и количества текстур, использованных в моде, вместе с понижением настроек графония... (В запущенных случаях это все не поможет) 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
otani-san 60 Опубликовано 23 Марта Поделиться Опубликовано 23 Марта Всем привет. Хочу сделать в ванильном ЧН у некоторого оружия(автоматического и с одиночным режимом огня) без апгрейдов очень маленькую отдачу, но что-то как ни меняю цифры в параметрах cam_dispersion/zoom_cam_... , не получается сделать очень маленькую отдачу. В ТЧ, ЗП и Anomaly с этим нет проблем. В ЧН отдача ещё вшита в анимации/модели оружия? Ссылка на комментарий
Купер 2 858 Опубликовано 31 Марта Поделиться Опубликовано 31 Марта ЧН bins + скриптовые "универсалки". Други, а каким образом можно отследить нахождение ГГ в зоне перехода между уровнями? Цель: скрывать для этого момента скриптовые custom_static, созданные через AddDialogToRender(). Ссылка на комментарий
Kirgudu 1 210 Опубликовано 31 Марта Поделиться Опубликовано 31 Марта @Купер ничего, кроме проверки на апдейте, в голову не приходит. При загрузке составить реестр переходов - для этого можно использовать функцию lchanger_binder:net_spawn(sobject) в bind_level_changer.script, она будет работать только для тех переходов, которые находятся на той же локации, что и герой. А дальше любым способом периодически проверять расстояние между героем и всеми зарегистрированными переходами, если какое-нибудь из них будет меньше порога - условие выполнилось. Если интересно, можно заглянуть в fsm_anomaly.script в известном тебе моде - я в нём несколько лет назад извращался над такой проверкой с целью минимизации затрат на апдейте. Но там, конечно, избыточная сложность из-за специфической задачи. А если речь о самом событии перехода, тогда actor_binder:save --> гейм вертекс героя --> локация по геймвертексу, которая в этом случае не равна текущей локации. 1 Инструмент Ссылка на комментарий
BеST 42 Опубликовано 31 Марта Поделиться Опубликовано 31 Марта Привет Всем! Вот такой вылет: ! [LUA][ERROR] ERROR: Npc not set in goodwill function!!! FATAL ERROR [error]Expression : 0 [error]Function : ErrorLog [error]File : F:\Dance Maniac\Development\Stalker\M.F.S. Team\Repositories\Advanced-X-Ray 2.5.40\SourcesAXR\xrServerEntitiesCS\script_engine_script.cpp [error]Line : 54 [error]Description : ERROR: Npc not set in goodwill function!!! stack trace: 0x00000000400CD82C AdvancedXRay.exe, Device + 588 byte(s) Единственное знаю, что ругательство - "Npc not set in goodwill function" из scripts\game_relations Может знаете в каких конфигах или скриптах или ещё в чём-то может появляться данная ошибка? В configs\creatures\game_relations файл изменён. Но! Я и удалял его.. и всё равно ошибка одна. Ссылка на комментарий
Kirgudu 1 210 Опубликовано 31 Марта Поделиться Опубликовано 31 Марта @BеST появление такой ошибки означает, что один из НПС, отношения между которыми устанавливаются - npc1 или npc2 - не пришёл в функцию. Удаляй, не удаляй изменённый конфиг game_relations, это делу не поможет. Почему в функцию приходит пустой НПС - сказать не могу, надо изучать там, где вызывается функция game_relations.set_npcs_relation(). В оригинале таких мест всего два. Инструмент Ссылка на комментарий
BеST 42 Опубликовано 31 Марта Поделиться Опубликовано 31 Марта Проблему нашел. В оригинальном ЧН в файлах squad_descr_уровень есть такие параметры: sympathy = 0 relationship = neutralsИ почему-то в Advanced-X-Ray 2.5.40 Эти параметры не действуют и выдают ошибку "ERROR: Npc not set in goodwill function!!!" Закомментировав их: --sympathy = 0 --relationship = neutrals Воуля почему-то всё работает возможно особенности движка.. Ссылка на комментарий
Это популярное сообщение. Norman Eisenherz 311 Опубликовано 2 Апреля Это популярное сообщение. Поделиться Опубликовано 2 Апреля Остановка выдачи заданий категории recover_item (поиск уникальных предметов) после перехода на новую локацию – проблема древняя, однако найти исправление отдельно от глобальных модов и с описанием не удалось. Выкладываю здесь, может кому пригодится… Проблема кроется в механизме обработки заданий: сначала они все сохраняются в список [task_manager.script] self.inited_tasks в статусе normal (готово к выдаче), потом переводятся в статус selected / completed (начато / выполнено) и удаляются по мере выполнения, при этом задание, которое было только просмотрено (даже в виде заголовка), но не начато, остается в списке навечно. Ввиду того, что все задания recover_item используют общий заголовок, задание со старой локации занимает собой единственное место в очереди, но не выдается, так как не может пройти проверку actor_on_level(…). Дополнительная сложность: перед выдачей в диалог все задания также сохраняются в память отряда под номером категории (для recover_item это номер [3], который почему-то не совпадает с номером [7] в менеджере заданий), а все дефолтные проверки сделаны без учета варианта "есть порядковый номер задания entity_id в памяти отряда squad.random_tasks[?], но нет самого задания в inited_tasks". Правка сводится к удалению "висящих" заданий из памяти и изменению проверок, связанных с перебором squad.random_tasks целиком или только категории recover_item. Ну и, раз уж есть очистка памяти, можно сделать случайный выбор задания при входе в диалог, чтобы не все отряды NPC на локации искали один и тот же предмет. Начинать новую игру не требуется. Spoiler -- очистка памяти (возможно, задание с другой локации) и апдейт отряда [sim_squad_generic.script] function sim_squad_generic:init_squad_task() … local task = tm:select_task("recover_item", self.squad_id, player.player_name) (+) выше if tm.inited_tasks.recover_item ~= nil then if tm.inited_tasks.recover_item.status == "normal" then tm.inited_tasks.recover_item = nil end end … function sim_stay_point:update() … local task_entity_id = squad.random_tasks[3] … if task.status == "selected" then (/) if task and task.status == "selected" then -- проверки в диалогах [task_dialogs.script] function squad_has_tasks(npc, actor, p1, p2) function squad_hasnt_tasks(npc, actor, p1, p2) (–) if(task_manager.get_task_manager():get_task_by_entity_id(v).status~="selected") then (+) local rt = task_manager.get_task_manager():get_task_by_entity_id(v) if rt and rt.status ~= "selected" then … function show_tasks(npc, actor, dialog, phrase) function show_description(npc, dialog_name, phrase_id) … if(tsk.status~="selected") then (/) if tsk and tsk.status ~= "selected" then … function give_squad_capture_task(npc, actor, p1, p2) function squad_hasnt_capture_tasks(actor, npc, p1, p2, p3) … if task.status ~= "selected" then (/) if task and task.status ~= "selected" then … function is_recover_item_task(actor, npc) … if task.target == npc_id then (/) if task and task.target == npc_id then -- случайный выбор [task_manager.script] function CRandomTask:select_task(type, obj, faction) … (–) for k,v in pairs(task_table) do if v:check_target(obj, faction) then if v.prior > max_prior then max_prior = v.prior selected_task = v end end end (+) local rec = {} for k,v in pairs(task_table) do if v:check_target(obj, faction) then if type ~= "recover_item" then if v.prior > max_prior then max_prior = v.prior selected_task = v end else rec[#rec +1] = v end end end if next(rec) then selected_task = rec[ math.random(#rec) ] end 1 4 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Вовчик 2 Опубликовано 22 Июня Поделиться Опубликовано 22 Июня Подскажите, если кто знает - в каком файле (и где) находится реплика свободовца "подходи пообщаемся" - очень уж бесит этот громкий жизнерадостный крик (думаю заменить на что-то другое, или вовсе на тишину). Перерыл всего сталкера, и что-то похожее нашлось лишь в gamedata\sounds\characters_voice\scenario\escape\wolf_thanks_1.ogg - но там интонация другая вроде, и естественно заменив этот файл на песенку - ничего не изменилось, и свободовец как орал свою фразу так и орёт Ссылка на комментарий
imcrazyhoudini 208 Опубликовано 24 Июня Поделиться Опубликовано 24 Июня Ребята, есть готовый пример реализации поддержки кондлистов для логики НПС не в смартах? Хочу попытаться побороть баг связанный с сбросом активной логики при переходе НПС в оффлайн. ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
BеST 42 Опубликовано 1 Июля Поделиться Опубликовано 1 Июля (изменено) Привет всем! Ребят, странное совпадение, после замены ЦП и Видеокарты столкнулся с таким вылетом: !!!При переходе на локации, либо бывает при старте новой игры!!! FATAL ERROR [error]Expression : assertion failed [error]Function : HUD_SOUND_COLLECTION_LAYERED::LoadSound [error]File : F:\Dance Maniac\Development\Stalker\M.F.S. Team\Repositories\Advanced-X-Ray 2.5.40\SourcesAXR\xrGameCS\HudSound.cpp [error]Line : 349 [error]Description : count Платформа Advanced X-Ray CS Изменено 1 Июля пользователем BеST Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти