Информация от Верховного Шамана мода OGSE KamikaZze (инфа сталкерам для понимания что и из-за чего происходит вылет) + дополнения1)
Вылеты при нехватке памяти:Симптом: любой вылет со ссылкой на "out of memory" или аналогично "insufficient resources available" или "no more data is available". Кроме того, некоторые вылеты с "Can't open section" тоже могут быть связаны с нехваткой памяти.
Причина: STALKER – игра крайне требовательная к ресурсам, она перегружена даже в чистом виде, и в особенности некоторые карты – Кордон, Тёмная Долина, Армейские Склады, Припять. При этом совершенно НЕ ИМЕЕТ ЗНАЧЕНИЯ сколько у вас оперативной памяти! Для процессов 32-битной версии Виндовс доступная память ограничена 2 Гб и не больше.
Лечение: снизьте качество текстур, или в особо тяжких случаях, перейдите на статичное освещение. Кроме того, можно попробовать играть с опцией командной строки " -noprefetch". Эту опцию без кавычек можно вбить в свойства ярлыка сталкера через пробел сразу за ссылкой на экзешник игры. Если же вы играете на Висте, можно попробовать играть, запустив сначала команду "bcdedit /SetIncreaseUserVA 2700", залогинившись с административными правами.
2)
Вылеты рендера:Симптом:Код
stack trace:
001B:0188B3B6 xrRender_R1.dll
or
001B:02C09EE6 xrRender_R2.dll
Причина: это проблема с видеодрайвером, связанная с тем, что игра передала функции драйвера неверные данные или возможно подвисшим потоком обработки видеоданных...
Лечение: хорошо в этом вылете то, что он обычно только временная проблема, и лечится простой загрузкой с последнего сейва. Основная локация таких вылетов – Янтарь, они часто случаются к северо-востоку от бункера экологов.
3)
Вылеты с потерянным игрой или уничтоженным оружиемСимптом примерно такой:Код
FATAL ERROR
[error]Expression : e_entity
[error]Function : xrServer::Process_event_reject
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
[error]Line : 12
[error]Description : entity not found. id_parent=1350 id_entity=1312 frame=11471
stack trace:
Scheduler tried to update object lvl_community_respawn_xxxxx (e.g., esc_soldier_respawn_11350)
Причина: этот вылет обычно возникает когда оружие свежеубитого непися уничтожено или покинуло уровень (провалилось сквозь землю) в тот момент когда его хотел подобрать другой непись или главгерой
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает.
4)
Вылеты с боем сейвов – большей частью исправлены в патче 1.0004, но могут возникать и в 1.0005Симптом примерно такой:Код
stack trace:
xrGame.dll
xrGame.dll
или ошибка "Can't open section"
Причина: Сейвгейм повреждён. Это например может произойти в том случае, когда игра уничтожила труп, но не очистила точку на карте, привязанную к нему. Вы также получите эту проблему если увидели в логе строку вида:
Код
"- Critical: SMapLocation binded to non-existent object id=xxxxx"
Её, впрочем очень легко пропустить, так как она обычно пролетает в логе намного, намного раньше того момента, как вы попробуете загрузить побитый в результате сейв. Пропадания трупов такого рода часты в модах или на Арене, однако не менее часто они происходят когда аномалия, например сильная Гравии разрывает труп.
Лечение: в этом случае придётся искать более раннее сохранение, где эта проблема ещё не возникла.
5)
Некорректное место спавна:Симптом примерно такой:Код
! Cannot build GAME path! (object m_tushkano_normal21511)
! CURRENT LEVEL : l10_radar
! CURRENT game point position : [376.978180][-51.199860][29.992897]
FATAL ERROR
[error]Expression : I != levels().end()
[error]Function : GameGraph::CHeader::level
[error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h
[error]Line : 171
[error]Description : there is no specified level in the game graph : 96
stack trace:
Scheduler tried to update object m_tushkano_normal21511
... или что-то вроде вот этого ...
Код
FATAL ERROR
[error]Expression : false
[error]Function : CGameGraph::distance
[error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h
[error]Line : 96
[error]Description : There is no proper graph point neighbour!
stack trace:
Причина: некий мутант или непись заспавнился в некорректном месте. Причина этого в том, что А-лайф спавнит их в некотором произвольном радиусе от точки спавна, что позволяет каждый раз спавн разнообразить. К сожалению, иногда он умудряется поместить живность в точку снаружи уровня – под землю или в стену, или заспавненый объект проваливается под уровень.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.
6)
Некорректное место спавна – второй вариант:Симптом примерно такой:Код
! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
stack trace:
001B:01E59454 xrGame.dll
001B:01E5E8A4 xrGame.dll
001B:01E5E584 xrGame.dll
Причина: непись или мутант перешёл в онлайн в неудачном месте, и не может найти выход чтобы пойти в точку назначения. Игра использует для навигации существ сеть квадратов, соединённых между собой, однако некоторые из них изолированы друг от друга. Например камни на границе карты, или места на другой высоте чем точка назначения.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.
7)
Вылеты вида «Bad argument #2 to 'format'» или аналогичныеСимптом примерно такой:Код
FATAL ERROR
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp
[error]Line : 74
[error]Description : <no>
[error]Arguments : LUA error: e:\stalker\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)
stack trace:
Причина: обычная причина этих вылетов – передача некорректных значений родным функциям игры. Эти ошибки обычно возникают когда произошёл какой-то серьёзный сбой, и о таких вылетах желательно сообщать разработчикам. Если такой вылет случился желательно так же сбросить текст выше строки FATAL ERROR из лога.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. Если же этот вылет у вас происходит при загрузке сейва – сбросьте его разработчикам мода с логом вылета.
8)
Редкий родной вылет 1: CTheoraSurfaceСимптом:Код
stack trace:
001B:004BCFBC XR_3DA.exe, CTheoraSurface::`vftable'()
001B:0298C084 xrGame.dll
001B:02994577 xrGame.dll
Причина: случается когда вы просматриваете в ПДА контакт в тот момент когда он переключается в оффлайн.
Лечение: обычно достаточно просто загрузить последний сейв.
9)
Редкий родной вылет 2: CKinematicsAnimatedСимптом:Код
stack trace:
001B:00451CE8 XR_3DA.exe, CKinematicsAnimated::ID_Cycle_Safe()
Причина: обычно связан с отработкой физики и анимации. Если происходит стабильно на каком-то специфичном персонаже – сообщите разработчикам.
Лечение: обычно достаточно просто загрузить последний сейв.
10)
Редкий родной вылет 3: ParticleManagerСимптом:Любой вылет со ссылкой на ParticleManager.
Причина: обычно происходит при воспроиведении частиц – дыма костров, огня, стрельбы и т.д.
Лечение: во многих случаях помогает обновление драйверов видеокарты
11)
Две или более ошибки друг за другомСимптом:Код
[error][183] : Cannot create a file when that file already exists.
Причина: обычно это просто две одинаковых ошибки, произошедших одновременно
Лечение: в логе обычно есть и первая ошибка из серии. Разбирайтесь с ней так, как описано выше для ошибок этого вида.
12)
Ошибки пути или маршрутовСимптом примерно такой:Код
Expression : ai().level_graph().valid_vertex_id(vertex->data().level_vertex_id())
Function : CPatrolPathManager::select_point
File : E:/stalker/patch_1_0004/xr_3da/xrGame/patrol_path_manager.cpp
Line : 164
Description : patrol path[mil_mercs_walker_3_walk], point on path [name07],object [ros_killer_respawn_230016]
Причина: в игре даже пропатченной до версии 1.0005 всё ещё есть проблемы с маршрутами.
Лечение: обычно достаточно просто загрузить последний сейв и не сохраняться рядом с местами, где происходят такие вылеты.
13)
Вылеты типа:Код
Expression : error handler is invoked!
Function : invalid_parameter_handler
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 800
Description :
Expression : error handler is invoked!
Function : invalid_parameter_handler
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 804
Description :
Причина: подобный вылет говорит о том, что в игре инициализируется некий объект у которого в параметрах присутствует некорректное значение (например нулевое).
Лечение: искать в конфигах некорректно прописанную строку. Ошибка очень редка и без рабочего сейва, на котором эта ошибка воспроизводится, устранить ее не представляется возможным.
14)
Ошибки типа:Код
Line : 12
Description : e_parent && e_entity
или
Line : 804
Expression : error handler is invoked!
Они известны, но корни которых уходят в движок, конфиги, текстуры...
Такие ошибки встречаются в любом моде и в оригинале и не воспроизводятся.
15)
Ошибки типа "_g.script:22":- это только факт вызова принудительного прерывания из-за возникновения ошибки/проблемы в каком-то из скриптов и вызывается искусственно!
- если этот флаг-ошибка возникла (т.е. вылет игры по _g.script) то следует не "мазать зеленкой" нарыв а лечить! Т.е. смотреть строки над секцией [FATAL ERROR], в которых как правило указан источник и причина ошибки, и искать/исправлять/...
16)
Ошибка: xr_logic:pstor_load_all:not_registered_type_N=[ХХХ]_encountered- следствие того, что какой-то объект при запуске игры/сэйва не был до конца инициализирован и при следующей записи сэйва не были записаны его данные. При чтении этого же сэйва этот непрописанный предмет все одно начинает читаться и ... считываются данные не предназначенные для него. Это приводит к некорректным значениям и соответственно прерыванию игры.
Если такие сейвы есть и они с игры начатой на новых фиксах - стОит их дать в разработку. Такие объекты нужно искать и искать причины их недоинициализации.
17)
Прямо над строкой в логе: "ВНИМАНИЕ!_Игра_принудительно_прерывается!"При данном типе ошибок всегда присутствует строка типа:
Код
"info~>xr_logic:pstor_load_all:obj=[prapor_mafon],id=[5818],var[)=[<nil>],type=[244]< -?:(23/3286163456):<Error!>"
В которой указан и конкретный 'виновник" (в данном случае:
obj=[prapor_mafon]) и явно странная
'кракозяба': var[)=[] и странная запись:
type=[244] на которую в нижних строках у ссылается причина прерывания. Все это говорит о запорченной информации, которую игра пытается загрузить.
18)
Вылет типа:Код
FATAL ERROR
[error]Expression : false
[error]Function : CGameObject::ef_detector_type
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\GameObject.cpp
[error]Line : 857
[error]Description : Invalid detector type request, virtual function is not properly overridden!
[error]Arguments : C_HLCP_S
stack trace:
Пояснение: 'C_HLCP_S' - это что-то вертушка заплуталась в Темной долине... Встречается подобное, хотя о-о-чень редко, поэтому до сих пор не отловлено.
19)
Вылет типа:Код
Expression : e_entity
Function : xrServer::Process_event_reject
File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line : 12
Description : entity not found.
Пояснение: ошибка 1.0004 патча. Исправляется установкой более новой версии патча для ТЧ.
20)
Вылет типа:Код
FATAL ERROR
[error]Expression : fatal error
[error]Function : CInifile::r_string
[error]File :E:\stalker\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 352
[error]Description : <no expression>
[error]Arguments : Can't find variable ammo_mag_size in [wpn_addon_grenade_launcher]
Лечение: не сохраняйтесь с нестандартными подствольными гранатами в подствольниках автоматов и в Бульдоге + не оставляйте в нычках/рюкзаках/ящиках оружие с заряженными в подствольники гранатами.
21)
Вылет по вертексам:Код
FATAL ERROR
[error]Expression : vertex || show_restrictions(m_object)
[error]Function : CPatrolPathManager::select_point
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp
[error]Line : 155
[error]Description : any vertex in patrol path [rostok_sniper_3_walk] in inaccessible for object [rostok_stalker_0002]
Проблемы самой игры. Мод не причем. Это конечная точка пути какого-то НПС или монстра совпадает с точкой появившейся аномалии (одна логика наложилась на другую логику, вот и вылет из-за этого). Такая ошибка будет возникать все чаще и чаще с вводом динамических аномалий.
Решение банальное - или перезайти на локацию (загрузить автоматическую запись по заходу на локацию) или сделать запись и опять загрузиться, возможно аномалия образуется в другом месте и тогда ошибок наложения точек логики не будет.
22)
Вылет типа:Код
FATAL ERROR
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...обыля\s.t.a.l.k.e.r\gamedata\scripts\xr_gulag.script:1190: attempt to index field 'gulag' (a nil value)
Редкий, но противный вылет. Чаще всего появляется на Дикой Территории.
Лечение: загрузить сейв до проблемного захода на локацию.
--------------------------------------------
Безобидные ошибки:Код
~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[pri_monolith_respawn_114248:14248], section[wpn_ak74]
~ ERROR: can't detach independant object. entity[wpn_mp52539:2539], parent[agr_factory_defence_stalker6:2532], section[wpn_mp5]
~ ERROR: can't detach independant object. entity[wpn_ak742662:2662], parent[agr_factory_assault_soldier1:2656], section[wpn_ak74]
или
Код
~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[single_player:0], section[wpn_ak74]
или
На самом деле это не ошибка, а предупреждение движка или отладочное сообщение. Никаких проблем это не вызывает.