3vtiger | Дата: Четверг, 05.05.2016, 10:09 | Сообщение # 1 |
Line от 51 до 100 Line 51-100 Expression : fatal error Function : CStringTable::Load File : E:\stalker\sources\trunk\xr_3da\xrGame\string_table.cpp Line : 53 Description : Arguments : string table xml file not found ui_st_pda.xml, for language rus Причина: Вместо rus может быть eng, но суть проблемы остаётся неизменной - в файле localization.ltx в строке language указано название папки (rus в данном случае) в config\text из которой будет браться текст, так вот в этой папке не найден указанный файл (ui_st_pda.xml). Лечение: Если добавляли свой файл локализации - проверьте правильно написания имени и наличие файла в нужной папке. Если устанавливали мод - переустановите его. Expression : fatal error Function : CObjectItemSingle File : e:\stalker\patch_1_0004\xr_3da\xrgame\object_item_single_inline.h Line : 54 Description : Arguments : Cannot instantiate server object, because server class is not declared! Причина: Переводчик даёт вполне адекватное определение. Но на самом деле вылет происходит по причине неопределённого состояния объекта, когда ему установлены оба флага для разрешения перехода в онлайн и оффлайн одновременно. Лечение: Найти и исправить ошибку. Expression : fatal error Function : IRender_Visual::Load File : E:\stalker\patch_1_0004\xr_3da\FBasicVisual.cpp Line : 58 Description : Arguments : Invalid visual Причина: Ошибка модели какого-то объекта. Лечение: Найти объект и либо исправить модель, либо заменить, или же удалить сам объект. Expression : W==1 Function : CFileWriter::w File : e:\stalker\patch_1_0004\xrcore\FS_internal.h Line : 63 Description : Can't write mem block to file. Disk maybe full. Arguments : Invalid argument Причина: Переполнение дисковой памяти. Коварность данного вылета заключается в том, что часто вылет происходит в момент сохранения игры, и в результате сэйв будет битым. Лечение: Освободите место на диске, если не помагает обычная загрузка последнего рабочего сохранения. Expression : fatal error Function : CBlender_default::Compile File : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R1\BlenderDefault.cpp Line : 63 Description : Arguments : Not enought textures for shader, base tex: путь/до_текстуры Причина: Запуск модели/локации, на которой есть такая модель, не важно стат./динам. модель, на dx8, т.е статическом освещении. Возможно, из-за шейдера, его текстуры в настройке. Лечение: Разберусь, скажу точнее, а пока - запускать на освещении выше статики, любом динамическом, dx9, dx10, dx11. Expression : fatal error Function : CBlender_default::Compile File : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R1\BlenderDefault.cpp Line : 63 Description : Arguments : Not enought textures for shader, base tex: veh\veh_mi2 Причина: Проблемы с шейдерами - у меня был такой влет только на статическом освещении из за объекта локации с шейдером default. Лечение: Заменить шейдер default на другой, например, на def_shaders\def_vertex. Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID) Function : CALifeSwitchManager::add_online File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_switch_manager.cpp Line : 64 Description : Invalid vertex for object Arguments : af_gravi22016 Причина: Объект, в данном случае артефакт, заспавнился (перешёл в online) за пределами АИ сетки. Лечение: Если Вам нужно просто пройти какой-то момент в игре, то можете попробовать уменьшить радиус A-Life, посредством параметра switch_distance, пройти проблемный участок, а затем вернуть первоначальное значение параметра. Если же вы хотите избавиться от вылета, перебирайте объекты перед выходом в online и ищите нужный объект. Expression : wave&&wave->length() Function : CSoundRender_Source::LoadWave File : E:\stalker\patch_1_0004\xrSound\SoundRender_Source_loader.cpp Line : 65 Description : Can't open wave file: Arguments : ...\gamedata\sounds\music\sound.ogg Причина: Игра не может открыть звуковой OGG-файл под названием sound в папке gamedata\sounds\music\. Лечение: Проверяйте наличие файла, правильность написания пути и имени файла. Expression : hGame Function : CEngineAPI::Initialize File : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp Line : 65 Description : Game DLL raised exception during loading or there is no game DLL at all Причина: Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0006 xrGame.dll от другого патча. Лечение: Если нет резервных копий, то вероятнее всего потребуется переустановка игры. Expression : ovi->rate==44100 Function : CSoundRender_Source::LoadWave File : E:\stalker\sources\trunk\xrSound\SoundRender_Source_loader.cpp Line : 72 Description : Invalid source rate: Arguments : ...\gamedata\sounds\characters_voice\new_voice\novikov\talk\neutral_greeting\greeting_1.ogg Причина: Указанный звуковой файл имеет неправильные свойства или настройки. Лечение: Убедитесь в правильности настройки звукового файла. 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\xr_danger.script:116: attempt to index field 'ignore_types' (a nil value) Причина: Игра не понимает значения 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 в качестве шаблона "волшебный символ" открывающуюся круглую скобку, т.е. попытка найти скобку таким образом: local p = string.find(str, "(") Лечение: Для поиска открывающейся круглой скобки используйте параметр plain для данной функции со значением true, он выключает возможность поиска по шаблону и в таком случае производится поиск подстроки как есть: local p = string.find(str, "(", 1, true) 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: ...ing\s.t.a.l.k.e.r\gamedata\scripts\inv_system.script:1674: attempt to call function 'GetCommand_TakeSlot' (a nil value) Казалось бы, причина ясна - вызов функции, которой не существует. Однако функция есть, и называется именно так, и с ней все в порядке. как и с самим файлом скрипта тоже - в нем нет синтаксических ошибок, игра не ругается на него самого, заявляя что он 'a nil value' Причина оказалась вот в чем. В начале скрипта, есть таблица, такого вида: tbl = { string_key1 = number, string_key2 = number, ... а далее есть еще одна таблица. вот такого вида: tb_funcs = { [tbl.string_key1] = function(args...) ... end, ... то есть, значения ее - функции. а ключами являются значения из первой таблицы. Ну так вот. в первой таблице поменял имя одного из ключей. А во второй - забыл это сделать. Получилось что во второй таблице, одна из функций находится по ключу, который вообще то равен nil. А причем же тут та функция, которую мы вызывали, и вылетели с нею в лог? да вообще ни при чем, она просто находилась в том же файле ниже по тексту. Вывод - когда делаете в таблицах ключи вида массив/модуль.значение - убедитесь что это значение не равно nil ) а то сталкер об этом нормально не скажет. Expression : fatal error Function : CScriptEngine::lua_error File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp Line : 74 Description : Arguments : LUA error: ...\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) Причина: Обычная причина этих вылетов – передача некорректных значений родным функциям игры. Эти ошибки обычно возникают когда произошёл какой-то серьёзный сбой, и о таких вылетах желательно сообщать разработчикам. Если такой вылет случился желательно так же сбросить текст выше строки FATAL ERROR из лога. Если же этот вылет у вас происходит при загрузке сейва – сбросьте его разработчикам мода с логом вылета. Лечение: Необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(string.gsub(fmt, " ", "_")) После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil. Expression : fatal error Function : CPostprocessAnimator::Load File : E:\stalker\patch_1_0004\xr_3da\xrGame\PostprocessAnimator.cpp Line : 76 Description : Arguments : Can't find motion file 'amk_shoot.ppe'. Причина: Игра не может найти указанный файл постпроцесса. Лечение: Проверяйте наличие файла, правильность написания пути и имени файла. Expression : g_uiSpotXml->NavigateToNode(path_base,0) Function : CMapLocation::LoadSpot File : E:\stalker\patch_1_0004\xr_3da\xrGame\map_location.cpp Line : 78 Description : XML node not found in file map_spots.xml Arguments : sleep_pointer Причина: Игра не может найти в указанном файле (map_spots.xml) указанный элемент (sleep_pointer). Лечение: Найти и исправить ошибку. Expression : source Function : CPHSkeleton::Spawn File : E:\priquel\sources\engine\xrGame\PHSkeleton.cpp Line : 80 Description : no source Причина: Свойства cse_ph_skeleton properties у НПС в all.spawn Лечение: НПС взят из all.spawn GSC, после редактирования локации (изменение геометрии и АИ-сетки) в собранном спавне, нпс заспавненные GSC оказались проблемными, т.к. вызывали вылет. У всех у них было: (значения могут отличаться) ; cse_ph_skeleton properties skeleton_name = 5 skeleton_flags = 2 source_id = 0x2 А у новых, заспавненных мной НПС, этого не было. Поэтому просто удалите эти строчки. Expression : assertion failed Function : CSafeFixedRotationState::create File : e:\stalker\sources\trunk\xr_3da\xrgame\phvalidevalues.h Line : 81 Description : dBodyStateValide(b) Причина: Как правило - при попытке зомбировании неписей контролером, но не только. Также может появиться при неправильной настройки костей модели. Ещё может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался. Лечение: В случае кривой модели - определить модель и исправить, для этого достаточно обратно перегнать в СДК, настроить все шейпы, и обратно в ogf. В случае со скриптом - найти и избавиться от ошибки. Expression : false Function : CXml::Init File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp Line : 87 Description : XML file:gameplay\game_tasks.xml value : err Descr :Error reading end tag. Причина: В указанном файлe, в данном случае gameplay\game_tasks.xml, не соответствуют открывающийся и закрывающийся теги. Лечение: Найти и исправить ошибку. Для этого в помощь придёт любой браузер. Откройте указанный файл через него, он поможет локализовать место ошибки. Expression : false Function : CXml::Init File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp Line : 87 Description : XML file:gameplay\dialogs_escape.xml value: err Descr : Error reading Attributes. Причина: В указанном файле неправильно заданы атрибуты какого-то тега. Зачастую это написанное значение атрибута на русском языке. Лечение: Найти и исправить ошибку. Для этого в помощь придёт любой браузер. Откройте указанный файл через него, он поможет локализовать место ошибки. Expression : xml_doc.NavigateToNode(path,index) Function : CUIXmlInit::InitWindow File : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp Line : 87 Description : XML node not found Arguments : global_wnd Причина: В одном из .xml файлов отсутствует один общий тег для всех элементов. Например, если в файле encyclopedia.xml удалить теги window и /window, то появится именно такая ошибка. Лечение: Найти и исправить ошибку. Expression : ai().game_graph().header().levels().end() != I Function : CALifeGraphRegistry::setup_current_level File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_graph_registry.cpp Line : 91 Description : Graph point level ID not found! Причина: В версии за 10.09.08 аивраппера бардака, если соединять новые левелы, level_changer'ы(переходы между уровнями) нормально не работали, в последующей версии это исправлено. Вы забыли добавить в геймдату файл game.graph. В спавне указан несуществующий game_vertex_id. Лечение: Найти и исправить ошибку. Expression : m_available_count Function : CID_Generator::tfGetID File : e:\priquel\sources\engine\xrgame\id_generator.h Line : 92 Description : Not enough IDs Причина: В игре закончились идентификаторы. В игре может быть НЕ БОЛЕЕ 65534 объектов. Видимо, у Вас на создавалось столько, как - это другой вопрос. Лечение: Почистить игру от лишних объектов. Expression : pm->m_animations.size() Function : player_hud_motion_container::load File : D:\prog_repository\sources\trunk\xrGame\player_hud.cpp Line : 92 Description : motion not found [aks74u_shootr] Причина: Игра не может найти анимацию худовой модели оружия, указанную в худовой секции в одном из параметров вида anm_*. Лечение: 1) Проверить название указанной анимации на наличие опечаток 2) Убедиться, что путь к визуалу худа в параметре item_visual прописан правильно 3) Убедиться, что анимация с указанным названием действительно существует в соответствующем OGF или OMF файле 4) Убедиться, что в случае использования отдельного OMF-файла для хранения анимаций Вы не забыли его в АЕ СДК подключить к модели. Частный случай вылета: Expression : pm->m_animations.size() Function : player_hud_motion_container::load File : D:\prog_repository\sources\trunk\xrGame\player_hud.cpp Line : 92 Description : motion not found [idle] При детальном рассмотрении конфига видим, что нигде данное название анимации не прописано. Причина: Дело в том, что в ЧН\ЗП для худа используется две модели: рук и оружия. Когда мы прописываем им общую анимацию, движок в анимациях оружия сначала пытается найти указанную. Если это не удается - то пытается воспроизвести анимацию с названием idle. Если и эта его попытка оказывается безуспешной - вылетает с выше обозначенным логом. Лечение: Есть 2 варианта: а) Добавить для оружия анимацию с названием idle. б) Явно задать в конфиге названия реально существующих для модели оружия анимаций. Expression : false Function : CGameGraph::distance File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h Line : 96 Description : There is no proper graph point neighbour! Причина: Некий мутант или непись заспавнился в некорректном месте. Причина этого в том, что А-лайф спавнит их в некотором произвольном радиусе от точки спавна, что позволяет каждый раз спавн разнообразить. К сожалению, иногда он умудряется поместить живность в точку снаружи уровня – под землю или в стену, или заспавненый объект проваливается под уровень. Лечение: Обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место. Expression : start_node && path Function : CXml::NavigateToNode File : E:\stalker\sources\trunk\xrXMLParser\xrXMLParser.cpp Line : 97 Description : NavigateToNode failed in XML file Arguments : gameplay\alex_mod_dialogs.xml Причина: В указанном файле в одном из диалогов игра не может найти первую фразу. Запомните, первые фразы во всех диалогах должны быть с id равными нулю! Лечение: Найти и исправить ошибку. |
|