Цей метод може допомагати виявити деякі стабільні чи нестабільні (якщо у вас терпіння вистачить) безлогові вильоти. Сам користуюся методом, що часто допомагає. Скажу відразу, цей метод тільки для скриптерів, решта не зрозуміє, що в лозі написано. Отже, змінюватимемо функцію printf() у файлі _g.script . Дивимося її і наводимо до такого вигляду:
function printf ( fmt,... ) local con = get_console ( ) con: execute ( string . gsub ( string . format ( fmt,... ) , " " , "_" ) ) con: execute ( "flush" ) end
Таким чином, у лог примусово пишеться вся інформація, що йде в консоль у процесі гри.
Запускаємо гру та граємо/завантажуємо сейв. Гра гальмуватиме, тому що в балку йде дуже багато інформації. Робимо нашу чорну справу, при якій вилітаємо, та й ловимо виліт. Дивимося лог і бачимо, що в ньому залишилася остання дія.
Після виявлення вильоту нам потрібно все повернути назад, щоб гра не гальмувала та не засмічувала балку. Просто закоментуємо рядки з execute , щоб було так:
function printf ( fmt,... ) --local con = get_console() --con:execute(string.gsub(string.format(fmt,...), " ", "_")) --con: execute("flush") end
Ось, у принципі, і все.
До речі, таким чином можна дізнаватися причини вильотів з логом, що лається на _g.script.
Ось спосіб для Тіні Чорнобиля: https://stalker-news.info/forum/skrypty-tch/vazhlyvo-vyiavlennia-prychyny-vylotu-bez-lohu-pid-chas-testuvannia-modu-tch/