При вылетах по 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. Даже не пытайтесь писать, что после установки мода игра не работает, за последствия неумелой установки я не отвечаю.
Вам нужно: 1. Открыть файл gamedata\scripts\bind_stalker блокнотом 2. Поиском найти это: bad_object_names 3. Убрать -[[ и ]] 4. В ковычки прописать ros_sniper2 Всё.
только вместо ros_sniper2 писать esc_mil14_def20630 AMD Athlon II X3 435, 2900 MHz (14.5 x 200),DDR2-800 (400 МГц) 2гига,Microsoft Windows 7 Home Premium 64бит, nVIDIA GeForce 9800 GT 512Мб
-local bad_object_names = {"esc_mil14_def20630"} 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
nevada47, помогло (дошла до динамита в деревне новичков)! Ура! Всего то тире убрать...Впервые в жизни удалила глючный объект из игры. Парни, огромное спасибо вам, это единственная игра в которую играю, поэтому этот тормоз означал бы, что играть мне больше не во что. Как хорошо, что вы есть! DMX 1.3.4 Интел Кор ай 3 четыре ядра по 3.33, два ядра виртуальные, память 4 Гб, Радэон 6850 1Гб, Win7 64bit.
Сообщение отредактировал Ada_Wong - Понедельник, 21.05.2012, 17:07
2 Saruman, Где находится юэер.лтх? Если это в СТАЛКЕР-ШОКЕ , то у меня в блокноте нет слова "satyety", где его найти? Надоело жрать в три горла и утром умирать от голода, да и выспаться хочется
Добавлено (21.05.2012, 18:03) --------------------------------------------- Saruman, Намекни на какие-нибудь. Пример что-ли.
Добавлено (21.05.2012, 18:10) --------------------------------------------- Saruman, Если что-то исправлял, то брал все с форума.
Фонтанка, это не там а в actor.ltx AMD Athlon II X3 435, 2900 MHz (14.5 x 200),DDR2-800 (400 МГц) 2гига,Microsoft Windows 7 Home Premium 64бит, nVIDIA GeForce 9800 GT 512Мб
Фонтанка, полагаю что до Янтаря всё было нормально? Тогда только переустанавливать - что-то глюкануло. А что за худ ставили? ---------------------------------- Фонтанка, если переустановить всё то же, что ставили( и в том же порядке) - попрут старые сохранки.
Сообщение отредактировал alen-fantom - Понедельник, 21.05.2012, 21:44
Фонтанка, можно скопировать сейвы переустановить игру и продолжить с того же места... я так делал. Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Фонтанка, просто создай папку и скопируй из папки stalker-shoc- savedgames нужные тебе сейвы в созданную папку, переустанови игру и скопируй сейвы обратно в stalker-shoc-savedgames, и игра пойдет дальше... Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Фонтанка, в папке с игрой,там где папка gamedata копируешь или вырезаешь в другое место папку profile. Затем переустанавливаешь игру и эту папку profile кидаешь назад туда где папка gamedata. После этих манипуляций, если установил игру с тем же игровым набором, игру продолжишь с последнего места где остановился (сохранился). ...все правки......ковырялка DMX...
Сообщение отредактировал Эсминец - Понедельник, 21.05.2012, 23:03
Фонтанка, только точно надо знать где сейвы этой игры хранятся, если ты играешь еще какой то мод... обычно они рядом с папкой log Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Эсминец, А зачем копировать gamedata, если игру переустанавливаешь? Сейвы хранятся в другом месте. А если вернуть назад скопированную gamedata , то ошибка может вернуться вновь. Первая срока в файле fsgame.ltx место хранения сейвов. Мутант из тумана☻
Сообщение отредактировал nevada47 - Понедельник, 21.05.2012, 22:07
nevada47, игра вроде удаляется со всеми его компанентами, у меня так было... я переустанавливал и продолжил с копир сейвов все правки исчезли, проблем пока нет... Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
nevada47, прочтите внимательнее то что я написал.Там говорится про папку profile которая там где папка gamedata. Может я написал это так как это мне понятно? ...все правки......ковырялка DMX...
Сообщение отредактировал Эсминец - Вторник, 22.05.2012, 11:08
Фонтанка, есть два варианта где могут храниться сейвы, в папке игры есть папка profile в ней папка savedgames и в ней сейвы. второй вариант В Windows XP (По умолчанию) - C:\Documents and Settings\All Users\STALKER-SHOC\ savedgames В Windows Vista (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\ savedgames B Windows 7 (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\ savedgames у меня бывало в обеих вариантах... сейчас например в папке с игрой все сейвы... Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Сообщение отредактировал fantom - Понедельник, 21.05.2012, 22:33
fantom, не нужно думать и гадать. nevada47, уже написал что нужно открыть блокнотом файл fsgame.ltx и в самой первой строчке указан путь к папке savegame. Не знаю как у кого, а у меня сохранки лежат рядом с gamedata папка profile. А та папка которая в Моих документах - это папка созданная при установке оригинальных Теней Чернобыля и которую я сразу же снёс, что бы было меньше хлама в компе. ...все правки......ковырялка DMX...
Сообщение отредактировал Эсминец - Вторник, 22.05.2012, 11:10
Фонтанка, на сколько я знаю установленные правки затрагивают и влияют на всю игру... Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Эсминец, я в начале ставил готовый купленный мод, и когда я его удалял я копировал сейвы из папки profile, и скачал готовую игру от akva, но там мне пришлось эти сейвы вставить в папку STALKER-SHOC\ savedgames, чтобы продолжить игру, но она не пошла, я ее удалил и установил купленный готовый мод, а вней опять сейвы в папке profile... такая вот не понятка... Intel Core i7 3610QM, 2300 MHz/RAM 4GB/ROM 500GB/AMD Radeon HD 7670M 2GB/Win7 Home Basic 64bit
Итак парни, окончательное решение принято. Буду пробовать, только где искатьfsgame.ltx?
Добавлено (21.05.2012, 23:08) --------------------------------------------- fantomЭсминец, , У меня сейвы здесь B Windows 7 (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\ savedgames, глюки пошли на Янтаре, значит мне надо скопировать и сохранить все сейвы до Янтаря?
О и еще!!! В папке gamedata папки profile у меня НЕТ!
Добавлено (21.05.2012, 23:18) --------------------------------------------- Там где много папок: bin, gamedata, mods, profile, Uninstall и здесь нет!!!