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
Причина: не скомпилированна АИ сетка на локации.
Лечение: скомпилировать АИ сетку.
Цитата
[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 пользователем Холод
