Fatal error out of memory handler

Line 404

Questions

Line 404

Expression    : assertion failed
Function    : CActorCondition::UpdateTutorialThresholds
File        : E:stalkersourcestrunkxr_3daxrGameActorCondition.cpp
Line        : 404
Description    : ai().script_engine().functor<LPCSTR>(cb_name,fl)

Причина:

В _g.script есть набор колбеков, вызываемые движком. Это on_actor_psy, on_actor_radiation и т.д. Так вот вылет говорит о том, что один из таких колбеков не был найден.

Лечение:

Верните колбеки на место или верните дефолтный _g.script.

Line 406

Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:prog_repositorysourcestrunkxrCoreLocatorAPI.cpp
Line : 406
Description : hSrcFile!=INVALID_HANDLE_VALUE

При инициализации архива игра использует функцию WinAPI CreateFileA, при этом вызов выглядит примерно так:

hSrcFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0);

Если при этом функция вернула значение, равное INVALID_HANDLE_VALUE (т.е. вызов завершился неудачей), то возникает данный вылет. Наиболее вероятная причина — у вас отсутствуют права на чтение файла.

Line 408

Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:prog_repositorysourcestrunkxrCoreLocatorAPI.cpp
Line : 408
Description : hSrcMap!=INVALID_HANDLE_VALUE

После успешного открытия файла-архива, игра пытается спроецировать его в память. Для этого используется функция CreateFileMapping, вызов которой происходит следующим образом:

hSrcMap = CreateFileMapping(hSrcFile, NULL, PAGE_READONLY, 0,0, NULL)

Вылет происходит из-за того, что попытка проецирования файла закончилась неудачно, т.е. функция возвратила значение =INVALID_HANDLE_VALUE. Возможно, стоит увеличить размер файла подкачки.

Line 410

Expression    : assertion failed
Function    : CUILine::GetLength_inclusiveWord_1
File        : E:stalkerpatch_1_0004xr_3daxrGameuiUILine.cpp
Line        : 410
Description    : pos.word_1.exist()

Причина:

Это один из «старейших» вылетов в Сталкере ТЧ. В каком-то ui файле .xml динамично образуются «пустые» строки. Также не лишним будет проверить .xml файлы на наличие синтаксических ошибок или пустую строку текста или даже неправильный язык кодирования.
Также данный вылет возможен, когда в сообщение делаешь цветной текст и переносишь строку. Пример:

«Какой-нибудь текст.%c[255,0,200,0]\nСталкер.»

Если это произошло, «передвиньте» символ переноса следующим образом:

«Какой-нибудь текст.\n%c[255,0,200,0]Сталкер.»

И ещё, такой вылет, как говорили давно разработчики, связан с использованием «трейнеров».

[hr]

Expression : assertion failed
Function : CLocatorAPI::archive::open
File : D:prog_repositorysourcestrunkxrCoreLocatorAPI.cpp
Line : 410
Description : size>0

Вот так сюрприз — архив оказался пустым! То есть совсем пустым — размер файла в байтах равен нулю. Будьте в следующий раз аккуратнее с клавишей Delete и не открывайте без необходимости файлы для записи ;).
Переустановка игры должна исправить положение.

Line 422

Expression : sz<(tgt_sz-1)
Function : IReader::r_string
File : E:priquelsourcesenginexrCoreFS.cpp
Line : 422
Description : Dest string less than needed.

Я бы не сказал, что вылет достаточно редкий. Причина его — движок пытается скопировать исходную строку в буфер, а размер этого буфера меньше длины копируемой строки. Рано или поздно возникает у тех, кто любит писать в одну строку конфига ОЧЕНЬ много (больше 4К) символов. Например, он прекрасно знаком любителям хитроумных скриптов на подмену секций оружия, которые запихивают все их названия в mp_ranks

Line 424

[error]Expression : assertion failed
[error]Function : CResourceManager::_CreateTexture
[error]File : D:prog_repositorysourcestrunkLayersxrRenderResourceManager_Resources.cpp
[error]Line : 424
[error]Description : _Name && _Name[0]

Причина: может быть связанно с геометрией уровня (частично это подтверждается тем, что Свалка и Агропром (которые базируются на ЧН версии) работают сполне нормально, а вот Тёмная Лощина и Кордон (которые «вытянуты» из ТЧ) не запускаются и игра вылетает с этим логом).

Решение: Сменить рендер. Я такой вылет получил на DirectX 9.0c, на 9.0 и статическом освещении у меня его не было.

Line 426

Expression    : xml_doc.NavigateToNode(path,index)
Function    : CUIXmlInit::InitDragDropListEx
File        : E:stalkersourcestrunkxr_3daxrGameuiUIXmlInit.cpp
Line        : 426
Description    : XML node not found
Arguments    : dragdrop_knife

Причина:

Данный вылет, в отличии от аналогичного 172, говорит более конкретно — не хватает элемента слота, в данном случае для ножа, в файле inventory_new(16).xml. Раньше вылет был наверно следствие кривых рук, уж простите, сейчас же с появлением движковых правок добавляющих новые слоты вполне естественен.

Лечение:

Добавьте недостающий элемент по аналогии с имеющимися.

Line 462

Expression    : data
Function    : CVirtualFileReader::CVirtualFileReader
File        : E:stalkersourcestrunkxrCoreFS.cpp
Line        : 462
Description    : ...gamedatatextureswpnwpn_gauss.dds
Arguments    : Not enough storage is available to process this command

Причина:

Нехватка памяти для обработки указанной текстуры. Вместо текстуры может быть практически любой файл: звук, модель, all.spawn, файл геометрии локации и т.д.

Лечение:

Попробуйте загрузить последнее сохранение. Если не помогает — снизьте графические настройки игры.

Line 493

Expression    : Ran out of memory
Function      : CRender::texture_load
File          : D:prog_repositorysourcestrunkLayersxrRenderDX10dx10Texture.cpp
Line          : 493
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 )
Arguments     : d:s.t.a.l.k.e.r. - Зов Припятиgamedatatexturesvehveh_gaz_22.dds

Возникает рандомно и жалуется на любые текстуры, то бишь не на какую-нибудь конкретную свежедобавленную, а вообще на любые.

Причина: ?

Решение: ?

Есть подозрение, что движок вылетает при построении мипмапов (mipmaps — масштабных копий) текстур. Чтобы уменьшить кол-во занимаемой видеопамяти (и нагрузку на движок в целом) крайне рекомендуется делать текстуры с мипмапами. Даже если текстура одной размерности (н-р 512*512) без них, все равно движок строит масштабные копии сам (256*256 … и вплоть до 1*1). Попытки оптимизации текстур без учета этого, приводят к существенному росту нагрузки, вплоть до вылетов…

Line 502

Expression : fatal error
Function : CInifile::r_section
File : D:prog_repositorysourcestrunkxrCoreXr_ini.cpp
Line : 502
Description :
Arguments : Can't open section 'up_sect_fifthc_ak74u'. Please attach [*.ini_log] file to your bug report

Достаточно хитрая разновидность вылета в ЧНЗП, возникающая при попытке добавления нового апгрейда. Можно очень долго сидеть и чесать голову, почему из двух секций, расположенных рядом в одном файле, одна читается, а вторая — нет.

Лечение:
По умолчанию в ЧН/ЗП все конфиги апгрейдов необходимо инклудить в две(!) ветки. Первая берет начало в system.ltx, вторая — в item_upgrades.ltx.
Кроме того, можно заставить игру обходиться без инклудов файлов во вторую ветку. Для этого в файле inventory_upgrades.script необходимо найти строку

local char_ini = ini_file("item_upgrades.ltx")

и заменить её на

local char_ini = system_ini()

Line 508

Expression    : 0
Function    : CUICellContainer::FindFreeCell
File        : E:stalkerpatch_1_0004xr_3daxrGameuiUIDragDropListEx.cpp
Line        : 508
Description    : there are no free room to place item

Причина:

Попытка вставить в слот предмет который в этот слот не влезает, т.е. у предмета inv_grid_width и inv_grid_height больше чем слот.

Лечение:

Найти и исправить ошибку.

Line 525-527

Expression    : bone_id!=BI_NONE
Function    : SArtefactDetectorsSupport::SetVisible
File        : D:prog_repositorysourcestrunkxrGameArtefact.cpp
Line        : 525
Description    : link

Причина:

Неправильно указано имя кости для артефакта.

Лечение:

В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет. Решается конвертированием модели арта в .object, просмотром в SDK и выяснением имени косточки с занесением в конфиг. Если «не дружите» с SDK, то можете воспользоваться вот этим perl-скриптом: ссылка, распаковываете архив и кидаете .ogf файл на батник, появиться текстовый файл с весьма подробным описанием модели, где среди прочего будут имена костей.

[hr]

Expression : npos != comma1_pos
Function : CUILines::GetColorFromText
File : E:priquelsourcesenginexrGameuiUILines.cpp
Line : 525
Description : CUISubLine::GetColorFromText -- can't find first comma
Expression : npos != comma2_pos
Function : CUILines::GetColorFromText
File : E:priquelsourcesenginexrGameuiUILines.cpp
Line : 526
Description : CUISubLine::GetColorFromText -- can't find second comma
Expression : npos != comma3_pos
Function : CUILines::GetColorFromText
File : E:priquelsourcesenginexrGameuiUILines.cpp
Line : 527
Description : CUISubLine::GetColorFromText -- can't find third comma

Фактически, это — 3 разновидности одного вылета. Начать надо с того, что в игре существует возможность назначения цвета тексту путем специальной служебной последовательности символов внутри этого текста. Эта последовательность имеет вид %с[color], где color может быть либо текстовым названием цвета, либо четырьмя разделенными запятыми числами, задающими цвет в формате RGBA. Если цвет задан некорректно — то мы имеем счастье наблюдать один из вышеуказанных вылетов.

Лечение:
Найти некорректно заданный цвет, и исправить

P.S.Вообще, у этого вида вылетов долгая и захватывающая история. Как оказалось, почти ВСЕ строки в игре подвержены подобному «разукрашиванию». Не стали исключением и строки сообщений, отправляемые в чат игроками в мультиплеере. Из-за этого любой игрок получил возможность введением специальным образом заданного сообщения устроить на сервере вылет у всех игроков сразу.

Line 589

Expression    : assertion failed
Function    : CKinematicsAnimated::Load
File        : E:stalkersourcestrunkxr_3daSkeletonAnimated.cpp
Line        : 589
Description    : set_cnt<MAX_ANIM_SLOT

Причина:

В SDK в меню Motion в поле Motion reference присоединили больше массивов анимации, чем поддерживает движок. Для ТЧ это 3 массива, для ЧН/ЗП — 4 или 5( не проверено).

Лечение:

Исправить количество прописанных файлов анимации у модели посредством SDK.

Line 602

Expression    : fatal error
Function    : CKinematiicsAnimated::Load
File        : E:stalkersourcestrunkxr_3daSkeletonAnimated.cpp
line        : 602
Description    : <no expression>
Arguments    : Can't find motion file 'monsterszombi_animation.omf'

Причина:

Игра не может найти указанный файл с анимациями.

Лечение:

Проверьте правильность написание имени файла и его пути. Либо найдите и удалите/исправьте модель, которая использует данный файл анимаций.

Line 748

Expression    : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
Line        : 748
Description    : ...gamedatascriptsxxx.script:<номер_строки>: attempt to index global 'имя_функции|имя_файла' (a nil value)

Причина:

Если в ошибке указано имя функции, то игра не может определить данную функцию в указанном файле. Причин на это три: либо её действительно нет; либо её имя написано с ошибкой; либо в некоторых случаях, функция находится ниже по коду от того места, где идёт её вызов.
Если же в ошибке указано имя файла, то либо файла не существует (возможно неправильное имя файла), либо в указанном файле синтаксическая ошибка.

Лечение:

Найти и исправить ошибку.

[hr]

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
Line : 748
Description : ...- copgamedatascriptsui_si.script:383: attempt to perform arithmetic on a string value
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
Line : 748
Description : ...- copgamedatascriptsui_si.script:383: attempt to compare string with number

Причина:
В одном из скриптов Вы пытаетесь выполнять арифметические операции со строкой либо сравнивать её с числом .

Лечение:
Возможно, вы забыли вызвать tostring, либо вместо операции ‘..’ (конкатенация строк) использовали ‘+’ (сложение чисел).
Если ничего из вышеописанного вы не делали, то так как LUA — язык с динамической типизацией, вполне возможно, что что-то изменило тип вашей переменной

Уточнение:

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
Line : 748
Description : ...- copgamedatascriptsui_si.script:383: attempt to call global 'qwe' (a nil value)

Возможен и такой вариант вылета при отсутствующей функции

[hr]

Вылет ЗП:

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
[error]Line          : 748
[error]Description   : ...l.k.e.r. - Зов Припятиgamedatascriptsutils.script:355: attempt to perform arithmetic on local 't_pos' (a nil value)

stack trace:
0023:69737365 DINPUT8.dll

Причина: как правило, ошибки в описаниях анимаций в точках look вей-поинтов.

Лечение: внимательность, внимательность и еще раз внимательность…

Line 764

Expression : error handler is invoked!
Function : handler_base
File : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line : 764
Description : application is aborting

Возникает на этапе загрузки игры.

Возможная причина:
Что-то намудрили с анимациями объекта. Возможно, число костей в объекте не соответствует числу костей в анимации (например, прописан путь к чужому ОМФу). Также может возникать, если перемудрить с настройками костей в АЕ.
Кроме того, если нам посчастливится (например, я наблюдал это при попытке экспортить ОМФ с худовыми анимациями рук с использованием «родной» ЧНовской их модели, пропущенной через всем известным «конвертер всего и вся»), то можем увидеть такое:

Expression : fatal error
Function : mem_usage_impl
File : E:priquelsourcesenginexrCorememory_usage.cpp
Line : 156
Description :
Arguments : bad node in heap

и даже такое:

Expression : fatal error
Function : out_of_memory_handler
File : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line : 336
Description :
Arguments : Out of memory. Memory request: 4063232 K

Кстати, вызывать вылеты «Out of memory» может и некорректно собранный игровой db-архив. Причина может быть в файлах, подвергшихся паковке. Например, будем получать вылет по памяти при попытке упаковать файлы револьвера GP100 из Gosuke Weapon Mod для ЧН. Другой пример — когда-то давно в ТЧ мной было замечено подобное поведение при попытке подсунуть игре db-шники с «чужой» локалью.

Лечение:
Будьте внимательнее.

Line 815

Expression : error handler is invoked!
Function : invalid_parameter_handler
File : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line : 815
Description :

Возможно повреждение игрового архива (например, возникнет, если «забыть» указать entry_point в хидере)

[hr]

[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
[error]Line          : 815
[error]Description   : 

Причина: вылет скорее всего связан с функцией формирования лога игры, и может возникать по разным причинам, но чаще всего 
когда в какую то движковую функцию был передан nil или же когда в конфиге указаны пустые значения.

 
Пример #1: Вызвать движковую функцию установки метки на карту, и забыть этой функции передать текст с описанием (nil)
Пример #2: В конфиге предмета указать пустое имя «inv_name = » — при попытке взять предмет появиться вылет.
Лечение: найти источник вылета и устранить его.

Line 946

Expression : fatal error
Function : WinMain
File : D:prog_repositorysourcestrunkxrEnginex_ray.cpp
Line : 946
Description : <no>
Arguments : stack overflow

Жук появляется сразу после проверки диска,где зелёная заставка, т.е игра даже не включается.

Причина
Накопление очень большого объёма сейвов (У меня их было 1600,или же 3200 файлов,т.е 1.6 гигабайта(!))

Решение

удалите ПОЧТИ все свои сейвы,оставьте штуки 2-3,что бы продолжить играть.

Привет всем! Игра S.T.A.L.K.E.R., а конкретно сам движок X-Ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра «вылетает». Чтобы мы знали причину вылета, движок нам оставляет лог вылета. Лог вылета можно посмотреть несколькими способами:

  • В текстовом редакторе нажать Ctrl+V (Вставить)
  • Посмотреть лог игры включая лог вылета в файле xray_имя_пользователя.log в папке C:Documents and SettingsAll UsersДокументыSTALKER-***logs
  • Посмотреть непосредственно в окне багтрекера (только в ЧН и ЗП).

Ну приступим. Начнём с простых:


Expression    : wave&&wave->length()
Function      : CSoundRender_Source::LoadWave
File          : E:stalkerpatch_1_0004xrSoundSoundRender_Source_loader.cpp
Line          : 65
Description   : Can't open wave file:
Arguments     : d:stalkergamedatasoundsmusicsound.ogg

Здесь игра не может открыть звуковой OGG-файл под названием sound в папке d:stalkergamedatasoundsmusic


Expression    : fatal error
Function      : CRender::texture_load
File          : E:stalkerpatch_1_0004xr_3daxrRenderTexture.cpp
Line          : 295
Description   : <no expression>
Arguments     : Can't find texture 'actact_corp_monolit'

Не может найти текстуру act_corp_monolit из папки texturesact


Expression    : fatal error
Function      : CModelPool::Instance_Load
File          : E:stalkerpatch_1_0004xr_3daxrRenderModelPool.cpp
Line          : 111
Description   : <no expression>
Arguments     : Can't find model file 'physicsmesh.ogf'.

Не найдена трёхмерная OGF-модель mesh.ogf из папки meshesphysics.


Expression    : SG
Function      : CRender::model_CreateParticles
File          : E:stalkerpatch_1_0004xr_3daxrRender_R2r2.cpp
Line          : 330
Description   : Particle effect or group doesn't exist
Arguments     : hit_fxhit_water_00

Не найдена система частиц (партикл) hit_water_00 в директории hit_fx файла particles.xr (подробно опишу позже).


Expression    : !m_bAutoRemove
Function      : CParticlesObject::Init
File          : D:prog_repositorysourcestrunkxrGameParticlesObject.cpp
Line          : 50
Description   : Can't set auto-remove flag for looped particle system.
Arguments     : snow_stepsstep

Не установлен интервал (время) проигрывания группы/эффекта партиклов. В Particle Group -> End Time(s) укажите время, через которое частицы должны исчезнуть. Заодно проверьте particle effect -> Kill Old -> Age limit.


Expression    : fatal error
Function      : CResourceManager::_GetBlender
File          : E:stalkerpatch_1_0004xr_3daResourceManager.cpp
Line          : 49
Description   : <no expression>
Arguments     : Shader 'modelsantigas_glass' not found in library.

Не найден шейдер modelsantigas_glass в библиотеке шейдеров.


Expression    : fs
Function      : CResourceManager::_CreateVS
File          : E:stalkerpatch_1_0004xr_3daResourceManager_Resources.cpp
Line          : 185
Description   : shader file doesnt exist
Arguments     : d:stalkergamedatashadersr2deffer_impl_flat.vs

Тут проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем Draft. Нужно скачивать исправление шейдеров от товарища Haron.
Для ЗП (ЧН) это может ещё быть из-за отсутствия thm-ок для текстур террейна уровня!


Expression : fatal error
Function : out_of_memory_handler
File : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line : 336
Description : <no expression>
Arguments : Out of memory. Memory request: 55965 K 

Нехватка оперативной памяти.


[error]Expression : assertion failed
[error]Function : CBuild::Load
[error]File : .Build_Load.cpp
[error]Line : 98
[error]Description : B.dwMaterialGame<65536

Неправильно настроены шейдеры. В настройках шейдера, во вкладке R2-A поставьте текстуру, которая вдальнейшем будет накладываться
на террейн.


Expression : fatal error
Function : CInifile::r_string
File :E:stalkersourcestrunkxrCoreXr_ini.cpp
Line : 352
Description : <no expression>
Arguments : Can't find variable ammo_mag_size in [wpn_addon_grenade_launcher]

Не найдена переменная ammo_mag_size в секции [wpn_addon_grenade_launcher].


Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : D:xray-svnxr_3daxrGamescript_engine.cpp
Line          : 74
Description   : <no expression>
Arguments     : LUA error: C stack overflow

Переполнение стека. Смотрим внимательно: lua_error. Ошибка, возможно, в скриптах.


Expression : vertex || show_restrictions(m_object)
Function : CPatrolPathManager::select_point
File : E:stalkersourcestrunkxr_3daxrGamepatrol_path_manager.cpp
Line : 155
Description : any vertex in patrol path [sniper_3_walk] in inaccessible for object [stalker_0002]

Какая то вершина (вейпоинт) пути sniper_3_walk стоит в неположенном месте (например не на аи-сетке). Объект stalker_0002 (в данном случае сталкер) который якобы двигался по пути sniper_3_walk попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.

То же самое произойдет если координаты(вейпоинт) пути sniper_3_walk совпадет с координатами места, где НПС запрещено находиться, будь то рестриктор или аномалия в схеме обхода аномалий.
Также этот вылет наблюдается при попытке отправить НПС за пределы места работ параметр out_rest = «имя_рестриктора» в файле загрузки работ гулага. Попробуйте любого сталкера из лагеря новичков отправить, допустим, к остановке — получите этот самый вылет.


Expression : e_entity
Function : xrServer::Process_event_reject
File : E:stalkersourcestrunkxr_3daxrGamexrServer_process_event_reject.cpp
Line : 12
Description : entity not found. id_parent=7540 id_entity=44047 frame=2075050

Возникают иногда произвольно при смерти неписей. Причина — движок, отрабатывая лут, изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет.


Expression : fatal error
Function : CScriptEngine::lua_error
File : D:xray-svnxr_3daxrGamescript_engine.cpp
Line : 74
Description : <no expression>
Arguments : LUA error: e:stalkergamedatascripts_g.script:20: bad argument #2 to 'format' (string expected, got no value)

Ошибка распространённая. На первый взгляд кажется, что ошибка как раз в скриптах, но всё может быть иначе. В одной из пиратских версий игры этот вылет наблюдается особенно часто из-за криво модифицированного файла «XR_3DA.exe». Если же вы уверены, что у вас лицензионная версия игры, можно попробовать сделать так: открываем файл _g.script блокнотом, закомменчиваем 20 строку (ставим перед строкой —) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ.

Участник: Призрак: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, так как nil передается в эту функцию только при каком-то форс-мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(«load «..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil. Возможность такового вылета из — за слишком быстрой скорости актера, слишком высокому прыжку. (Редактировать: config/creatures/actor.ltx)


Expression    : assertion failed
Function      : _VertexStream::Lock
File          : E:stalkerpatch_1_0004xr_3daR_DStreams.cpp
Line          : 44
Description   : (bytes_need<=mSize) && vl_Count

Проблема возникает при убийстве НПСмутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форуме.


Expression    : fatal error
Function      : IRender_Visual::Load
File          : E:stalkerpatch_1_0004xr_3daFBasicVisual.cpp
Line          : 58
Description   : <no expression>
Arguments     : Invalid visual

Неправильный визуал (модель) НПС.


Expression    : !phrase_dialog->m_PhraseVector.empty()
Function      : CPhraseDialog::SayPhrase
File          : E:stalkerpatch_1_0004xr_3daxrGamePhraseDialog.cpp
Line          : 140
Description   : No available phrase to say, dialog[esc_dialog]

В диалоге esc_dialog нет доступной для отображения фразы (скажем, все заткнуты инфопоршенами).


Expression    : motion_ID.valid()
Function      : CKinematicsAnimated::ID_Cycle
File          : D:prog_repositorysourcestrunkLayersxrRenderSkeletonAnimated.cpp
Line          : 210
Description   : ! MODEL: can't find cycle:
Arguments     : death_init

Игра не нашла в модели трёхмерную анимацию с именем death_init.


Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...hadow of chernobylgamedatascriptsxr_danger.script:116: attempt to index field 'ignore_types' (a nil value)

Причина вылета в том что игра не понимает значения 0 в danger_ignore.Проще говоря в логике какого то персонажа параметр danger_ignore = 0 либо в минусовом значении. Либо его вообще нету

P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.


Expression    : fatal error
Function      : CInifile::r_string
File          : E:stalkerpatch_1_0004xrCoreXr_ini.cpp
Line          : 352
Description   : <no expression>
Arguments     : Can't find variable class in [test_no_klass_npc]

Не найден класс персонажа. Возможно, НПС не прописан под своим классом в gamedatanpc_profile.xml, либо в creaturesspawn_section.ltx, либо в gameplaycharacter_desc.xml


Expression    : fatal error
Function      : CInifile::r_section
File          : E:stalkerpatch_1_0004xrCoreXr_ini.cpp
Line          : 342
Description   : <no expression>
Arguments     : Can't open section 'bandage_test_kick1'

Игра не может найти секцию. Это может быть предмет, НПС и многое другое. Возможно, вы написали название с ошибками. Либо когда добавляли его в: продажу, скрипт, НПС , выпадение из НПС, а в редких случаях это может быть иммунитет чего либо(определить потом трудно). Часто такое бывает связано с названием секции.


Expression    : fatal error
Function      : CInifile::r_string
File          : E:stalkerpatch_1_0004xrCoreXr_ini.cpp
Line          : 352
Description   : <no expression>
Arguments     : Can't find variable remove_time in [vehicle_btr]

Не найдена переменная remove_time в секции [vehicle_btr]. А в данном случае ошибка в том что если вы делали предмет как физическую модель(то бишь, которую нельзя использовать, говорить и вообще он похож на декорации типа деревьев, столов и прочего хлама) то необходимо указывать remove_time в его секции.


Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...dow of chernobylgamedatascriptstest_kick.script:34: attempt to call method 'section' (a nil value)

Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту.


Expression    : rpoints[0].size()
Function      : game_sv_Deathmatch::Create
File          : D:prog_repositorysourcestrunkxrGamegame_sv_deathmatch.cpp
Line          : 99
Description   : rpoints for players not found

На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0


Expression    : fatal error
Function      : xrServer::Process_update
File          : E:stalkerpatch_1_0004xr_3daxrGamexrServer_process_update.cpp
Line          : 37
Description   : <no expression>
Arguments     : Beer from the creator of 'WP_SHOTG'

Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженных патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.


Expression    : fatal error
Function      : CInifile::r_string
File          : D:prog_repositorysourcestrunkxrCoreXr_ini.cpp
Line          : 477
Description   : <no expression>
Arguments     : Can't find variable bound_rect in [level_map]

Такой лог бывает когда подключаешь локацию из ТЧ в ЗП. Причина проста — в ЗП уровнях файл строчка bound_rect пишется в файле gamedatalevelsимя_уровняlevel.ltx, а в ТЧ строка bound_rect для каждого уровня непосредственно в файле gamedataconfiggame_maps_single.ltx …

Исправить просто, нужно изменить файл gamedatalevelsимя_уровняlevel.ltx в подключенной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture.


Expression : hGame
Function : CEngineAPI::Initialize
File : E:stalkerpatch_1_0004xr_3daEngineAPI.cpp
Line : 65
Description : Game DLL raised exception during loading or there is no game DLL at all

Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча.


Expression    : assertion failed
Function      : CInventory::Eat
File          : E:stalkersourcestrunkxr_3daxrGameInventory.cpp
Line          : 892
Description   : pIItem->m_pCurrentInventory==this

Вылет встречается только на 6 патче при попытке хаванья из трупа. Ищите, исправленную Kolmogor’om, xrGame.dll в Интернете


[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : E:stalkersourcestrunkxrCorexrDebugNew.cpp
[error]Line          : 804
[error]Description   : 

Данный вылет бывает когда у какого либо из объектов установлено некорректное значение (читал, сам не получал его)
Или же если данный вылет происходит при вызове класса, то проблема в том что в методе __init() класса прописано super()


Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:prog_repositorysourcestrunkxrServerEntitiesscript_storage.cpp
Line : 748
Description : d:stalker copgamedatascriptsbind_stalker.script:231: attempt to index global 'ИМЯ_ФАЙЛА' (a nil value)

Вылет происходит в двух случаях — когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.


Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:stalkersourcestrunkxr_3daxrGamescript_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: attempt to call a nil value

Происходит при попытке вызвать класс, которого не существует


Небольшой пример из практики по определению ошибки в особых случаях(для начинающих):
Игра зависла, картинка на экране не меняется, на Ctrl + Alt+ Delete не реагирует. Только «Холодная перезагрузка» reset. Но при этом обычно в логе нет записи и обычным Ctrl + V ошибку не увидеть.
Я пользуюсь программой Punto Switcher. Есть в ней опция «дневник», она ведёт запись всех нажатий клавиш и по нажатию сочетаний клавиш содержимое памяти может записывать в дневник.
теперь когда игра зависла и картинка на экране не меняется, нажимаете Ctrl + Alt+ Delete. Внешне ничего не изменится, но ОС будет реагировать
на клавиши, нажимаете сочетание клавиш «записать в дневник». Делаете перезагрузку, открываете дневник — Ваша ошибка записана.
«дядя Саша»


Expression    : bone_id!=BI_NONE
Function      : SArtefactDetectorsSupport::SetVisible
File          : D:prog_repositorysourcestrunkxrGameArtefact.cpp
Line          : 525
Description   : link

Возникает при создании или добавлении чужих артефактов. В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет. Решается конвертированием модели арта в .object, просмотром в sdk и выяснением имени косточки с занесением в конфиг.


Expression    : error handler is invoked!
Function      : invalid_parameter_handler
File          : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line          : 815
Description   : bad argument #3 to 'format' (string expected, got no value)

Вылет заканчивающийся строкой, то что выше не указываю роли не играет, здесь роль играет только «bad argument #3». Если это появилось значит у Вас ошибка в файле с расширением .ltx (обращаю внимание, не путать с файлами .script), которая находится между [….] квадратными скобками в файле. Это может быть секция предмета, секция логики, секция пути файла way_, т.е. там где присутствуют квадратные скобки.


Expression    : cross_table().header().level_guid() == level_graph().header().guid()
Function      : CAI_Space::load
File          : D:prog_repositorysourcestrunkxrGameai_space.cpp
Line          : 113
Description   : cross_table doesn't correspond to the AI-map

Скорее всего, отсутствует файл level.ai. Возможно после правки уровня в SDK и компиляции AI, вы забыли его скопировать в папку уровня. Важно помнить, что level.ai нужно обновлять для всех уровней, а не только для тех, которые подвергались правке.


Безлоговый вылет

Вылет, при котором лог отсутствует. Причины такого вылета:

1. Безлоговые вылеты бывают в основном из-за завышенных настроек видео.

Решение:
В папке с игрой открыть папку gamedata, папку config, в ней файл alife, открыть любым текстовым редактором (блокнотом, или лучше word pad’ом) и найти строку switch distance = и изменить значение на 5, сохранить изменения. Это только одна (не сильно вероятная) причина безлогового вылета. если вы знаете ещё одну причину, пожалуйста напишите здесь.

2. Вторая причина неправильно указано название пути в логике НПС или он полностью отсутствует в файле way_ all.spawn. Вылетать будет когда дойдёт время до спавна этого НПС.

3. Также, безлоговые вылеты происходят из-за ошибок в диалогах.



  • Автор статьи — Pihan13
  • Дополнительный справочник «вылетов» игры

Не стесняемся — дополняем, если знаем о чём идёт речь.

Для поиска по страничке используйте Ctrl+F

xrAI

! AI-node [87.500, 9.188, 160.300] not connected to AI-map
 
FATAL ERROR
 
[error]Expression    : error_nodes.empty()
[error]Function      : CGameGraphBuilder::check_fill
[error]File          : X:xrayutilsxrAIgame_graph_builder.cpp
[error]Line          : 273
[error]Description   : Some ai-node is not connected to AI-map. See log for details.

Одна (или множество) нод не соединены с остальной ИИ-сеткой. Не допускайте создания отдельных островков нод, всегда соединяйте их с основной ИИ-сеткой, и удаляйте отдельно стоящие и вырожденные ноды (в ЛЕ выделяются красным) нажатием кнопки Select 0-Link на панели AI Map и клавиши Delete на клавиатуре.


[error]Expression    : F
[error]Function      : xrLoad
[error]File          : .compiler_load.cpp
[error]Line          : 272
[error]Description   : x:gamedatalevelsescapebuild.aimap

В папке с уровнем gamedatalevelescape отсутствует build.aimap
Нужно экспортировать ИИ-карту из LevelEditor: Compile->Make AI Map


[error]Expression    : assertion failed
[error]Function      : CGameGraphBuilder::save_cross_table
[error]File          : .game_graph_builder.cpp
[error]Line          : 351
[error]Description   : graph().header().vertex_count() > tCrossTableCell.tGraphIndex

На карте отсутствуют точки графа. Нужно добавить хотя бы одну: Spawn Element -> AIgraph point и экспортировать level.game: Compile -> Make Game


! Cannot build GAME path! (object esc_tutorial_wounded0826)
! CURRENT LEVEL : escape
! CURRENT game point position : [-146.011078][-20.711269][-147.502380]
 
FATAL ERROR
 
[error]Expression    : I != levels().end()
[error]Function      : GameGraph::CHeader::level
[error]File          : f:projecthomestalkerborschtsrc_enginexrayxrgamegame_graph_inline.h
[error]Line          : 153
[error]Description   : there is no specified level in the game graph : 205

Такая ошибка возникла после того, как была прервана компиляция ИИ-сетки. Видимо, испортился игровой граф, нужно перекомпилировать его (xrAI -f)


[error]Expression    : assertion failed
[error]Function      : CVertexAllocatorFixed<2097152>::CDataStorage<struct CVertexPath<1>::DataStoragePath<struct CVertexManagerFixed<unsigned int,unsigned int,8>::VertexManager<struct CDataStorageSingleLinkedList<0>::SingleLinkedList<struct CDataStorageDoubleLinkedList<0>::DoubleLinkedList<struct CDataStorageBucketList<unsigned int,unsigned int,8192,0>::BucketList<struct CDijkstra<float,struct CDataStorageBucketList<unsigned int,unsigned int,8192,0>,struct CVertexManagerFixed<unsigned int,unsigned int,8>,struct CVertexAllocatorFixed<2097152>,1,struct CVertexPath<1>,struct AStar::_Vertex<float,class CEmptyClassTemplate>::_vertex,struct CBuilderAllocatorConstructor,struct CManagerBuilderAllocatorConstructor,struct CDataStorageConstructor,unsigned int>::_Vertex>::_vertex>::_vertex>::_vertex>::_vertex>::_vertex>::create_vertex
[error]File          : x:clearskysrcengineutilsxraivertex_allocator_fixed_inline.h
[error]Line          : 51
[error]Description   : m_vertex_count < reserved_vertex_count - 1

Эту ошибку можно обойти ключом -no_separator_check

По какой причине она вообще возникает и не допустить её возникновения?


[error]Expression    : !m_border.empty()
[error]Function      : CSpaceRestrictorWrapper::build_border
[error]File          : .space_restrictor_wrapper.cpp
[error]Line          : 215
[error]Description   : space restrictor has no border
[error]Arguments     : esc_zone_mine_gravitational_weak_0009

Аномалия расположена не на ИИ-сетке.


[error]Expression    : assertion failed
[error]Function      : CGraphMerger::CGraphMerger
[error]File          : xr_graph_merge.cpp
[error]Line          : 621
[error]Description   : M != (*K).second->m_tVertexMap.end()

Одной из точек графа для перехода между уровнями задана связь с другой, несуществующей (или с несуществующим именем). При возникновении такой ошибки в первую очередь стоит проверить наличие собственно точки графа на уровне через Object List в режиме Spawn, затем наличие ИИ-сетки под ней, и уж в последнюю очередь настройки.

Красные строки в логе

! level_path().failed() during navigation

Путь непися пролегает через пространство, где неадекватно соединены ноды ИИ-сетки. Нужно правильно соединить ноды.

Редакторы

Expression    : assertion failed
Function      : IReader::advance
File          : x:clearskysrcenginexrcoreFS.h
Line          : 276
Description   : (Pos<=Size) && (Pos>=0)

Такой вылет был, когда в папке с СДК оказался левый .xdb-архив.

Игра

[error]Expression    : false
[error]Function      : CXml::Load
[error]File          : xrXMLParser.cpp
[error]Line          : 87
[error]Description   : XML file:textrusst_quests_escape.xml value: errDescr:Error reading end tag.

В указанном файле ошибка синтаксиса: где-то не закрыт тег.


Expression    : m_attack_animation.valid()
Function      : CVisualZone::net_Spawn
File          : E:priquelsourcesenginexrGameZoneVisual.cpp
Line          : 34
Description   : object[esc_burning_fluff_strong]: cannot find attack animation[] in model[dynamicsanomaliesburning_fluff_01]

На карте присутствует динамическая модель, у которой предусмотрена, но не задана анимация атаки. Нужно задать её в LevelEditor’е в свойствах спаун-объекта в поле Attack animation.


[error]Expression    : motion_ID.valid()
[error]Function      : CKinematicsAnimated::ID_Cycle
[error]File          : ..xrRenderSkeletonAnimated.cpp
[error]Line          : 208
[error]Description   : ! MODEL: can't find cycle: 
[error]Arguments     : death_init

Не найдена анимация с именем death_init. Возможно, к модели не подключен нужный .omf


[error]Expression    : BI_NONE!=f_bones.back()
[error]Function      : P_build_Shell
[error]File          : C:projectsxray15xrayxrGamePhysicsShell.cpp
[error]Line          : 136
[error]Description   : wrong fixed bone

Имя кости, используемой для фиксации модели, отличается от указанного в соответствующем поле LE. Например, в модели кость носит имя link1, а для физического объекта в редакторе уровней было указано имя link.


[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : C:projectsxray15xrayxrServerEntitiesscript_engine.cpp
[error]Line          : 192
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:gamedatascriptsph_door.script:36: attempt to index field 'joint' (a nil value)

Ошибка возникла, когда в модели двери все кости имели тип rigid. Но для двери или ворот хотя бы одна кость должна иметь тип joint, чтобы дверь могла открываться.


Expression    : fs
Function      : CResourceManager::_CreateVS
File          : E:priquelsourcesengineLayersxrRenderResourceManager_Resources.cpp
Line          : 203
Description   : shader file doesnt exist
Arguments     : x:gamedatashadersr2deffer_impl_lmh_bump-hq.vs

Expression    : R
Function      : CResourceManager::_CreatePS
File          : E:priquelsourcesengineLayersxrRenderResourceManager_Resources.cpp
Line          : 309
Description   : x:gamedatashadersr2deffer_impl_lmh_bump.ps

Конкретно эти ошибки вылезают в ЧН при попытке запуска на втором рендере, если геометрия уровня скомпилирована на низких настройках.
Чтобы игра не валилась, нужно подсунуть те файлы, что она хочет. Доподлинно неизвестно, что должно было быть в этих шейдерах, так что по ссылке .ps/.vs с обычными инклюдами внутри.


[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:priquelsourcesenginexrServerEntitiesscript_engine.cpp
[error]Line          : 180
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:gamedatascripts_g.script:973: bad argument #2 to 'format' (string expected, got nil)

Самый мерзкий и жопошный вылет, который указывает только на то, что игра вылетела, но не на причину креша. Возникает потому, что в релизной версии игры разрабы отрубили команды log и assert. В качестве костыля можно использовать такие решения: [1], [2]


[error]Expression    : !save_guid || (*save_guid == header().guid()) || ignore_save_incompatibility()
[error]Function      : CALifeSpawnRegistry::load
[error]File          : E:priquelsourcesenginexrGamealife_spawn_registry.cpp
[error]Line          : 110
[error]Description   : Saved game doesn't correspond to the spawn : DELETE SAVED GAME!

Файл сохранения не соответствует спавну, нужно пересобрать спавн. Можно обойти ключом -ignore_save_incompatibility, в таком случае спавн будет соответствовать учтённому в сохранении.


[error]Expression    : cross_table().header().level_guid() == level_graph().header().guid()
[error]Function      : CAI_Space::load
[error]File          : ai_space.cpp
[error]Line          : 110
[error]Description   : cross_table doesn't correspond to the AI-map

Аналогично предыдущему вылету: данные из спавна не соответствуют новой ИИ-сетке. Нужно пересобрать спавн.


Expression : fatal error
Function : out_of_memory_handler
File : .xrDebugNew.cpp
Line : 318
Description : <no expression>
Arguments : Out of memory. Memory request: 3506347 K

Движок пытается прочесть какой-то левый архив или просто файл с расширением сталкирского архива (*.db, *.xdb). Подробности тут

Симуляция

[error]Expression    : m_path
[error]Function      : CPatrolPathParams::CPatrolPathParams
[error]File          : patrol_path_params.cpp
[error]Line          : 19
[error]Description   : There is no patrol path
[error]Arguments     : esc_hit_point

На уровне отсутствует точка пути esc_hit_point.

! [LUA][ERROR] ERROR: There is no kamp path in smart[esc_pigsty_ruins_st_01]

В лагере отсутствуют точки пути с постфиксом _kamp_N. Нужно добавить как минимум одну _kamp_N и _kamp_N_task, где N — порядковый номер от 1.


! [LUA][ERROR] ERROR: Insufficient smart_terrain jobs test_smartterrain

В лагере трётся слишком много народу. Нужно либо уменьшить количество групп (faction_*.ltx), либо уменьшить количество персонажей в группе (squad_descr_*.ltx), либо (что правильнее) создать в смарте дополнительные работы, чтобы бездельники смогли их занять.


[error]Expression    : vertex || show_restrictions(m_object)
[error]Function      : CPatrolPathManager::select_point
[error]File          : patrol_path_manager.cpp
[error]Line          : 155
[error]Description   : any vertex in patrol path [esc_south_checkpoint_st_patrol_2_walk] is inaccessible for object [sim_default_military_00323]

Похоже, что точки пути patrol находятся вне рестриктора, накрывающего смарт, и неписи не могут попасть на работу. Нужно расширить рестриктор, чтобы он накрывал эти точки.


! [LUA][ERROR] ERROR: 'Attempt to read a non-existant string field 'npc' in section 'esc_flesh_generic'

Не очень вразумительный лог, который в одном из случаев указывал на то, что в faction_monster.ltx в секции [start_position] указано имя, которое не существует в squad_descr_*.ltx.


[error]Expression    : vertex || show_restrictions(m_object)
[error]Function      : CPatrolPathManager::select_point
[error]File          : patrol_path_manager.cpp
[error]Line          : 155
[error]Description   : any vertex in patrol path [esc_granary_st_kamp_1_task] is inaccessible for object [sim_default_bandit_00413]

Такая ошибка была, когда одной из аномалий в пределах смарта задали тип рестриктора OUT. При этом путь esc_granary_st_kamp_1_task состоит из одной точки, и совершенно точно не входит в шейп аномалии. Нужно объяснение.


! [LUA][ERROR] ERROR: object 'esc_wolf' configuration file [logicescwolf.ltx] NOT FOUND or section [logic] isn't assigned

В конфиге персонажа отсутствует секция [logic], или же отсутствует сам конфиг. Однако была ситуация, когда такой вылет возникал из-за того, что в настройках смарта дублировалась ссылка на этот конфиг в секции эксклюзивных работ.


[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : ..xrServerEntitiesscript_engine.cpp
[error]Line          : 192
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:gamedatascriptssim_faction_brain_mutant.script:90: attempt to index field '?' (a nil value)

Такая ошибка вылезла, когда на карту был добавлен спейсрестриктор без каких-либо настроек.


[error]Expression    : level_graph->valid_vertex_id(m_level_vertex_id)
[error]Function      : CPatrolPoint::verify_vertex_id
[error]File          : C:xrayxrGamepatrol_point.cpp
[error]Line          : 46

! Patrol point wp00 in path esc_atp_st_guard_4_walk is not on the level graph vertex!

Точка пути находится не на ИИ-сетке. Необходимо либо подвинуть точку, либо проложить ноды ИИ-сетки под ней. Такую ошибку можно увидеть лишь в отладочной сборке, в релизной же выдаётся лог ниже.


[error]Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
[error]Function      : CALifeSwitchManager::add_online
[error]File          : X:xrayxrGamealife_switch_manager.cpp
[error]Line          : 64
[error]Description   : Invalid vertex for object
[error]Arguments     : sim_default_military_1_sniper1561

Сам по себе лог малоинформативен и указывает лишь на то, что персонаж оказался вне ИИ-сетки. Причиной этого вылета может быть то, что точка пути (вейпойнт), на которой заспавнился персонаж, находится не на ИИ-сетке. См. описание выше.

Сетевая игра

[error]Expression    : rpoints[0].size()
[error]Function      : game_sv_Deathmatch::Create
[error]File          : game_sv_deathmatch.cpp
[error]Line          : 101
[error]Description   : rpoints for players not found

На карте отсутствуют точки респавна для игроков.

FATAL ERROR

Цитата

[error]Expression : fatal error
[error]Function : X:stalker_addonsourcestrunkeditorsLevelEditorEditELight.cpp
[error]File : X:stalker_addonsourcestrunkeditorsLevelEditorEditELight.cpp
[error]Line : 126
[error]Description : <no expression>
[error]Arguments : THROW

Причина: данный вылет происходит в основном на СДК 0.7. Причина: освещение на локациях ТЧ несколько отличается от ЗП.

Лечение: удалить файл light.part из папки с уровнем по адресу rawdata/levels/ваша_локация.

Прим: как создать освещение снова: в СДК переключаемся на вкладку light и добавляем его в любое место на карте, после откроем вкладку glow и добавте рядом с лайтом glow текстуру (когда вы ёё добавите, перед вами будет белый прямоугольник, надо назначить текстуру нашему глоу, лучший вариант это glow_04.dds).
Вылет происходит когда в gamedat-e СДК слишком много текстур или они не правельно распределенны по папкам.

Цитата

[error]Expression : assertion failed
[error]Function : X:stalker_addonsourcestrunkxrCoreFS.h
[error]File : X:stalker_addonsourcestrunkxrCoreFS.h
[error]Line : 278
[error]Description : (Pos<=Size) && (Pos>=0)

Причина: в папке текстур есть неверные тшм файлы, не соответствующие размеру текстуры.


Лечение: просто нажмите «Продолжить».

Цитата

Expression : assertion failed
Function : CGraphMerger::CGraphMerger
File : D:prog_repositorysourcestrunkutilsxrAIxr_graph_merge.cpp
Line : 597
Description : tpGraphs.size()

Причина: возникает из-за того, что локация не прописана в конфигах.


Лечение: прописать локацию в конфигах(game_graphs, game_levels, game_map_single).
 

Цитата

Expression : fatal error
Function : out_of_memory_handler
File : D:prog_repositorysourcestrunkxrCorexrDebugNew.cpp
Line : 336
Description : <no expression>
Arguments : Out of memory. Memory request: 81 K

Причина: не хватает оперативной памяти.


Лечение: попробуйте закрыть все окна, программы(кроме компилятора) и повторите операцию. Если не помогло, то надо докупать оперативы в магазине.
 

Цитата

Expression : THM
Function : CBuild::Load
File : D:prog_repositorysourcestrunkutilsxrLCBuild_Load.cpp
Line : 317
Description : f:x-ray cop sdkeditorsgamedatatexturesglowfx_volume1.thm

Причина: нет thm файла нужной текстуры.


Лечение: положить thm файл текстуры (в данном случае fx_volume1.thm) по адресу gamedata/textures/папка_вашей_где_лежит_ваша_текстура.
 

Цитата

Expression : fatal error
Function : CBuild::PreOptimize
File : D:prog_repositorysourcestrunkutilsxrLCxrPreOptimize.cpp
Line : 137
Description : <no expression>
Arguments : * FATAL: 1 invalid faces. Compilation aborted

Причина: кривой полигон на объекте.


Лечение: отредактировать объект в 3D редакторе (3Ds max) или скачать компиляторы от Андрея Непряхина в которых можно обойти инвалит фейсы.
 

Цитата

* New phase started: Verifying level graph
stack trace:

001B:0041C693 xrAI.exe

Причина: не скомпилированна АИ сетка на локации.

Лечение: скомпилировать АИ сетку. smile


 

Цитата

[error]Expression : BT.pSurface
[error]Function : xrLoad
[error]File : D:xray-svnxrLCxrDO_Lightcompiler.cpp
[error]Line : 306
[error]Description : Can’t load surface

Причина: не достаёт много thm текстур.

Лечение: аналогично, как и с Description : f:x-ray cop sdkeditorsgamedatatexturesglowfx_volume1.thm

Прим: см. лог компилятора и добавляйте нужные thm текстуры.


 

Цитата

..Export skeleton geometry (Compute bone bounding volume…)
Bone ‘root’ has invalid shape.
Bone ‘connectbone01’ has invalid shape.
Bone ‘connectbone02’ has invalid shape.
Export failed.

Причина: неправильно выбраны кости для экспорта модели.

Лечение: Когда будете выбирать кости и делать Generate Shape, выбирайте только те кости, к которым есть привязка. В данном случае, выберите все кости, кроме тех что указаны в сообщении ошибки, т.е. root, connectbone01, connectbone02.


 

Цитата

Surface [T:’beltstal2′, S:’modelsmodel’] has UV tiled more than 32 times.
Surface [T:’beltplast_z1′, S:’modelsmodel’] has UV tiled more than 32 times.
..Export skeleton geometry
..Export skeleton geometry (Make Progressive…)
..Export skeleton geometry (Compute bone bounding volume…)
Export complete.


Причина: UV map модификатор у моделей превышает допустимые пределы, либо он не был применён вовсе.

Лечение: Уменьшите UV map, либо примените UV map.

Источник: AMK team.ru


Изменено 31 июля, 2020 пользователем Холод

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Fatal error opening dependency file dep main o d no such file or directory
  • Fatal error online session interface missing please make sure steam is running
  • Fatal error onewire h no such file or directory
  • Fatal error one or more table pointers are invalid modification could be unsafe
  • Fatal error u1073

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии