-
Публикаций
507 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Моды S.T.A.L.K.E.R. 2
Весь контент Mass
-
Однако! Раскопал случайно, в rx_addons.script 2 раза вызываем db.actor:set_fastcall(update,npc) и вот как раз в функции update нашел незабываемое приключение Мгновенно повиснет движковая функция так как аргумент к не существует! Кроме того это действие попытается вывести в лог с помощью get_console():execute("load ~#I#:"..format_safe(str,...)) через незаремленную rx_utils.printf("ads:"..s.."!!!",...). и это внутри бешеного потока фастколла. Я на 100% процентов уверен что эти 2 действия вешают игру с непонятными логами в дальнейшем
-
Не факт! Тяжесть последствий будет зависит от того сколько мусора записалось в данные таблицы, убит ли он, что за схема была, разрегистрировала ли игра хотя бы частично нпс. Игра может работать с некоторыми зависшими колбеками, но всяко есть лимит. Я думаю, многое зависит от самого железа. У кого-то апдейт не чаще 4 раза в секунду, а у кого-то чаще или реже. Тоже предполагаю есть влияние У меня не было никаких проблем
-
MaxOne Не думаю что именно из-за кряка, но не исключаю такую возможность
-
На стороне софта и компа всё нормально? Проц\Озу\Ссд\Винда...? Почему-то никто этого не говорит , но ошибки также могут возникнуть от нестабильности самой системы
-
Я понимаю, что это временное решение, но масштаб проблемы лично меня бы испугал : если объект может отвалиться где угодно, нам придётся параноидально оборачивать в if not self.object then return end вообще каждый скрипт в моде, а это бред. Тем более когда биндер теряет self.object, связь между id персонажа и его хранилищем данных в db.storage неправильно чистится\освобождается. Я бы лучше вылетал тут!
-
Данная ситуация исключена при правильной работе скриптов и схем! Не может быть такого чтобы self.object оказался нил в биндере! Что-то ломает скрипты...
-
andreyholkin Такое говорит, о том что побились данные (явно сейв испорчен). Может и не вылететь, однако можешь застопориться по сюжету, и придется городить костыли и затычки в логике игры
-
По факту причина в Вместо анимации получили nil. Хоть и стоит заглушка что мы переводим анимку в idle (Это может сработать когда в схеме была допущена опечатка в состоянии анимаций ). Это значит что, скорее всего, какой-то эвалуатор вернул вместо булева значения что-то другое. В результате получили рекурсию в коде другого эвалуатора на котором ругается ошибка Нужен весь лог
-
Если вылетело на этой строчке local active_section = db.storage[npc_id].active_section то скорее всего повредилась таблица онлайновых объектов в игре. Нужно узнавать почему это произошло. Кстати, выше по коду Что абсурд! Если непися не существует, значит пошло что-то не так. Такого не должно происходить никогда в отлаженной сборке. Подобное пригодится как затычка от вылета на поздних этапов игры
-
Вчера в своей солянке наткнулся на лог: Возник когда сталкер достал гранату, чтобы кинуть во врага, но союзник убил врага быстрее. В результате код npc:set_item(object.idle,npc:active_item()) отработал как есть в схеме post_combat. Так как у нпс осталось активное оружие граната. А эвалуатора уже нет так как погиб враг. То получил такую ошибку. Также насколько я понял, садиться с гранатой неписю не положено. У меня код имел такой же изъян как в этом моде. Поэтому решил поделиться найденным. Решение : добавить проверку на гранаты на отсечении данного кода
-
unknоwn Выпилить схему - просто. Но все скриптовые персонажи не будет иметь игнора. Игра просто побъется. Нужно проверять где функция вернула false. Возможно сам скрипт не от оригинала. Либо побилось сохранение и логика вместе с ним
-
andreyholkin Похоже планировщик стал причиной вылета, но проверять надо на дебаге или миксед версии. Так быстрее поймешь в чем проблема. Иначе выводи в лог все скриптовые эвалуаторы
-
Я бы вывел в лог в функции is_enemy и проверял почему там false
-
andreyholkin В моде printf работает!
-
Я перепутал со схемой. Конечно же post_combat_idle.script. Не влезло в одну строку, перенеслась на следующую Если что при дебаге ловил вылет
-
Скрипты чинить движком «сомнительно, но ОКей»
-
Я через дебаг подобное ловил. У меня была причина в post_combat.script npc:set_dest_level_vertex_id(npc:level_vertex_id()) Ругалось на эту строчку. Потому что вертекс может быть невалидным или заблокированным. Например при боёвке у непися сбрасывался рестриктор, но вот после добавлялся. И именно поэтому случался краш на дебаге. Я делал вот так: Поэтому полезно иметь дебаг версию P.S. Если что я спецом оставил ссылку, так как проверял в finalize, но лучше конечно сделать через локальную переменную для оптимизации
-
Схема была добавлена в xr_logic.script и modules.script?
-
raspberry Ошибка в пстор! Попробуйте удалить sim_default_csky_041812 . В fsm_options.script найдите строку с object_to_release = и поменяйте на object_to_release = "sim_default_csky_041812"
-
andreyholkin Решил я потестить наконец-то пол часа. Ни разу не вылетел. Хотя я исправил функции вывода в лог. Можешь мне выслать свой билд и само сохранение где виснет через лч?
-
В Lua переменные в pairs инициализируются прямо в заголовке цикла for key, value in pairs(table) do ... end. От ошибки это никак не поможет
-
Проверяет есть ли скрипт! Если хочешь протеститровать заремь строку process_actions[rx_knife.actid_knife_attack] = true в rx_wmgr.script
-
Это регистрация колбека object.aim_force_full1 Как сделал Bak так делать нельзя! Нужно это делать в движке и экпортировать в скрипты.
-
Вообще никак не связано. Только если эта строка не будет в секции схемы смарткавера. Тогда нужно смотреть rx_knife.script Возможно там какая-та ошибка в эвалуаторе или в экшене Тут его сразу убивают. Возможно ошибка как раз в hit
-
Frost_maul Нужен сейв и еще лог сюда скиньте
