При вылетах по invalid vertex, отсутствующих путях, при ругани restrictor на отсутствие объекта, в других игровых ситуациях возникает необходимость удалить "мешающий" объект. Замечание: удаляйте объекты, будучи в полной уверенности, что они больше не нужны.
1. В файле gamedata\scripts\bind_stalker.script найти закомментированный блок кода:
Код
--[[local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589" 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. Убрать комментарии --[[ в начале перед local и ]] в конце после end.
3. В bad_object_names вместо указанных для примера наименований стволов вписать названия объектов, которые имеется необходимость удалить. Каждое наименование заключается в "", наименования, если их более одного, следует перечислять через запятую.
Пример 1. Удаление рестриктора удаления Седого (АТП, мобильный торговец)
Код
local bad_object_names = {"atp_sedoy_delete_restrictor"}
Пример 2. Удаление вечно глючных зомбиков (Саркофаг, к примеру их 2)
Код
local bad_object_names = {"sarc_arhara_zombied_respawn_154797", "sarc_arhara_zombied_respawn_149048"}
4. Сохранить скрипт и загрузить нужный сэйв. Удаление будет выполнено во время загрузки, ГГ получит соответствующее сообщение. Удаленный один раз объект более раз удалять не нужно.
Лечение: достаточно дописать в файл gamedata\scripts\se_respawn.script следующую строку:
Код
get_console():execute("load ~ Spawn now ["..tostring(self:name()).."] -> ["..obj:name().."]")
перед строкой amk.on_REspawn(obj,self). Примечание: то, что в консоль будет выводится красным текст типа такого: ! Cannot find saved game ~ spawn now [amk_embankment_soldat_respawn] -> [esc_soldier_respawn_specnaz21604] - не ошибка, просто информация.
Иногда могут возникнуть спонтанные вылеты без вменяемого лога. Например это было замечено в лаборатории Х-10 или на Дикой территории. В некоторых случаях помогает временно уменьшить онлайн-зону ГГ до маленьких значений. Это позволит, скорее всего пройти проблемный участок. Чтобы уменьшить/увеличить switch_distance надо: 1. Выйти из игры. 2. Найти файл gamedata\config\alife.ltx. 3. В нем найти строчку switch_distance. 4. И изменить значение параметра на другое число, в данном случае нам надо уменьшить. Ставим ноль. Должно получится так: switch_distance = 0. 5. Сохраняем файл. 6. После прохождения проблемного места, выходим из игры и возвращаем значение назад. После чего играем дальше.
Дополнительно:
Лог - это файл в котором фиксируется вся работа движка 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) Вылеты рендера:
Симптом:
Код
stack trace:
001B:0188B3B6 xrRender_R1.dll or 001B:02C09EE6 xrRender_R2.dll
Причина: это проблема с видеодрайвером, связанная с тем, что игра передала функции драйвера неверные данные или возможно подвисшим потоком обработки видеоданных...
Лечение: хорошо в этом вылете то, что он обычно только временная проблема, и лечится простой загрузкой с последнего сейва. Основная локация таких вылетов – Янтарь, они часто случаются к северо-востоку от бункера экологов.
3) Вылеты с потерянным игрой или уничтоженным оружием
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]
Причина: непись или мутант перешёл в онлайн в неудачном месте, и не может найти выход чтобы пойти в точку назначения. Игра использует для навигации существ сеть квадратов, соединённых между собой, однако некоторые из них изолированы друг от друга. Например камни на границе карты, или места на другой высоте чем точка назначения.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.
7) Вылеты вида «Bad argument #2 to 'format'» или аналогичные
Причина: обычная причина этих вылетов – передача некорректных значений родным функциям игры. Эти ошибки обычно возникают когда произошёл какой-то серьёзный сбой, и о таких вылетах желательно сообщать разработчикам. Если такой вылет случился желательно так же сбросить текст выше строки FATAL ERROR из лога.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. Если же этот вылет у вас происходит при загрузке сейва – сбросьте его разработчикам мода с логом вылета.
Причина: обычно связан с отработкой физики и анимации. Если происходит стабильно на каком-то специфичном персонаже – сообщите разработчикам.
Лечение: обычно достаточно просто загрузить последний сейв.
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) Прямо над строкой в логе: "ВНИМАНИЕ!_Игра_принудительно_прерывается!" При данном типе ошибок всегда присутствует строка типа:
В которой указан и конкретный 'виновник" (в данном случае: 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 патча. Исправляется установкой более новой версии патча для ТЧ.
Лечение: не сохраняйтесь с нестандартными подствольными гранатами в подствольниках автоматов и в Бульдоге + не оставляйте в нычках/рюкзаках/ящиках оружие с заряженными в подствольники гранатами.
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)
Редкий, но противный вылет. Чаще всего появляется на Дикой Территории.
Лечение: загрузить сейв до проблемного захода на локацию. --------------------------------------------
На самом деле это не ошибка, а предупреждение движка или отладочное сообщение. Никаких проблем это не вызывает.
Перед тем как писать о вылете обязательно прочитайте информацию выше - вполне возможно, решение уже есть.
1. Пост без лога вылета\без полного игрового набора или с явными намеками на вмешательство в ресурсы мода, в лучшем случае будет просто игнорироваться. С уже вылеченными вылетами - аналогично. 2. Также, перед тем как написать пост о вылете, используйте поиск на форуме. 3. Даже не пытайтесь писать, что после установки мода игра не работает, за последствия неумелой установки я не отвечаю.
domovoi07, уважаемый, а не было ли вам сообщения о том, что ПДА сломался и нужно сходить в Бар к Доценту, он и отремонтирует. Это квест такой А в дополнение ко всему, здесь обсуждается ДМХ мод, ищите ответа на родных сайтах НС
Добавлено (03.09.2011, 23:17) --------------------------------------------- SoAp, а тот первоначальный вылет был сразу после установки или со временем появился?
а тот stco.ltx , который я вам кинул? он с "работаюшей" игры, т.е. с моей
SoAp, Т.к. проблемы начались сразу после установки, то рекомендую вам переустановить игрушку, скорее всего кривая установка) Переустановите согласно рекомендациям от оригинальной НС
Лог: Expression : xml_doc.NavigateToNode(path,index) Function : CUIXmlInit::InitStatic File : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp Line : 172 Description : XML node not found Arguments : sleep_static Фикс от вылета при получении перехода поставлен!
Описание вылета: При переходе на любую локацию проходит несколько минут игры и вылет, загружаю с квиксейва, грузится, и только должна начаться игра - вылет. С автосейва гружусь, игра начинается и..... смотри выше. Уже прошёл половину игры. Таких частых вылетов не было до ЧАЭСа. А играть с такими вылетами не прёт!
Сообщение отредактировал tyazheliy - Воскресенье, 04.09.2011, 08:35
Полностью игру переустанавливали? SoAp, а откуда брали игру? У меня скачена и установленна по тем ссылкам которые я вам дал, такой проблемы нет Чем больше я сплю, тем меньше от меня вреда ;)
выкладывал пользователь Akva, многие установили и всё работает, либо с офсайтов, качайте, ставьте . Я не могу найти другого решение в вашей проблеме. Ставьте поэтапно: поставили чистую НС со всеми патчами, запустите. Запустилось, ставьте DMX. Таким образом найдёте что не работает, то и качайте. УДАЧИ З.ы. Посмотрел на torrentino.ru, так там только RePackи, задайте вопрос о вылете тому кто собирал их)) Чем больше я сплю, тем меньше от меня вреда ;)
SoAp, Зачем пихать его в диск? Устанавливаешь Daemon или Алкоголь, добавляешь виртуальный привод, монтируешь в него скачанный файл и запускаешь. Чем больше я сплю, тем меньше от меня вреда ;)
1. копируешь папку gamedata в папку с установленной игрой. 2. из папки 14.08.10 копируешь папку gamedata и вставляешь с заменой в папку с игрой. 3. из папки 3.09.10 копируешь папку gamedata и вставляешь с заменой в папку с игрой. 4. папку bin копируешь и вставляешь с заменой в папку с игрой. 5. копируешь все содержимое папки DMX MOD 1.3 и вставляешь с заменой в папку с игрой. 6. копируешь все содержимое папки Патч 1.3.4 и вставляешь с заменой в папку с игрой. 7. есть лиц.диск? Тогда этот пункт можешь пропустить, если нет, то копируешь файл XR_3DA и вставляешь с заменой в папку bin. 8. читспавнер по желанию. Аналогично, копируешь содержимое папки и вставляешь в gamedata с заменой. ___ после всей этой процедуры заходишь в мои документы, там находишь папку STALKER-SHOC, в ней находишь файл user.ltx. Открывать его с помощью блокнота. В файле необходимо найти строчку: r2_gloss_factor xx и заменить значение на 2.5, так же надо найти строчку r2_sun_near_border xx и заменить значение на 1.
SoAp, Можешь написать какие папки у тебя в файле НС2010-DMX мод1.3.4.? Давай перестанем здесь флудить, пиши в личку Чем больше я сплю, тем меньше от меня вреда ;)