2. Убрать комментарии --[[ в начале перед local и ]] в конце после end
3. В bad_object_names вместо указанных для примера наименований стволов вписать названия объектов, которые имеется необходимость удалить. Каждое наименование заключается в "", наименования, если их более одного, следует перечислять через запятую.
Пример 1. Удаление рестриктора удаления Седого (АТП, мобильный торговец)
Code
local bad_object_names = {"atp_sedoy_delete_restrictor"}
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
Пример 2. Удаление вечно глючных зомбиков (Саркофаг, к примеру их 2)
Code
local bad_object_names = {"sarc_arhara_zombied_respawn_154797", "sarc_arhara_zombied_respawn_149048"}
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
3. Сохранить скрипт и загрузить нужный сэйв. Удаление будет выполнено во время загрузки, ГГ получит сообщение
"Удалили глючный ствол:<название>" для каждого объекта, перечисленного в bad_object_names и существующего в игре. Удаленный один раз объект более раз удалять не нужно.
После успешного удаления лучше (не критично) восстановить комментарии в коде --[[ в начале перед local и ]] в конце после end , по необходимости по ходу игры повторить операции с п.1 для другого объекта (объектов).
Вот и всё
Автор: WhatAbout
Лечение: достаточно дописать одну строку в файл gamedata\scripts\se_respawn.script
Code
get_console():execute("load ~ Spawn now ["..tostring(self:name()).."] -> ["..obj:name().."]")
перед строкой:
Code
amk.on_REspawn(obj,self)
Примечание: то, что в консоль будет выводится красным текст типа такого:
! Cannot find saved game ~ spawn now [amk_embankment_soldat_respawn] -> [esc_soldier_respawn_specnaz21604] - не ошибка, просто информация.
Автор: WhatAbout
Иногда могут возникнуть спонтанные вылеты без вменяемого лога. Например это было замечено в лаборатории Х-10 или на Дикой территории.
В некоторых случаях помогает временно уменьшить онлайн-зону ГГ до маленьких значений. Это позволит, скорее всего пройти проблемный участок.
Чтобы уменьшить\увеличить switch_distance надо:
1. Выйти из игры.
2. Найти файл gamedata\config\alife.ltx
3. В нем найти строчку
switch_distance = 140
4. И изменить цифру на другое число, в данном случае нам надо уменьшить. Ставим ноль. Получится у нас так:
switch_distance = 0
5. Сохраняем файл.
6. После прохождения проблемного места, выходим из игры и возвращаем значение назад. После чего играем дальше.
Автор: Shadows
Дополнительно:
Лог - это файл в котором фиксируется вся работа движка S.T.A.L.K.E.R. во время игры, а также сохраняются сведения об обычных некритичных ошибках и ошибках, приводящих к вылету. В большинстве случаев важна сама ошибка (т.е. последние строчки лога).
Где искать файл с логом:
В Windows XP (По умолчанию) - C:\Documents and Settings\All Users\STALKER-SHOC\logs\xray_<ваше имя пользователя>.log
В Windows Vista (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\logs\xray_<ваше имя пользователя>.log
B Windows 7 (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\logs\xray_<ваше имя пользователя>.log
Можно ещё поступить так:
1. После вылета создать текстовый документ.
2. Правой кнопкой мыши на свободном месте нажать "Вставить" и появится ошибка.
После открытия файла с ошибкой видим много всего, пролистываем все это и в самом низу будет лог ошибки. Он начинается с "FATAL ERROR"
Еще бывают вылеты безголовые, в которых файл лога пустой. Здесь скорее всего проблемы с железом, либо со скачанными файлами.
Информация от Верховного Шамана мода 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) Вылеты рендера:
Симптом:
Code
stack trace:
001B:0188B3B6 xrRender_R1.dll
or
001B:02C09EE6 xrRender_R2.dll
Причина: это проблема с видеодрайвером, связанная с тем, что игра передала функции драйвера неверные данные или возможно подвисшим потоком обработки видеоданных...
Лечение: хорошо в этом вылете то, что он обычно только временная проблема, и лечится простой загрузкой с последнего сейва. Основная локация таких вылетов – Янтарь, они часто случаются к северо-востоку от бункера экологов.
3) Вылеты с потерянным игрой или уничтоженным оружием
Симптом примерно такой:
Code
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
Симптом примерно такой:
Code
stack trace:
xrGame.dll
xrGame.dll
или ошибка "Can't open section"
Причина: Сейвгейм повреждён. Это например может произойти в том случае, когда игра уничтожила труп, но не очистила точку на карте, привязанную к нему. Вы также получите эту проблему если увидели в логе строку вида:
Code
"- Critical: SMapLocation binded to non-existent object id=xxxxx"
Её, впрочем очень легко пропустить, так как она обычно пролетает в логе намного, намного раньше того момента, как вы попробуете загрузить побитый в результате сейв. Пропадания трупов такого рода часты в модах или на Арене, однако не менее часто они происходят когда аномалия, например сильная Гравии разрывает труп.
Лечение: в этом случае придётся искать более раннее сохранение, где эта проблема ещё не возникла.
5) Некорректное место спавна:
Симптом примерно такой:
Code
! 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
... или что-то вроде вот этого ...
Code
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) Некорректное место спавна – второй вариант:
Симптом примерно такой:
Code
! 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'» или аналогичные
Симптом примерно такой:
Code
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
Симптом:
Code
stack trace:
001B:004BCFBC XR_3DA.exe, CTheoraSurface::`vftable'()
001B:0298C084 xrGame.dll
001B:02994577 xrGame.dll
Причина: случается когда вы просматриваете в ПДА контакт в тот момент когда он переключается в оффлайн.
Лечение: обычно достаточно просто загрузить последний сейв.
9) Редкий родной вылет 2: CKinematicsAnimated
Симптом:
Code
stack trace:
001B:00451CE8 XR_3DA.exe, CKinematicsAnimated::ID_Cycle_Safe()
Причина: обычно связан с отработкой физики и анимации. Если происходит стабильно на каком-то специфичном персонаже – сообщите разработчикам.
Лечение: обычно достаточно просто загрузить последний сейв.
10) Редкий родной вылет 3: ParticleManager
Симптом:
Любой вылет со ссылкой на ParticleManager.
Причина: обычно происходит при воспроиведении частиц – дыма костров, огня, стрельбы и т.д.
Лечение: во многих случаях помогает обновление драйверов видеокарты
11) Две или более ошибки друг за другом
Симптом:
Code
[error][183] : Cannot create a file when that file already exists.
Причина: обычно это просто две одинаковых ошибки, произошедших одновременно
Лечение: в логе обычно есть и первая ошибка из серии. Разбирайтесь с ней так, как описано выше для ошибок этого вида.
12) Ошибки пути или маршрутов
Симптом примерно такой:
Code
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) Вылеты типа:
Code
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) Ошибки типа:
Code
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) Прямо над строкой в логе: "ВНИМАНИЕ!_Игра_принудительно_прерывается!"
При данном типе ошибок всегда присутствует строка типа:
Code
"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) Вылет типа:
Code
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) Вылет типа:
Code
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) Вылет типа:
Code
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) Вылет по вертексам:
Code
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) Вылет типа:
Code
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)
Редкий, но противный вылет. Чаще всего появляется на Дикой Территории.
Лечение: загрузить сейв до проблемного захода на локацию.
--------------------------------------------
Безобидные ошибки:
Code
~ 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]
или
Code
~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[single_player:0], section[wpn_ak74]
или
Code
DEBUG: NPC ---
На самом деле это не ошибка, а предупреждение движка или отладочное сообщение. Никаких проблем это не вызывает.
Перед тем как писать о вылете обязательно прочитайте информацию выше - вполне возможно, решение уже есть.
----------------
Фикс от вылета при получении перехода:
http://webfile.ru/5412523 gamedata\scripts\sak.script:199: attempt to index field '?' (a nil value)
Ставить всем обязательно! Установка: сверху на патч 1.3.4.
----------------
По поводу АХТУНГА
! Cannot find saved game ~~~ watchdog 199.reason actor_binder:update
Если у вас такое случилось в игре, то посмотрите этот пост: нажать
----------------
Правка вечной ночи (дня) для НС 03.09.2010.7z,
http://www.getzilla.net/files....7z.html 1. Пост без лога вылета\без полного игрового набора или с явными намеками на другие вставленные моды в лучшем случае будет просто игнорироваться. С уже вылеченными вылетами - аналогично.
2. Так же, перед тем как написать пост о вылете, используйте поиск на форуме.
3. Даже не пробуйте писать, что после установки мода игра не работает, за последствия неумелой установки я не отвечаю.