Fatal error
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: . ow of chernobyl\gamedata\scripts\bind_stalker.script:400: attempt to concatenate field ‘?’ (a nil value)
кто скажет мне решение этой проблемы-тот получит от меня печенку!
вроде бы это обозначает, что в файле bind_stalker.script на 400 строке ошибка, не указан какой то параметр.
ясен пень. Нужен способ исправления.
тогда ничем помочь не могу.
Игра пиратка/лицензия? Переустановка не помогает?
Какая переустановка. Я те чо, лoх какой-нить? Я вылеты привык лечить!
А позволь спросить что за вылит из-за чего и почему?
Макс Плохих-Эксперт
Инфы больше дай. То, что лог есть это гуд. Но этого мало.
А позволь спросить что за вылит из-за чего и почему? [2]
Игра с модом(и) или без? Похоже, что Народная Солянка.
Взято с http://www.amk-team.ru/forum/index.php?showtopic=7904
ПРОБЛЕМА:
Вылет в Лабиринте, битые сейвы
Код
FATAL ERROR
[error]Line : 73
[error]Description :
[error]Arguments : LUA error: . 2\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:651: attempt to concatenate field ‘?’ (a nil value) [error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description :
[error]Arguments : LUA error: . s\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:687: attempt to concatenate field ‘?’ (a nil value)
РЕШЕНИЕ:
Предположительно, битые сейвы — из-за сбитых вертексов на локациях.
Исправлено в «Fix0-01 Правка вертексов на основных локациях».
Ставить «Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)» (вкл. правку Arhara по сбитым вертексам на основных локациях).
Если не помогло — попробовать переигрывание локации с автосейва или с ближайшего до захода на локацию (после установки патча)
Script engine cpp line 73
Игра не понимает значения 0 в danger_ignore. Проще говоря в логике какого-то персонажа параметр danger_ignore равен нулю, либо он отрицателен, либо его вообще нету. Также может быть причина в том, что у какого-то в логике что-то неправильно указано в секции danger.
Для исправления рекомендую перед 116 строкой (номер строки может отличаться) дописать следующий код:
get_console():execute(self.object:name())
То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: . \gamedata\scripts\.script:34: attempt to call method 'section' (a nil value)
Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту. Часто такое возможно, когда к серверному объекту применяют клиентские методы и наоборот.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: . w of chernobyl\gamedata\scripts\.script:: attempt to perform arithmetic on a nil value
Попытка выполнения арифметической операции над nil.
Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка выполнения арифметической оперции над nil происходит именно в ней.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: . \gamedata\scripts\.script:: attempt to compare number with nil
Попытка сравнения числа с nil.
Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка сравнения числа с nil происходит именно в ней.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: . \gamedata\scripts\.script:: attempt to perform arithmetic on field '?' (a nil value)
Попытка получить значение таблицы по ключу nil.
Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка получения значения по ключу nil происходит именно в ней.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: error in error handling
Причину вылета назвать достаточно трудно, вероятно это что-то глубоко движковое. Такой вылет может вызывать передача клиенсткого объекта в функцию switch_offline.
В случае передачи клиентского объекта — устранить ошибку. Но определить причину в большинстве случаев крайне проблематично — попробуйте загрузить последнее сохранение.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: attempt to call a nil value
Происходит при попытке вызвать конструктор класса, которого не существует.
Expression : fatal error Function : CScriptEngine::lua_error File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: C stack overflow
Ошибка также может появиться со строкой 74. Переполнение стека. Смотрим внимательно: lua_error. Ошибка возможно в скриптах.
Загрузка последнего сохранения.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: No such operator defined
Попытка использовать для какого-то объекта, несуществующий метод. Зачастую путаница с серверными и клиентскими метода.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: . \gamedata\scripts\.script:: unfinished capture
Единственной причиной данного вылета которую я нашёл, это попытка использовать для функции string.find в качестве шаблона «волшебный символ» открывающуюся круглую скобку, т.е. попытка найти скобку таким образом:
Для поиска открывающейся круглой скобки используйте параметр plain для данной функции со значением true, он выключает возможность поиска по шаблону и в таком случае производится поиск подстроки как есть:
local p = string.find(str, "(", 1, true)
[error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : [error]Arguments : LUA error: . ing\s.t.a.l.k.e.r\gamedata\scripts\inv_system.script:1674: attempt to call function 'GetCommand_TakeSlot' (a nil value) stack trace:
Казалось бы, причина ясна — вызов функции, которой не существует. Однако функция есть, и называется именно так, и с ней все в порядке. как и с самим файлом скрипта тоже — в нем нет синтаксических ошибок, игра не ругается на него самого, заявляя что он ‘a nil value’
Причина оказалась вот в чем. В начале скрипта, есть таблица, такого вида:
а далее есть еще одна таблица. вот такого вида:
то есть, значения ее — функции. а ключами являются значения из первой таблицы.
Ну так вот. в первой таблице поменял имя одного из ключей. А во второй — забыл это сделать. Получилось что во второй таблице, одна из функций находится по ключу, который вообще то равен nil.
А причем же тут та функция, которую мы вызывали, и вылетели с нею в лог? да вообще ни при чем, она просто находилась в том же файле ниже по тексту.
Вывод — когда делаете в таблицах ключи вида массив/модуль.значение — убедитесь что это значение не равно nil ) а то сталкер об этом нормально не скажет.