Closed Im-dex closed 7 years ago
Appeared since 7d36860e7e7f8062bd129d4ea6b879a420c9fcf8 It seems as yet another issue with LuaJit 2.0.4
If that helps, we do not have this issue on OpenXRay, that's somehow fixed.... P.S. but we have issue with sleep UI - it crashes. That crash related to new LuaJIT too.
@Xottab-DUTY Thanks for notice. It's pretty strange, but I have no issues with sleep ui, it works well.
У меня после обновления LuaJIT вообще ориг.локи перестали запускаться :) Так и забил на них...
Обычно баги такого рода случаются, когда по тихому ломается Lua. (зависания биндеров и прочие чудеса) В оригинальном сталкере (по крайнем мере в релизном билде) любые скриптовые ошибки luabind-а (НЕ синтаксические, а например переданные неверные типы) заглушаются, что практически всегда приводит к тому, что определённый скрипт или биндер объекта останавливается, пока остальные продолжают работать.
Проще всего проверить в меню через UI в скриптах - в любом удобном месте модифицировать вызов любой экспортированной из движка функции, например передав ей nil, больше\меньше аргументов, или другой объект в качестве параметра. В оригинальной игре такие ошибки при вызове движковых функций просто зависают скрипт.
В OpenXRay после перехода на новый LuaBind все ошибки такого рода сразу приводят к вылету. Что именно за это отвечает, я к сожалению сказать не могу. Нужно смотреть где перехват ошибок в движке происходит. (CScriptEngine или как то так). Возможно сам luabind надо пересобрать с другими define-ами, чтобы он бросал\не бросал исключения при ошибках.
Ещё можно попробовать в void CScriptEngine::setup_callbacks() (название класса из OpenXRay, в оригинале может отличаться) включить вызов luabind::set_pcall_callback (он define-ом MASTER_GOLD закрыт). М.б тогда проявится причина ошибки.
@ShokerStlk Спасибо за информацию, попробую поковырять отладочный билд.
Хм... А действительно, надо полазить. Спасибо, Шокер! Если и правда получиться, стоит на gameru упомянуть.
Если кто-то таким образом найдёт как восстановить обратную совместимость со скриптами GSC (в чём у OpenXRay проблемы), то мы будем очень рады. :)
I believe this bug is solved with ForserX's repo, in particular, the changes to Level.cpp and Level_Network.cpp in xrGame. I've been on Jupiter for a while now with no crashes.
But I have enough other bugs in scripts, get out rarely and accidentally. But they are very easy to correct.
Ставь 2.0.5, у меня с переходом на него баги Луа ушли.
@ForserX Хм, интересно. Попробую обновить, спасибо.
It seems to be fixed
Azot's dialog doesn't start.