Перейти к содержанию

Mass

Сталкеры
  • Публикаций

    507
  • Зарегистрирован

  • Посещение

Весь контент Mass

  1. Однако! Раскопал случайно, в 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 действия вешают игру с непонятными логами в дальнейшем
  2. Не факт! Тяжесть последствий будет зависит от того сколько мусора записалось в данные таблицы, убит ли он, что за схема была, разрегистрировала ли игра хотя бы частично нпс. Игра может работать с некоторыми зависшими колбеками, но всяко есть лимит. Я думаю, многое зависит от самого железа. У кого-то апдейт не чаще 4 раза в секунду, а у кого-то чаще или реже. Тоже предполагаю есть влияние У меня не было никаких проблем
  3. MaxOne Не думаю что именно из-за кряка, но не исключаю такую возможность
  4. На стороне софта и компа всё нормально? Проц\Озу\Ссд\Винда...? Почему-то никто этого не говорит , но ошибки также могут возникнуть от нестабильности самой системы
  5. Я понимаю, что это временное решение, но масштаб проблемы лично меня бы испугал : если объект может отвалиться где угодно, нам придётся параноидально оборачивать в if not self.object then return end вообще каждый скрипт в моде, а это бред. Тем более когда биндер теряет self.object, связь между id персонажа и его хранилищем данных в db.storage неправильно чистится\освобождается. Я бы лучше вылетал тут!
  6. Данная ситуация исключена при правильной работе скриптов и схем! Не может быть такого чтобы self.object оказался нил в биндере! Что-то ломает скрипты...
  7. andreyholkin Такое говорит, о том что побились данные (явно сейв испорчен). Может и не вылететь, однако можешь застопориться по сюжету, и придется городить костыли и затычки в логике игры
  8. По факту причина в Вместо анимации получили nil. Хоть и стоит заглушка что мы переводим анимку в idle (Это может сработать когда в схеме была допущена опечатка в состоянии анимаций ). Это значит что, скорее всего, какой-то эвалуатор вернул вместо булева значения что-то другое. В результате получили рекурсию в коде другого эвалуатора на котором ругается ошибка Нужен весь лог
  9. Если вылетело на этой строчке local active_section = db.storage[npc_id].active_section то скорее всего повредилась таблица онлайновых объектов в игре. Нужно узнавать почему это произошло. Кстати, выше по коду Что абсурд! Если непися не существует, значит пошло что-то не так. Такого не должно происходить никогда в отлаженной сборке. Подобное пригодится как затычка от вылета на поздних этапов игры
  10. Вчера в своей солянке наткнулся на лог: Возник когда сталкер достал гранату, чтобы кинуть во врага, но союзник убил врага быстрее. В результате код npc:set_item(object.idle,npc:active_item()) отработал как есть в схеме post_combat. Так как у нпс осталось активное оружие граната. А эвалуатора уже нет так как погиб враг. То получил такую ошибку. Также насколько я понял, садиться с гранатой неписю не положено. У меня код имел такой же изъян как в этом моде. Поэтому решил поделиться найденным. Решение : добавить проверку на гранаты на отсечении данного кода
  11. unknоwn Выпилить схему - просто. Но все скриптовые персонажи не будет иметь игнора. Игра просто побъется. Нужно проверять где функция вернула false. Возможно сам скрипт не от оригинала. Либо побилось сохранение и логика вместе с ним
  12. andreyholkin Похоже планировщик стал причиной вылета, но проверять надо на дебаге или миксед версии. Так быстрее поймешь в чем проблема. Иначе выводи в лог все скриптовые эвалуаторы
  13. Я бы вывел в лог в функции is_enemy и проверял почему там false
  14. andreyholkin В моде printf работает!
  15. Я перепутал со схемой. Конечно же post_combat_idle.script. Не влезло в одну строку, перенеслась на следующую Если что при дебаге ловил вылет
  16. Скрипты чинить движком «сомнительно, но ОКей»
  17. Я через дебаг подобное ловил. У меня была причина в post_combat.script npc:set_dest_level_vertex_id(npc:level_vertex_id()) Ругалось на эту строчку. Потому что вертекс может быть невалидным или заблокированным. Например при боёвке у непися сбрасывался рестриктор, но вот после добавлялся. И именно поэтому случался краш на дебаге. Я делал вот так: Поэтому полезно иметь дебаг версию P.S. Если что я спецом оставил ссылку, так как проверял в finalize, но лучше конечно сделать через локальную переменную для оптимизации
  18. raspberry Ошибка в пстор! Попробуйте удалить sim_default_csky_041812 . В fsm_options.script найдите строку с object_to_release = и поменяйте на object_to_release = "sim_default_csky_041812"
  19. andreyholkin Решил я потестить наконец-то пол часа. Ни разу не вылетел. Хотя я исправил функции вывода в лог. Можешь мне выслать свой билд и само сохранение где виснет через лч?
  20. В Lua переменные в pairs инициализируются прямо в заголовке цикла for key, value in pairs(table) do ... end. От ошибки это никак не поможет
  21. Проверяет есть ли скрипт! Если хочешь протеститровать заремь строку process_actions[rx_knife.actid_knife_attack] = true в rx_wmgr.script
  22. Это регистрация колбека object.aim_force_full1 Как сделал Bak так делать нельзя! Нужно это делать в движке и экпортировать в скрипты.
  23. Вообще никак не связано. Только если эта строка не будет в секции схемы смарткавера. Тогда нужно смотреть rx_knife.script Возможно там какая-та ошибка в эвалуаторе или в экшене Тут его сразу убивают. Возможно ошибка как раз в hit
  24. Frost_maul Нужен сейв и еще лог сюда скиньте

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования