Всё по оптимизации игры с DMX - настройка и советы
Вылеты по зависшим объектам (примеры):
Code
Expression : vertex || show_restrictions(m_object) Function : CPatrolPathManager::select_point File : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp Line : 155 Description : any vertex in patrol path [ros_sniper2_walk] in inaccessible for object [ros_sniper2]
В большинстве случаев помогает переигровка. Или просто обойти место с вылетом. Но если вылет стабильный, надо удалять зависший объект. В данном случае, удаляемый объект это - ros_sniper2. Как это сделать, написано здесь в спойлере Вылет по Invalid vertex.
Code
Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID) Function : CALifeSwitchManager::add_online File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_switch_manager.cpp Line : 64 Description : Invalid vertex for object Arguments : af_rusty_sea-urchin23058
Чаще всего подобные вылеты наблюдаются на локации Старая Деревня. Хотя эти вылеты редки. Лечится удалением проблемного объекта. В данном случае объект это - af_rusty_sea-urchin23058. Как это сделать, написано здесь в спойлере Вылет по Invalid vertex.
У пользователей с консервными банками на борту со слабыми машинами могут появится вылеты по памяти, следующего типа (примеры):
Code
Expression : fatal error Function : _out_of_memory File : E:\stalker\patch_1_0004\xrCore\xrDebugNew.cpp Line : 359 Description : <no expression> Arguments : Out of memory. Memory request: 8219 K
Игре не хватает памяти. Обычно лечится перезапуском. Если это не помогло, снизьте настройки игры.
Code
Expression : Ran out of memory Function : CRender::texture_load File : E:\stalker\sources\trunk\xr_3da\xrRender\Texture.cpp Line : 356 Description : D3DXCreateTextureFromFileInMemoryEx ( HW.pDevice,S->pointer(),S->length(), D3DX_DEFAULT,D3DX_DEFAULT, IMG.MipLevels,0, IMG.Format, D3DPOOL_SYSTEMMEM, D3DX_DEFAULT, D3DX_DEFAULT, 0,&IMG,0, &T_sysmem ) Arguments : e:\s.t.a.l.k.e.r-sch\gamedata\textures\death_mod\difmap.dds
Не хватает памяти для обработки текстуры. Попробуйте прописать в ярлыке игры, в свойствах, в поле Объект следующее: "<путь_до_папки_игры>\XR_3DA.exe" -nointro -noprefetch -noshadows, а также поэкспериментируйте с файлом подкачки. Кому-то помогает увеличение файла подкачки, кому-то уменьшение. Это зависит от железа. Либо вылет из-за битой текстуры. Проверьте ее, открыв в редакторе. Если откроется - целая, значит дело в железе.
Характерный признак - последние строчки в логе начинаются с * [x-ray]. Вылет связан с некорректным обращением к движку, способов борьбы с ним нет. Как правило, вылет не критичный, помогает переигровка от раннего сейва, иногда - нужно переигрывать от сейва, взятого с предыдущей локации (до захода на локацию, на которой произошел вылет. Некоторым Сталкерам помогло переигрывание "сложного" момента в другой последовательности, например - сходить и выполнить сначала другое задание, а потом вернуться к выполнению того, на котором происходили вылеты.
Файл с настройками находится в gamedata\shaders\r2\skygraphics_options.cfg
Параметр для Motion Blur`а, определяет интенсивность эффекта. Чем больше значение тем большая интенсивность. Влияет на производительность. Параметр не может принимать дробных значений.
Параметры для Motion Blur`а, определяют расстояние с которого включается эффект START_DIST, и расстояние с которого начинается полное размытие FINAL_DIST. Между START_DIST и FINAL_DIST происходит плавный переход от не размытой области к размытой. Параметры условно измеряются в метрах.
Code
#define DEPTH_OF_FIELD
Включает/выключает эффект Depth Of Field.
Code
#define DOF_QUALITY int(12)
Параметр для Depth Of Field, определяет качество эффекта. Влияет на производительность. Параметр не может принимать дробных значений.
Параметры для Depth Of Field, определяют расстояние с которого включается эффект MINDIST, и расстояние с которого начинается полное размытие MAXDIST. Параметры условно измеряются в метрах.
Code
#define MAXCOF float(3)
Параметр для Depth Of Field, определяет степень размытия эффекта.
Code
#define PARALLAX_OCCLUSION
Включает/выключает эффект Parallax Occlusion Mapping.
Параметры для Parallax Occlusion, определяют количество текстурных выборок. Чем их больше, тем качественнее эффект. Влияет на производительность. Параметры не могут принимать дробных значений.
Code
#define PARALLAX_OFFSET float(0.015)
Параметр для Paralax Occlusion, определяет высоту поверхности (степень смещения). Чем больше значение, тем больше высота.
Code
#define FINAL_INTERSECTION_LOOPS int(5)
Параметр для Parallax Occlusion, определяет количиство циклов для нахождения точки пересечения. Чем их больше тем качественнее эффект. Влияет на производительность. Параметр не может принимать дробных значений.
Code
#define CORRECT_PERSPECTIVE
Параметр для Parallax Occlusion, включает/выключает более правильную перспективу на острых углах геометрии. Повышает иллюзию смещения. Требует более высоких значений для MAX_SAMPLES и MIN_SAMPLES. Из-за особенностей игровой геометрии сталкера, на некоторых поверхностях появляются артефакты, в виде искажений.
Параметры для Parallax Occlusion, используются в алгоритме повышения контрастности карт высот. Не рекомендуется их менять.
Перед тем, как устанавливать мод, внимательно ознакомьтесь с минимальными системными требованиями. Если Ваш компьютер не подходит для игры, то просьба не писать сюда о проблемах связанных с производительностью.
Для наилучшей производительности и корректной работы видеокарты необходимо установить самые последние драйвера. Вы можете увеличить скорость работы игры с помощью понижения качества графики в разделе видеонастроек меню.
Подробное описание файла user.ltx: Подстройка графики "под себя и свою систему" (Взято из Сталкер-вики _http://stalkerin.gameru.net/wiki)
Ваши персональные игровые настройки и настройки клавиш находятся в одном файле по имени "User.ltx". Найти его можно по адресу \Documents and Settings\All Users\Shared Documents\STALKER-SHOC (ENG_XP) или \Documents and Settings\All Users\Документы\stalker-shoc\(RU_XP)
В Windows Vista путь немного другой Users\Public\Documents\STALKER-SHOC
Этот файл автоматически подгружается каждый раз когда запускается Сталкер. Из него подбираются все настройки для X-ray engine.
К счастью файл не закриптован и редактировать его можно любым текстовым редактором, так что достаём блокнот и открываем с его помошью.
ОБЯЗАТЕЛЬНО СОХРАНИТЕ КОПИЮ ИСХОДНОГО ФАЙЛА! НЕПРАВИЛЬНОЕ РЕДАКТИРОВАНИЕ МОЖЕТ РОНЯТЬ ИГРУ!
Когда откроете файл вы увидите множество строк с настройками. Большинство из них, кстати, доступно из консоли (об этом на следующей странице). Любое изменение опций в файле будет иметь эффект только после перезапуска игры.
Имейте в виду:
1. Параметры в файле могут быть изменены если лазать в настройки из интерфейса игры. 2. Все настройки протестированы в консоли и User.ltx. Здесь рассматриваются только те из них, которые влияют на производительность. 3. Стандартные настройки мы не будем рассматривать т.к. они отличаются ровно на столько же, на сколько различаются ваши компьютеры. 4. У каждого своя система и чтобы подобрать настройки именно для вашей машины лучше их сначала протестировать через консоль.
Параметры и что они дают:
bind [action, key] - Команда биндинга. Осуществляет привязку к клавише key действия action. Чтоб посмотреть весь лист забинженых комманд наберите в консоле bind_list. Кстати тут есть небольшой аргумент. Например чтобы забиндить на клавишу SPACE прыжок - к названию клавиши нужно подставить спереди k. Конечная комманда выглядит так: bind jump kSPACE
cam_inert [0.0 - 1.0] - Отвечает за плавность камеры, На слабых системах способствует лагам больших значениях. Ставим ближе к 0, ели не хотим всё видеть пьяным глазом. Если поставить 1 - камера вообще перестаёт следовать за актёром.
В общем параметр 0.0 - 0.3 - профессиональная игра; 0.3-0.99 - для роликов и скриптовых сцен; 1 - для снятия скринов или роликов - камера висит - герой бегает.
g_always_run [on,off] - По дефолту - когда мы нажимаем вперёд - герой бежит, если поставить параметр off - герой будет ходить. Не путаем с спринтом.
Помним: Что приставки перед параметрами r1_ и r2_ разграничивают настройки для статического освещения (DX8) и динамического(DX9). если вы пользуетесь статическим настраиваем через r1_, угадайте через что настраиваем при Динамическом и Полном Динамическом.
r1_dlights [on,off] - Отвечает за вкл\выкл Динамических источников света. Но так как мы уже в статическом режиме, игра их сама все удаляет, единственное что можно сделать этим параметром это отключить свой фонарик ). Не рекомендуется изменять.
r1_dlights_clip [10.000 - 150.000] - Тут мы можем выставить насколько далеко светит динамический источник света. Но опять же при использовании со статческим светом действует только на фонарик.
r1_glows_per_frame [2 - 32] - Отвечает за количество слепящих источников света - но по тестам - особо на производительность не влияет.
Коэфициент подсвета некоторых текстур - в общем меняем и смотрим на оружие. На производительность не влияетю
r1_ssa_lod_a [16.000 - 96.000] - Контролирует глобальный уровень детализации (LOD) для игрового мира, с высоким параметром даёт чёткую проработку обьектов и дистанцию обзора - но наглухо убивает ФПС.
r1_ssa_lod_b [16.000 - 64.000] - Похож на предыдущий параметр - но отвечает за детализацию определённых типов обьектов игрового мира. Высокие значения на фпс тоже влияет пагубно.
r1_tf_mipbias [-3.000 - 3.000] - Контролирует МИПМАМ уровень чистоты текстуры удалённых обьектов. Параметр близкий к -3 даёт кристальную чёткость деревьев на горизонте но фпс страдает, обратный параметр размывает всё в мыло - но фпс взлетает. При Выключеном Анизонтропном фильтре, этот параметр единственный путь настройки дистанционных текстур в Сталкере.
допереведу!
r2_gi [on,off] - Отключено по дефолту, этот параметр контролирует систему Глобального Освещения (GI, Global Illumination), форму освещения с просчетом лучей света и их отражения от поверхности объектов. Есть несколько команд отвечающих за эту настройку: r2_gi включает и выключает систему освещения, r2_gi_refl контролирует отражения света от освещенных поверхностей. Однако, включения этот системы освещения в игре крайне пагубно влияет на FPS.
r2_aa [on,off] - Команда контролирует включение поддельного Антиальясинга за счет шейдера размытия в игре, ввиду того что при технологии Отложеного затенения (Deffered shading) нет возможности использовать обычный способ фильтрации. Эта опция не одно и то же с ползунком Антиальясинг в настройках графики в игре. Поддельный АА не выполняет функцию сглаживания краев, он выполняет простое заблуривание картинки в игре.
r2_aa_kernel [0.300 - 0.700] - Команда отвечающая ща поддельную функцию Антиальясинга, в том слчае,если опция r2_aa включена. Высокие значения, увеличивают размытость. Активация поддельного АА и установка настроек r2_aa_kernel в значение 0.3 дает наиболее приемлемый эффект сглаживания, не выполняя чрезмерного замыливания картинки.
r2_aa_break [0.000000 - 1.000000,0.000000 - 1.000000,0.000000 -1.000000] - Команда контролирующая, дистанцию на которой работает функция поддельного Антиальясинга. Чем выше значения, тем на более дальние расстояния действует эффект. Однако, поскольку функция основана на векторном расчете, то максимальные расстояния не обязательно обеспечивают максимальное качество. Для эксперимента укажем r2_aa_break 0.000000,1.000000,0.000000, в игре даст четкие объекты вблизи, и размытые вдали.
r2_aa_weight [0.000000 - 1.000000,0.000000 - 1.000000,0.000000 - 1.000000] - Отвечает за коэффициент размытия при включенной опции поддельного АА, выше значение -больше мыла.
r2_allow_r1_lights [on,off] - Включает поддержку в R2 использования статического освещения (методов R1). В игре проявляется не реалистично завышенной яркостью у картинки и явным понижением FPS.
r2_gloss_factor [0.000 - 10.000] - Команда отвечает за коэффициент отражаемого света от объектов (свечение поверхности, глянцевость). Высокие значения повышает уровень свечения, жертвуя FPS. Опытным путем можно добиться довольно реалистичной картинки.
r2_ls_bloom_fast [on,off] - Опция контролирует включение расширенного Bloom эффекта в игре. С ней уже имеющийся Bloom эффект в игре становится более ярким и с более выраженным эффектом дымки. Производительность при этом особо не страдает, так как игра уже использует HDR освещение при включенном Render2(R2- DX9 renderer).
r2_ls_bloom_kernel_b [0.010 - 1.000] - Команда контролирует силу размытия при Bloom эффекте. Больше значение- ольше эффект размытия.
r2_ls_bloom_kernel_g [1.000 - 7.000] - Смазанность бликов и отражений в порядке возрастания.
r2_ls_bloom_kernel_scale [0.500 - 2.000]
r2_ls_bloom_speed [0.000 - 100.000] - Команда отвечает за "длительность жизни" Bloom эффекта.
r2_ls_bloom_threshold [0.000 - 1.000] - Этот параметр контролирует уровень освещенности. Эффект используется в игре по умолчанию, или вы не имеете r2_ls_bloom_fast опция включена. Большие значения уменьшат яркость подсветки bloom эффекта. Используется вместе с HDR, например, если выставить значение 1.000, в игре появляется похожее на DX8 освещение (но с динамической подсветкой). Вы можете экспериментировать с изменением этого значения, так и без цветения быстро достичь желаемого результата. Для примера попробуйте быстроту Блума и значение 0.350 за этот параметр, чтобы прийти к несколько более атмосферного смотреть в игровом мире.
r2_ls_depth_bias [-0.500 - 0.500] - Этот параметр определяет, насколько видимый свет от источников света светит. Лучше оставить по умолчанию.
r2_ls_depth_scale [0.500 - 1.500] - Тоже самое, что и выше, только отвечает за тени.
r2_mblur [0.000 - 1.000] - Команда контролирует включение кинематографичного эффекта размытия в движении в игре (Motion blur), этот эффект делает передвижение в игре более реалистичным за счет того, что ввиду особенности нашего глаза в жизни человек не фокусируется на "промежуточной картинке" при переводе глаз с одного места на другое. Для включения этой опции нобходимо дописать аттрибут -mblur к ярлыку запуска игры STALKER.
r2_parallax_h [0.000 - 0.500] - Этот параметр отображается контролирует параллакс картографирования, метод используется в целях дальнейшего улучшения внешнего вида глубины на поверхность. Однако в моем опыта изменения этого параметра не визуальный или исполнения воздействия. Люди утверждают, что повышение этого параметра до величины 0,04 помогает им повысить производительность, так что вы можете попробовать это как оно не должно причинить вред или заметной потери качества изображения.
r2_slight_fade [0.020 - 2.000] - I am unsure as to what exactly this setting controls, and testing reveals no real image quality or performance impact. However others claim that raising this setting can improve performance, so give it a try.
r2_ssa_lod_a [16.000 - 96.000] - Контролирует систему Level of Detail (LOD) в игре, чем выше параметр, тем четче и проработанней объекты вдали.
r2_ssa_lod_b [32.000 - 64.000] - Контролирует систему Level of Detail (LOD) в игре, чем выше параметр, тем четче и проработанней некоторые объекты вдали.
r2_sun [on,off] - Включает\выключает солнце, как источник света.
r2_sun_depth_far_bias [-0.500 - 0.500]
r2_sun_depth_far_scale [0.500 - 1.500]
r2_sun_depth_near_bias [-0.500 - 0.500]
r2_sun_depth_near_scale [0.500 - 1.500]
Эти парраметры влияют на тень. Высокие - более темные тени, низкие - более прозрачные. По-умолчанию - лучшее качество.
r2_sun_details [on,off] - Тоже-самое, что функция "Тень от травы".
r2_sun_lumscale [-1.000 - 3.000] - Определяет уровень яркости (яркость) от солнечного света, со значениями от нуля или ниже - отключение Солнца.
snd_targets [4 - 32] - Этот параметр определяет количество звуковых каналов. Значение 32 улучшает качество звука.
vid_mode [WxH] - Управляет разрешением экрана.
По битью сэйвов в игре:
Сэйв, (НЕ авто- и НЕ квик-), это обычный файл на вашем компе. Его игра никак НЕ использует (если только загружает в режиме чтения по Вашему выбору) и НЕ изменяет, если только НЕ перезаписать САМОМУ этот сэйв другим под этим же именем. Сами коды игры/мода в процессе игры НЕ изменяются. Исключением является только "user.ltx", в который заносятся текущие опциональные настройки. Если в процессе игры произошла фатальная ошибка, то: 1. Сэйвы с собственными именами НИКАК НЕ могут измениться; 2. Коды игры и сборки НЕ изменяются; 3. Возможна некорректная запись в "user.ltx" (пишется последняя запущенная игра), или даже нарушение формата записи файла. Вариант лечения: иметь резервный "user.ltx" или удалить имеющийся и ... он вновь создастся девственным (свои настройки придется повторить). 4. Если система при крахе игры дала сбой - копаться следует в системе, а не грешить на игру. Если в меню игры при выборе сэйва происходит вылет - это БИТЫЙ сэйв и его следует удалить 'ручками', т.е. НЕ из игры. Переполнение стека (stack overflow), переполнение сэйва (packet_size) и "переполнение" папки файлами сэйвов - далеко НЕ одно и то же. С первым 'бороться' может только программер/разработчик. С переполнениями размеров сэйвов - и игроки, не расходуя/освобождая ресурсы игры. Маячки, тайники, квесты, разбросанные ящики с хабаром, напарники, ... все это требует сохранения и соответственно (кило)битов в сэйвах. Ну а с кол-вом файлов сэйвов - уже давалось пояснение: их кол-во влияет только на 'заторможенность' в главном меню при выборе сэйва для записи/загрузке. Примечание: сданный квест не сильно освобождает ресурсы. Лучше НЕ брать лишних квестов. Любой квест - это а) инфопоршен о его доступности для ГГ, б) инфопоршен завершения/провала квеста, в) необязательные инфопроршены процесса/условий выполнения квеста. Т.о. НЕ взятый квест экономит некоторые биты ... Но это копейки ... Торговцы выдают за квесты рандомные награды и при взятии квеста инфа о наградах попадает в сэйвы. Т.о. это более 'тяжелый' случай. В этом случае - ЛУЧШЕ сдавать, если взят, и не 'таскать'. Вообще то, 'плачут' много, а НИ ОДНОГО сэйва с предупреждающей надпистью о переполнении сэйвов НЕ дано! Скорее всего какой-то модуль/функция 'мусорит' в сэйвы никчемной информацией. Желательны пара сэйвов (до и после), чтобы определить откуда ноги растут. Кстати, при загрузке и сохранении в логе указывается размер пакета: info~>bind_stalker:Save:real_packet_size=[3955]:[info] Критичными сейчас считаются - 7000 бит, пред-фатальными - 7800.
Настройки доп. опций:
Настройки из доп.опций никак не могут исчезать, т.к. перезаписываются как в процессе их изменнения (при открытом меню), так и по завершению (закрытия меню). Далее они (настройки) хранятся как и все переменные в сторедже актера. Если укажешь какая именно переменная НЕ сохранилась - перепроверю, может ошибка в ее обработке ...
Для того чтоб настройки как основных функций-задач, так и дополнительного меню не сбрасывались при вылетах и некорректных сохранениях: После первого входа в игру выставляем всё как вам хочется\нравится, сохраняемся и корректно выходим из игры. Всё. Теперь при каждой загрузке\перезагрузке и после каждого вылета настройки слетать не будут.
Файл подкачки :
Так как все-таки оптимально настроить файл подкачки? Если у Вас несколько винчестеров (не разделов, а именно винчестеров), то установка файла подкачки на другой винт, чем установлена операционная система, обычно значительно ускоряет быстродействие. Если у Вас несколько винчестеров - то файл подкачки ставится на самый быстрый из них. Если у Вас несколько разделов на винте, то файл подкачки надо ставить на самый первый из них - физически расположенный самым первым, так как доступ к этим областям винта наиболее быстрый. Целесообразно ограничить минимальный объем файла подкачки, чтоб предотвратить излишнюю его фрагментацию примерно объемом 1-1.5 объема вашей оперативной памяти (впрочем если Вы пользуете графику или напрягаете компьютер серверами баз данных то можно поставить размером 2-3 объема RAM). Практически не имеет резона ограничивать максимальный объем, так как это может привести к сбою программ из-за нехватки памяти, а если уж и ограничивать, то никак не меньше чем 4 объема RAM. После этих настроек компьютер надо перезагрузить и запустить какой-нибудь дефрагментатор (типа Norton Speed Disk) чтоб полностью дефрагментировать файл подкачки и поместить его в начало раздела. И последнее, помните, что после выключения компьютера файл подкачки может содержать Ваши пароли, логины, остатки Вашей конфиденциальной информации и т.п., так что достаточно "образованные дяди" из числа Ваших доброжелателей или компетентных органов, загрузившись в ДОС и покопавшись в объедках Ваших программ в файле подкачки могут найти очень интересные вещи...
Вылет "C stack overflow" - переполнение игрового стека. Что это и как с этим бороться
[error]Arguments : LUA error: ...Игры\\s.t.a.l.k.e.r\\gamedata\\scripts\\state_mgr.script: (...): C stack overflow
"C stack overflow" - переполнение игрового стека.
При игре выполняется последовательно/параллельно множество операций. Промежуточные результаты заносятся в некоторую выделенную облать (стек). Размер этой обрасти зависит от многих факторов, в том чисте и от объема свободного ОЗУ при старте игры. Т.о. если "старенький" комп или ОЗУ забита различным прикладом/резидентами - объем может быть и не 'достаточным' для работы сборки в критических режимах. В сборку добавляются различные модули/схемы, работа которых, по сравнению с оригинальной игрой, дополнительно нагружает/заполняет игровой стек. С последним минификсом добавлено как минимум две новые схемы, да и собственно схемы пока не до конца оптимизированы, для чего и ТЕСТИРУЕМ!
Резюме: - оптимизируем ОЗУ компа (старым - добавляем, остальным - разгружаем) при старте игры; - даем статистику и ждем правок/оптимизации.
Вылет по переполнению стека бывает по двум причинам: - а) 'кривой' код; - б) 'локальный всплеск' - как правило единичен.
В случае а) - попытаться изменить свою игру/прохождение, откатиться на ранний сэйв. В случае б) - не использовать то, что приводит в вылету (например кнопку "Контакты" в КПК) или просто продолжить с последнего сэйва - вылет может и не повториться.
Ну а если совсем 'замучали' вылеты по стэку - отключить последние добавленные в сборку модули до их отладки и/или отключить не самые интересные для себя модули AI.
Как уже ранее пояснял по стэку: это область памяти выделенная игрой и в которой временно хранятся результаты выполнения различных функций. При превышении объема результатов объема выделенной области происходит переполнение по стеку (stack overflow). Заполнение стэка - это функция времени(!), т.е. заполнение изменяется (как правило увеличивается, но может и уменьшаться) по мере времени игры на локации. НЕ путать(!) стек и стораджи (хранилища) данных ГГ и объектов игры, которые запоминаются НЕ только в ОЗУ. Простейшая логика подсказывает - если стэк периодически опорожнять (очищать от невостребованных/устаревших данных) - переполнения можно избежать. Различные (квик)сэйв-лоады как минимум просто напросто полностью очищают стек, т.к. при загрузке(!) любого (квик)сэйва происходит переинициализация всех модулей/переменных. Однако(!) происходит потеря ранее выполненных проверок / вычислений / счетчиков / ... и т.п. - раненому Толику в логике прописано "стоять и ждать 60 сек после общения с ГГ". Если перезапустить сэйв после разговора - триггер состоявшего разговора уже сработал, а таймер времени обнулился -> Толик побежал домой. - Петруха докладывает о выполнении зачистки при условии смерти всех прописанных в гулаг АТП бандитов. Порой или Петруха умирает (его должен сдублировать докладом выживший напарник), порой счетчик сбивается, т.к. убивают НЕ сталкеры и/или ГГ, а Доктор или монстр ... После перезагрузки - триггер сработал, счетчик живых бандитов пуст, доклада не было => доклад Петрухи. И т.п. и т.д. ... Т.о. "лечение подвисших заданий" перезапусками вполне логично, но никак не относится к стэку, если не считать банальной полной его очистки.
Оптимизация Сталера для слабых машин: Сначала найдите у себя файл user.ltx, расположенный по адресу C:\Documents and Settings\ All Users\Документы\STALKER-SHOC\user.ltx и замените все содержимое в нем на нижесле- дующее:
Эта оптимизации позволит даже на низких и минимальных настройках улучшить гра- фику. Она идеально подходит для слабых, на "сталкеровский" взгляд, машин с расши- рением монитора 1280x1024.
Вот ещё про настройку графики
Команда r2_allow_r1_lights (on\off) включает и выключает дублирующие источники света, которые способны значительно улучшить качество освещения в игре. За красивости придется расплачиваться кадрами в секунду. Особенно около костров и фонарей.
r2_gloss_factor (0-10) задает яркость и глянец поверхностей. Чем больше значение, тем ярче блики. Десятку ставить не стоит, при таком значении даже ржавый уазик отсвечивает, как натертый зубным порошком серебряный поднос.
r2_Is_bloom_fast (on\off) отвечает за эффект размытости и дополнительного отраженного свечения объектов. При включении этой команды сразу вспоминается Oblivion. Попробуйте — и поймете почему.
r2_slight_fade (0.02-2) — команда связана с предыдущей и задает яркость освещенности объектов. Максимальное значение крайне не советуем, но что-то конкретное порекомендовать сложно. Пробуйте настройки, пока не найдете оптимальное значение.
r2_sun_lumscale (-1-3) и r2_sun_lumscale_amb (0-3) задает коэффициент солнечного освещения. Подбирайте по вкусу.
Обилие шейдеров может сильно изменить облик игры, но fps упадет существенно.
Мой рецепт оптимизации такой: 2 жестких диска SATA. На одном Вин 7-64, Сталкер и файловый менеджер(сборка,распаковка солянки, модов и патчей) и BoostSpeed от Auslogics. Антивирусника нет, сеть не настроена, никаких программ и прочего. Сталкера ставлю с проверенного неоднократно диска, а архивы солянки патчей и модов на проверенной АВ флешке. Переодическая дефрагментация диска/реестра, оптимизатор памяти и прочие полезности дает BoostSpeed. До недавнего времени вылетов кроме как "по стеку"(жадность до квестов и все сразу) не видел, сохранения грузятся быстро, переходы с локи на локу так же. Один большой минус--------переключение на другой диск для выхода в Инет, но если фанат - этот минус ничто.
По просьбе трудяшихся выкладываю с моей точки зрения интересную и поучительную сборку решений по вылетам и багам. Настоятельно советую скопировать и создать на своём компе такой же документ. Вылеты без лога - это обычно следствие неоптимизированого "железа", завышеных настроек и наличия "глючных" Электрохимер. Железо оптимизируем, настройки понижаем - химер лечим: Можно укоротить им "рабочий" день, в \gamedata\config\creatures\m_chimera.ltx DayTime_Begin = 4; начала дня для монстра, DayTime_End = 22; конец дня для монстра; Поставить им ночью 1 час, и можно их будет встретить только в указанные вами часы... Некоторые утверждают что вылеты без лога и зависания при сохранении сейвов лечатся значительным понижением настроек игры; Если падает FPS, отключите "сон НПС" в файле "meceniy_utils". Идем по пути: ...S.T.A.L.K.E.R\gamedata\scripts, открываем файл "meceniy_utils" (для дополнения от 13.02), или "ms_ai.script" (для дополнения от 23.02) и меняем в строке "npc_sleep = 0 --\\*Сон НПс (1 - вкл , 0 - выкл)" значение "1" на значение "0". Отключение интерактивного худа АМК (точнее, уже не АМК) и прочего делаем в амк_мод.скриптс:
-- Dynamic HUD Gift from ABC, Arharа and Kolmogor -- -- чтобы отключить эффект, поставьте вместо единицы ноль: local suithud_enable = 0 -- худ костюма local blurs_enable = 1 -- эффект запотевания local blood_enable = 0 -- эффект ранения local bleed_enable = 1 -- эффект плохого самочувствия
Нижеследующее должно избавить от многих случаев флуда красным в консоль (но не всех), кому всё равно, проигнорируйте smile.gif :
Открываем amk_offline_alife.script ищем: elseif sect =="mutant_flesh_eye" or sect == "mutant_boar_leg" or sect =="mutant_dog_tail" or sect == "mutant_psevdodog_tail" or sect =="mutant_krovosos_jaw" or sect == "mutant_burer_hand" or sect =="mutant_zombie_hand" or sect == "mutant_snork_leg" then меняем на: elseif sect =="mutant_flesh_eye" or sect == "mutant_boar_leg" or sect =="mutant_dog_tail" or sect == "mutant_psevdodog_tail" or sect =="mutant_krovosos_jaw" or sect == "mutant_burer_hand" or sect =="mutant_zombie_hand" or sect == "mutant_snork_leg" or sect =="mutant_spleen_rat" or sect =="mutant_flesh_eye" or sect =="mutant_face_tushkano" or sect =="mutant_fracture_hand" or sect =="mutant_hand_kontroler" or sect =="mutant_poltergeist_glas" or sect =="mutant_psevdogigant_hand" or sect =="mutant_tail_cat" or sect =="mutant_chimera_kogot" then
Arguments : LUA error: u:games.t.a.l.k.e.rgamedatascriptsutils.script:134: attempt to index local 'char_ini' (a nil value) - баги Нового сюжета 3. Переигрываем с более ранних сейвов. --------------------------- Arguments : LUA error: ...улиs.t.a.l.k.e.rgamedatascriptsxr_wounded.script:514: attempt to index field '?' (a nil value) - Переиграть эпизод --------------------------- Arguments : LUA error: e:gamess.t.a.l.k.e.rgamedatascriptssak.script:1286: attempt to index local 'obj_old' (a nil value) - Вы пытались поставить метку на мертвого или еще не появивщегося НПС. --------------------------- [error]Arguments : cs_inviz - посмотрите последние строчки в файле ui_custom_msgs и добавте недостающее:
---------------------------- [error]Arguments : fox_about_kriss - Пробуем сейвы до взятия квеста на экзу для Лиса. Но лучше всего - Новая игра. ---------------------------- [error]Description : there are no free room to place item - что то не влезает в слот. Т.е. иконка занимает места больше, чем размер слота. ---------------------------- Description : there is no specified level in the game graph : 215 - Что то попало за пределы сетки. Перезаход на локацию должен помочь. ---------------------------- [error]Arguments : Out of memory. Memory request: 50242 K Если у Вас 32 бит Vista выполните команду с правами администратора: BCDEDIT /Set IncreaseUserVa 3072 Если 32 битная Windows XP в boot.ini прописать ключ загрузки /3GB в boot.ini Забудете об "Out of memory"
Решение проблем с вылетами типа: invalid vertex и any vertex in patrol path Если при переходе на Радар у вас вылет: "У КОГО ВЫЛЕТАЕТ ПО СТВОЛАМ !!!" [error]Description : Invalid vertex for object [error]Arguments : wpn_*********
УСТРАНЯЕМ ВЫЛЕТ ПРИ ПЕРЕХОДЕ НА ДРУГУЮ ЛОКАЦИЮ.
"Решение"
Итак, 1) Открываем каталог со скриптами по следущему пути "S.T.A.L.K.E.R\gamedata\scripts" и находим файл bind_stalker.script Оставляем окно с файлом открытым. 2) Создаем текстовый файл, откроем его блокнотом и пока оставляем открытым. 3)Запускаем игру с последнего сейва который был перед /или ниже сохранялки с именем имя _autosave" идем к злополучному переходу и благополучно вылетаем в родной Windows где нас ожидает открытый блокнот. 4) Щелкаем теперь курсором в открытом блокноте. Меню Правка - Вставить у вас должен появиться этот листинг: (не пугайтесь информация при вылете игры храниться в буфере обмена- это было не чудо ) Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID) Function : CALifeSwitchManager::add_online File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_switch_manager.cpp Line : 64 Description : Invalid vertex for object Arguments : wpn_lr30011145 тут у вас будет своя строка с другими параметрами Аргумента- запишите ее. (блокнот пока не закрывайте) 5) В найденом файле bind_stalker.script ищем строку: function actor_binder:update(delta) ниже этой строки прописываем local se_obj = alife():object("wpn_lr30011145") сюда вписываем записанный ранее параметр, соблюдаяя кавычки и скобки. if se_obj then alife():release(se_obj, true) end (Не удаляем ниже вписаные строки. Обычно они могут немного отличаться) amk.oau_watchdog=200 amk.oau_reason="actor_binder:update" object_binder.update(self, delta) amk.oau_watchdog=199 6) Сохраняем, закрываем файл и запускаем игру с тогоже самого сейва. Если игра снова вылетела , опять копируем в блокнот свой листинг и находим нижнюю строку Arguments Записываем ее новый параметр , допустим wpn_lr30032265 Теперь наше выражение будет выглядить так: ________________________________________________ function actor_binder:update(delta) local se_obj = alife():object("wpn_lr30011145") local se_obj2 = alife():object("wpn_lr30032265") if se_obj then alife():release(se_obj, true) end if se_obj2 then alife():release(se_obj2, true) end amk.oau_watchdog=200 amk.oau_reason="actor_binder:update" object_binder.update(self, delta) _________________________________ Надеюсь всем стало понятно как бороться с этой напастью. Как вы поняли из описания наш Аргумент wpn_lr30032265 - это ничто иное как оружие ГГ. Если вылет все же происходит после двух добавленых Аргументов, продолжаем по ниже указанной формуле.Максимально допустимое количество добавленных аргументов мне не известно.
"Решение - дубликат"
function actor_binder:update(delta) local se_obj = alife():object("wpn_lr3007994") local se_obj2 = alife():object("wpn_lr3008003") local se_obj3 = alife():object("wpn_lr30014177") local se_obj4 = alife():object("wpn_lr30014962") if se_obj then alife():release(se_obj, true) end if se_obj2 then alife():release(se_obj2, true) end if se_obj3 then alife():release(se_obj3, true) end if se_obj4 then alife():release(se_obj4, true) end Вставляем после function actor_binder:update(delta) Красный ствол первый, Если после правки, на переходе, вылетает с другим стволом, добавляем остальные цвета по мере необходимости. Если не нужны, то соответсвующие цвета удаляем Грузить лучше с сейва до перехода. То есть посмотрели в логе вылета из за какого ствола вылет- вставили в скрипт свое название, если еще из за одного и его добавляем. Ещё один способ, удаления "глючных" предметов, предложенный пользователем romale, сам автор сего способа (sapsan?Shadowman? поправьте если не так) В файле gamedata\scripts\bind_stalker.script после значения function actor_binder:net_spawn(data) найти закомментированный блок кода: --[[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]] Убрать комментарии --[[ в начале перед local и ]] в конце после end. В bad_object_names вместо указанных для примера наименований стволов вписать названия объектов, которые имеется необходимость удалить. Каждое наименование заключается в кавычки ("wpn_lr30053522"), наименования, если их более одного, следует перечислять через запятую ("wpn_lr30053522", "wpn_lr30053522", и т.д) Пример 1. Удаление рестриктора удаления Седого Код 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-х предметов, к примеру - двух глючных зомбарей в саркофаге Код local bad_object_names = {"sarc_niz_zomb_2", "sarc_niz_zomb_1"} --тут аргументы могут быть другими...а название берём из лога вылета. 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 После этих действий, необходимо сохранить изменения в скрипте и загрузить сейв (лучше конечно до входа на локацию). Удаление будет выполнено во время загрузки, ГГ получит сообщение "Удалили глючный ствол:<название>" для каждого объекта, перечисленного в bad_object_names и существующего в игре. Удаленный один раз объект более раз удалять не нужно. После успешного удаления лучше (не критично) восстановить комментарии в коде --[[ в начале перед local и]] в конце после end
При вылете:E:\stalker\patch_1_0004\xrCore\LocatorAPI.cpp
Код Expression : assertion failed Function : CLocatorAPI::ProcessArchive File : E:\stalker\patch_1_0004\xrCore\LocatorAPI.cpp Line : 337 Description : hdr В дополнении от 03.08.09., в папке gamedata/texstures/ui, имеется скрытый системный файл Thumbs.db, его нужно удалить. Если вы не находите у себя этот файл, то нужно зайти в меню <Пуск> <Панель управления> <Оформление и темы> <Свойства папки> Вид - убрать галочку - Скрывать защищенные системные файлы и поставить точку - Показывать скрытые файлы и папки. Также можно убрать ещё галочку "Не кешировать эскизы". Этот файл и есть тем кешем эскизов и пересоздастся заново (возможно уже без проблем для игрока).
Проблема, когда Витамин не появляется после диалога с Лукашем(передачи печатки) Вот решение:
Правка Витамина от Архары Эх.... надо бы вам переиграть до базара с сидором. Не знаю. каким местом я думал, но в arhara_dialog.script вам надо найти:
Код --' убираем кидалу function delete_kidalo() local se_obj = alife():object("military_vitamin") if se_obj then alife():release(se_obj, true) end end И заменить на Код --' убираем кидалу function delete_kidalo() local se_obj = alife():object("esc_kidalo") if se_obj then alife():release(se_obj, true) end end
Если не переиграть - не будет спавна Витамина на складах. А Кидала - должен исчезнуть - как и сказал Сидор. Это касаемо всех, кого ещё не кинули или кинули, но базара с Сидором ещё не было.
Если при переходе на Радар у вас вылет: Код [error]Description : Invalid vertex for object [error]Arguments : wpn_*********
то:
1. Если заходим в первый раз на Радар (или отключили выжигатель на Радаре и больше туда не ходили) - ставим правку от Архары. 2. Если уже были на Радаре несколько раз - ставим правку от Дэна. Правка Дэна с картинками от Pahancop`a . Править файл bind_stalker.script
1) в темной долине постоянно вылетает с таким логом: ! Cannot find saved game ~~~ unknown_weapon_type_[wpn_xm8_para_sk2]_wpn_xm8_para_sk21880 ! error in stalker with visual actors\bandit\stalker_bandit_3 stack trace: 001B:00452606 XR_3DA.exe, CKinematicsAnimated::PlayCycle() Вы попробуйте переиграть с сейва до захода на локу, или просто с локи выйдите, а потом снова зайдёте... 2) 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 : hud_blood1 В ui_custums_msg надо вставить:
Код abc\blood1
abc\blood2
abc\blood3
abc\blood4
abc\blood5
3) 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 : hud_mil_yellow(эта строка может быть другой) неправильно установлена солянка 4) Вылет, связанный с контролером и артефактом внутри него [error]Expression : assertion failed [error]Function : CSafeFixedRotationState::create [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h [error]Line : 81 [error]Description : dBodyStateValide( вы попробуйте варианты: перетащить её в рюкзак мышкой или "взять всё"
Если никак. то перед этим - вот так: config\creatures\m_controller.ltx Max_Controlled_Count = 10;4 Меняем на Max_Controlled_Count = 0 Берём гусеницу, потом ворачиваем обратно Вариант 1. Открываем config\creatures\m_controller.ltx Находим текст Max_Controlled_Count = 10;4 (где-то 252 строка). Меняем на Max_Controlled_Count = 20;4 Сохраняем. Загружаем сейв перед вылетом. Пробуем повторить. Вариант 2. (Только если вариант 1 не помог!) Открываем config\creatures\m_controller.ltx Находим текст (где-то 245 строка) tube_at_once = true tube_min_dist = 0 меняем на tube_at_once = false tube_min_dist = 10 Сохраняем. Загружаем сейв перед вылетом. Пробуем повторить. Если ничего не помогло, попробуйте еще и уменьшить почти до минимума дистанцию видимости.
5) Итак после Бара идём со Свалки в Тёмную Долину на предмет Х-18. При переходе на локацию ТД имеем вылёт с этаким резюме: --------------- [error]Expression : vertex || show_restrictions(m_object) [error]Function : CPatrolPathManager::select_point [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp [error]Line : 155 [error]Description : any vertex in patrol path [val_escort_captive_wait_walk] in inaccessible for object [val_escort_captive] На пути патруля образовалась аномалия - не ходи в долину пока очередной выброс не пройдет 6) Вылетает с таким сообщением .Can't find texture 'wpn\l-85-amk-t'/...Can't find texture 'wpn\fn2000-amk-n/...Can't find texture 'wpn\1p21-amk_1280-t' (и тому подобных) У вас не оригинальное разрешение экрана для "Солянки" скачайте Универсальный инсталлятор прицелов 7)У меня игра часто вылетает при попытке нажатия кнопочки "Взять все" с логом ....Description : entity not found. id_parent=0 id_entity=38917 frame=74256. Это глюк ограничения инвентаря от АМК. Исправляется или отключением ограничения (в gamedata\scripts\amk_utils в самом начале есть строка RestrictionStock = 1 , вместо 1 ставим nil), или отказом от кнопки "Взять все". 8) 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. id_parent=7633 id_entity=7634 frame=9922 Ошибка 4 патча, вылазиет постоянно при боях с большим количеством мстителей или иногда когда попадаешь неписю в голову. Стараться не стрелять неписям в голову. 9) Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: ...hing\s.t.a.l.k.e.r\gamedata\scripts\state_mgr.script:193: C stack overflow Этот вылет происходит из-за переполнения рабочих стеков, как правило рандомный. 10) Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: ...hing\s.t.a.l.k.e.r\gamedata\scripts\xrs_utils.script:888: bad argument #1 to 'find' (string expected, got nil) Этот вылет связан с двумя стволами в игре - самопалом и арбалетом. Возникает при попадании к любому неписю кроме того у кого вы эти стволы покупали. Решение - не продавать и не давать неписям эти стволы. 11)Expression : I != levels().end() Function : GameGraph::CHeader::level File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h Line : 171 Description : there is no specified level in the game graph : 224 Вылеты такого типа рандомные, просто продолжайте играть. 12) Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : Arguments : LUA error: ...ing\s.t.a.l.k.e.r\gamedata\scripts\xr_wounded.script:514: attempt to index field '?' (a nil value) Если у вас попался такой вылет, и он не рандомный то попробуйте уйти с локации и прийти обратно после следующего выброса. Если дело срочное а вылет не дает играть то заходим в alife.ltx в папке gamedata\config, находим строчку switch_distance и ставим значение =0 Прошли проблемный участок - верните прежнее значение обратно. 13) Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:232: attempt to index field 'object' (a nil value) Обычно вылет рандомный, а если нет - уйдите с локи и придите после выброса. Или проводим ту же операцию с alife. 14)Expression : ini_file.section_exist(section) Function : CTradeParameters::process File : e:\stalker\patch_1_0004\xr_3da\xrgame\trade_parameters_inline.h Line : 111 Description : cannot find section h? Если у вас похожий вылет и если он не рандомный - уйдите с локи и придите после выброса. Или проводим ту же операцию с alife. 15)Если у вас вылетает на базе бандитов в ТД без лога - виновата электрохимера. Нужно ее убить. Если вылет происходит до этого - проводим ту же операцию с alife. 16)Если у вас где-то вылеты без лога в определенных местах - не ходите туда до следующего выброса.
Сборник вылетов и решений уважаемого Odavid с АМК форума Представляю краткую подборку и описания часто встречающихся вылетов Солянки 14.06 (и тех, что не включены в патч "Fix01 КУМУЛЯТИВНЫЙ" и, соответственно, в дополнение от 22.07). "Описание сборника и принятая нумерация"
Данное описание надо было сделать уже давно, да руки не доходили. Для себя уже сделал, выкладываю теперь для всех. К сожалению, ссылок или нет совсем, или очень мало - многие уже устарели, свои пока залить не могу. Но хотя бы будете знать, что искать в ЛС Работа сделана в помощь модераторам - теперь можно смело ссылаться на данный материал и гонять в ЛС всех интересующихся основными вылетами. Список далеко не полный, пока только несколько самых первых вылетов, исправленных в патче Fix01. Будет дополняться в ближайшее время Так как информации очень много, возможны описки (ошибок вроде нет - проверено и составлено по сообщениям и обсуждению с форума). Пронумерованы только фиксы, входящие в исправление Солянки (кроме фикса "Дверь Сидоровича закрыта" и правки дополнения "Дым-от-костров"). Остальные - по латинскому алфавиту (будут). Нумерация фиксов в порядке возрастания (моя, в соответствии с нумерацией от Архары): Fix-0 Fix-0.1 Fix-0.2.1 Fix-0.2.2 Fix-0.3 Fix0 КУМУЛЯТИВНЫЙ Fix0-01 Fix0-02 Fix01 КУМУЛЯТИВНЫЙ Fix01-1 КУМУЛЯТИВНЫЙ Fix1.1 Fix1.2 (т.е. "Fix0 КУМУЛЯТИВНЫЙ" вкл. Fix-0, Fix-0.1 и Fix-0.2.1; "Fix01 КУМУЛЯТИВНЫЙ" - вкл. "Fix0 КУМУЛЯТИВНЫЙ", Fix0-01 и Fix0-02; и т.д.)
Описание вылетов, фиксов, или решений по ним Fix-0 Погода на Неразведанной Земле(Костя).
"Погода на Неразведанной Земле(Костя)" Изменена погода на НЗ. Первая правка от Архары.
Fix-0.0 Вылет по погоде 'amk_clear_pasmurno_7'
"Invalid weather name: 'amk_clear_pasmurno_7' " ПРОБЛЕМА: Вылет после установки правки погоды от Кости: Код Invalid weather name: 'amk_clear_pasmurno_7' РЕШЕНИЕ: Вернуть старую погоду от Архары из оригинальной Солянки 14.06, без правок Кости.
Fix-0.1 Диалог с Шахтером(сразу выдает НЗ)
"Диалог с Шахтером(сразу выдает НЗ)" ПРОБЛЕМА: Шахтер выдает сразу, без расследования, сейф и переход на Неразведанную Землю (НЗ) (Архара делал себе чит для теста, и запустил его в Солянку по забывчивости). А лекарство для выхода из Пещеры - Шахтер может и не дать. РЕШЕНИЕ: Исправляется Fix-0.1 "Диалог с Шахтером". Поставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)"
Fix-0.2.1 Вылет на Свалке (Ангар) 'attempt to concatenate global 'reason'
"_g.script:1162: attempt to concatenate global 'reason' (a nil value)" ПРОБЛЕМА: Вылет на Свалке при торговле с Вороном после Агропрома (при подходе к- или в Ангаре), или попытке передачи предмета (например, Юрику), или при переходе с ТД на Кордон, или уничтожения Мстителей на Кордоне, битые сейвы на АС: Код 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 : [error]Arguments : LUA error: ... publishing\s.t.a.l.k.e.r\gamedata\scripts\_g.script:1162: attempt to concatenate global 'reason' (a nil value) ИЛИ (попытка торговли с Вороном) Код 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 : [error]Arguments : LUA error: ...s.t.a.l.k.e.r\gamedata\scripts\dialog_manager.script:244: attempt to index local 'tbl' (a nil value) РЕШЕНИЕ: Поставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" (вкл. и исправление у Ангара, и правку от Shadowman). Проблема делится на две части: правка от Седой (вошла в "Fix0 КУМУЛЯТИВНЫЙ" и в "Fix01 КУМУЛЯТИВНЫЙ") и правка _g.script от Shadowman (вошла только в "Fix01-1 КУМУЛЯТИВНЫЙ"). Fix-0.2.2 Вылет 'attempt to index local 'tbl'
"dialog_manager.script:244: attempt to index local 'tbl' (a nil value)" ПРОБЛЕМА: Вылет на Свалке при торговле с Вороном: Код 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 : [error]Arguments : LUA error: ...s.t.a.l.k.e.r\gamedata\scripts\dialog_manager.script:244: attempt to index local 'tbl' (a nil value) РЕШЕНИЕ: Правка торговли Ворона (см. также см. Fix-0.2.1 "Свалка, Ангар вылет 'g.script1162 global 'reason' (a nil value)' " Поставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" (вкл. исправление у Ангара и правку от Shadowman)
Fix-0.2.3 Вылет на Свалке 'bad argument #2 to 'format'
"_g.script:1159: bad argument #2 to 'format' " ПРОБЛЕМА: При приближении к Ангару - вылет: Код 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 : [error]Arguments : LUA error: e:\stalker\s.t.a.l.k.e.r\gamedata\scripts\_g.script:1159: bad argument #2 to 'format' (string expected, got no value)
РЕШЕНИЕ: Данный вылет у Ангара исправлен правкой от Shadowman. Поставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" - включает также Fix0 КУМУЛЯТИВНЫЙ(Правка у Ангара часть 1). См. также Fix-0.2.1 "Свалка вылет 'g.script1162 global 'reason' (a nil value)' " и Fix-0.2.2 "Свалка вылет 'attempt to index local 'tbl' (a nil value)' "
Fix-0.3 Вылет по партиклям 'arsenal_smoke_shells1'
"Particle effect doesn't exist" ПРОБЛЕМА: Вылет происходит или при обыске трупов НПС и монстров, или при выстреле в упор (обычно деревня новичков на Кордоне, ТД), или при использовании любого патрона натовского 5,56х45 в момент выстрела. Вылет "Не найдены партикли arsenal_smoke_shells1" - из-за отсутствия партиклей в конфигурационном файле: Код FATAL ERROR
Function : CRender::model_CreatePE File : E:\stalker\patch_1_0004\xr_3da\xrRender_R1\FStaticRender.cpp Line : 147 Description : Particle effect doesn't exist Arguments : weapons\group_items\arsenal_smoke_shells1
"Fix0 КУМУЛЯТИВНЫЙ" ПРОБЛЕМА: Диалоги Шахтера, вылеты по партиклям, вылеты у Ангара (Свалка). РЕШЕНИЕ: Содержит правки: 1. Погода от Кости для Неразведанной Земли; 2. Исправление диалогов у Шахтера; 3. Правки к новой солянке (вылеты по партиклям); 4. Правка вылета у Ангара (правка 1). Ранги не ломает. Если у Шахтёра было при первой встрече 2 диалога и Вы открыли переходы - следует переиграть с сейва до диалога с Шахтёром. Обязателен к установке. Включен в "Fix01 КУМУЛЯТИВНЫЙ".
Fix0-01 Правка вертексов на локациях
"Сбились максимальные вертексы на основных локациях" ПРОБЛЕМА: Сбились максимальные вертексы на основных локациях, что приводит к вылетам и зависаниям. РЕШЕНИЕ: Поставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" (вкл. правку Arhara по сбитым вертексам на основных локациях). Fix0-02 Вылет 'attempt to concatenate field (a nil value)'
"bind_stalker.script:651: attempt to concatenate field '?' (a nil value)" ПРОБЛЕМА: Вылет в Лабиринте, битые сейвы Код FATAL ERROR
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : [error]Arguments : LUA error: ...2\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:651: attempt to concatenate field '?' (a nil value) Код 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 : [error]Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:687: attempt to concatenate field '?' (a nil value) РЕШЕНИЕ: Предположительно, битые сейвы - из-за сбитых вертексов на локациях. Исправлено в "Fix0-01 Правка вертексов на основных локациях". Ставить "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" (вкл. правку Arhara по сбитым вертексам на основных локациях). Если не помогло - попробовать переигрывание локации с автосейва или с ближайшего до захода на локацию (после установки патча).
Объединённый патч № 01
"Fix01 КУМУЛЯТИВНЫЙ" ПРОБЛЕМА: Диалоги Шахтера, вылеты по партиклям, вылеты у Ангара (Свалка), вылеты из-за сбившихся вертексов. РЕШЕНИЕ: Содержит правки: 1. Погода от Кости для Неразведанной Земли; 2. Исправление диалогов у Шахтера; 3. Правки к новой солянке (вылеты по партиклям); 4. Правка вылета у Ангара (правка 1); 5. Правка сбитых максимальных вертексов на основных локациях. Ранги не ломает. Если у Шахтёра было при первой встрече 2 диалога и Вы открыли переходы - следует переиграть с сейва до диалога с Шахтёром. Обязателен к установке. Включен в "Fix01-1 КУМУЛЯТИВНЫЙ". Объединённый патч № 01 с правкой скрипта 'g_script' от Shadowman
Добавлено (14.01.2012, 21:14) --------------------------------------------- "Fix01-1 КУМУЛЯТИВНЫЙ(+правка Shadowman)" ПРОБЛЕМА: Диалоги Шахтера, вылеты по партиклям, вылеты у Ангара (Свалка), вылеты из-за сбившихся вертексов. РЕШЕНИЕ: Содержит ранее не вошедшую в "Патч №01" дополнительную правку скрипта 'g_script' от Shadowman. Также содержит правки: 1. Погода от Кости для Неразведанной Земли; 2. Исправление диалогов у Шахтера; 3. Правки к новой солянке (вылеты по партиклям); 4. Правка вылета у Ангара (правка 1); 5. Правка вылета у Ангара (правка 2, в "g_script" (Shadowman)); 6. Правка сбитых максимальных вертексов на основных локациях. Ранги не ломает. Если у Шахтёра было при первой встрече 2 диалога и Вы открыли переходы - следует переиграть с сейва до диалога с Шахтёром. Обязателен к установке. [url="http://ifolder.ru/12744627"]Ссылка[/url]
"Particle effect or group doesn't exist" ПРОБЛЕМА: Вылет при загрузке игры или сейва: FATAL ERROR [error]Expression : SG [error]Function : CRender::model_CreateParticles [error]File : E:\stalker\patch_1_0004\xr_3da\xrRender_R1\FStaticRender.cpp [error]Line : 156 [error]Description : Particle effect or group doesn't exist [error]Arguments : a_ufp_particles\new_campfire РЕШЕНИЕ: Неправильные партиклы для дыма костров. Поставить адаптацию Архары дыма от костров: [url="http://ifolder.ru/12743664"]Ссылка 1[/url] [url="http://upload.com.ua/get/900917548"]Ссылка 2[/url] [url="http://www.sendspace.com/file/l51p8l"]Ссылка 3[/url]
Fix1.2 Дверь Сидоровича закрыта после Пещеры
"Дверь Сидоровича закрыта" ПРОБЛЕМА: После Пещеры прихожу к Сидоровичу - а дверь закрыта. РЕШЕНИЕ: Редкий, но от этого не менее известный и неприятный баг. 1. Принести к двери (даже когда она нормально открывается) любой взрывчатый баллон или канистру (баллон из туннеля с курткой или канистру из туннеля с электрами - все равно ведь туда ходить), и взорвать. Дверь остается открытой навсегда. 2. Долбить ножом в дырку между дверью и косяком. Это очень долго, но после дверь остается всегда открытой. 3. Переустановить Солянку. 4. Если переустановка не помогла - значит, скачаны битые файлы - перекачать Солянку еще раз. 0-9 '001B:05Cxxxxx xrGame.dll' вылет "Загрузка сейвов на Янтаре"
'001B:03Dxxxxx xrGame.dll' вылет "Загрузка сейвов на Янтаре"
A 'add_specnaz_zombi' вылет "Вылет на Агропроме, подземелье"
D 'dBodyStateValide(В)' вылет "Вылет на Янтаре, X-16, завод "Росток"
S 'Story registry' вылет "Specified story object is already in the Story registry"
ВЫЛЕТЫ БЕЗЛОГОВЫЕ Янтарь, Х-16, Росток
Выше приведенные причины вылетов обычно являются следствием "битых" файлов или неправильной установки. Так же возможно что подобные ошибки плоды вашего вмешательства в файлы игры. Код 001B:01CD9EE6 xrRender_R2.dll Это ошибка рендера r2. Переключитесь на статику или меняйте видеокарту (или драйвера к ней).
Правка по вылету при попытке поговорить с Клыком в Баре, после возвращения с Варлаба FATAL ERROR [error]Expression : fatal error [error]Function : CInifile::r_section [error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp [error]Line : 342 [error]Description : [error]Arguments : Can't open section 'fake_wpn_knif2'
Залезьте сюда \gamedata\config\weapons\holodnoe\w_knif2.ltx. удалите оттуда всё и запихайте вот это:
Код ; "Клинок самурая" [wpn_knif2]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "weapons\knif2" $npc = off $prefetch = 8 scheduled = off cform = skeleton description = enc_weapons_tanto
FATAL ERROR [error]Expression : no_assert [error]Function : CXML_IdToIndex::GetById [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h [error]Line : 112 [error]Description : item not found, id [error]Arguments : kluk_vstr_after_prizrak_start Решение: чтобы не было вылета нужно прописать Вылет по "kluk_vstr_after_prizrak_start" Код
Сборка правок правка аномалий.rar gamedata правка Сяк.rar Klyk_fix на НЗ.rar dialogs_arhara клык на АС.rar amk_anoms_20100215_2141 заход в Госпиталь.7z
Правка вылета amk_mod.script:2708,(2786): attempt to index local 'respawner' (a function value)
Вылет возникает после получения в Припяти (по радисту) квеста на поиск документов в Красном Лесу при переходе, как в Красный Лес, так и на другие локи. ЗЫ: Кроме того, помогло избавиться от вылетов с логом "Актор завис. Сушите вёсла!". ЗЫЗЫ: Спасает от ситуации с первыми двумя куммулятивами, когда выходы с локи на локу становятся вылетами. Часто помогает с вылетами типа "Description : any vertex in patrol path [sarc_arhara_zombied_zombik2_walk] in inaccessible for object [sarc_arhara_zombied_respawn... и т.д." при посещениях Саркофага по квестам Молнии. ЗЫЗЫЗЫ: Инфу предоставил romale. И вовремя. Мною проверено. Ссылки:
Для всех тех, у кого имеет место безлоговый (либо с ним) вылет, при выбросе в Инсталляторе Солянки. Оставляем стандартную, либо Beautiful weather погоду в опциях инсталлятора и вылета НЕТ!
Правка вылета с аргументом gener_shlagbaum_freedom2_zombi Либо удалить как глючный ствол, либо добавить ему профиль зомби по аналогии с таким. подставив нужные параметры: Вот готовый конфиг. Впихните его в character_desc_arhara
Код GENERATE_NAME_stalker ui_npc_u_stalker_sv_hood_9 mil_Svoboda_specnaz_bio
Если опять получаем вылет с gener_shlagbaum_freedom2_zombi То у вас просто контролёр зомбировал двух свободовцев, а значит - добавьте после первого профиля ещё один - вот этот. Затем - сейв до вылета Код GENERATE_NAME_stalker ui_npc_u_stalker_sv_nauchniy rad_svoboda_master_bio
Для всех тех, кто только собираеться или уже зашёл на локацию "Генераторы" Многие жалуються о вылетах на этой локации. Не знаю как у остальных, а у себя я нашёл закономерность. При первом посещении локи у меня было очень много предупреждений такого типа" Вы были на грани вылета...переиграйте с сохранения..." - вся эта петрушка происходила почти везде. При этом "зависал" биорадар и детектор аномалий. Ради интереса загрузил автосейв, снял их с пояса и прошёлся по локации. Результат - НИ ОДНОГО предупреждения, и как следствие ни одного вылета. По поводу зависа Боцмана у третьей антены - нашёл причину, - Боцман при приближении к ней просто напросто выходит из зоны а-лайфа ГГ. Решение банальное - увеличить размер дистанции, увеличенная дистанция захватит как раз таки тот кусок территории(третья антенна и бункер), на которой зависает Боцман и он спокойно посидит у костра и вернёться обратно в деревню. 300 метров хватит с лихвой!
Код Arguments : LUA error: ...ishing\s.t.a.l.k.e.r\gamedata\scripts\rx_wmgr.script:709: attempt to index a nil value
Решение проблемы от Shadowman строка 709 в rx_wmgr.script: Код if obj and alife():object(self.npc_id).online then раз в этой строке нил, и при этом обж есть, то меняем эту строку на такое: Код if obj and self.npc_id and alife():object(self.npc_id) and alife():object(self.npc_id).online then Работоспособность правки подтверждена. Очень рекомендуется к внесению в официальную версию. Не исключено (в качестве побочного эффекта) избавление от вылетов "invalid vertex for object". Проверить это практически нереально, к сожалению.
Вылет по прицелу.
Expression : fatal error Function : CRender::texture_load File : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp Line : 295 Description : Arguments : Can't find texture 'crosshairs\wpn_crosshair_1p21' Данная проблемма лечится копированием этого файла
Совет Shadows по Лечении "ахтунга" при заходе на Генераторы с Лиманска Ахтунг ругается на рестрикторы solvador_put_warlab_restrictor и anders_put_warlab_restrictor
Для лечения, следует: 1. Заходим в файл gamedata\scripts\bind_stalker.scripts 2. Находим закоменченную функцию поиском: local bad_object_names 3. Раскоменчиваем её (убираем --[[ в начале строки и ниже убираем ]] перед последним "end") 3. Изменяем строчку так: Код local bad_object_names = {"solvador_put_warlab_restrictor", "anders_put_warlab_restrictor"} 4. Грузим автосейв, ахтунга нет. Сохраняемся, выходим из игры. 5. Закоменчиваем обратно функцию и играем дальше.
Лечение вылета LUA error: ... shadow of chernobyl\gamedata\scripts\amk_mod.script:2786: attempt to index local 'respawner' (a function value)
Для лечения, следует: 1. Заходим в файл gamedata\scripts\se_respawn.scripts 2. Найти поиском строчку amk.on_REspawn(obj,self) 3. Перед ней вставить: Код get_console():execute("load ~ Spawn now ["..tostring(self:name()).."] -> ["..obj:name().."]") 4. Сохранить скрипт и играть.
В игре в консоль может выводится красным текст типа такого: ! Cannot find saved game ~ spawn now [amk_embankment_soldat_respawn] -> [esc_soldier_respawn_specnaz21604] - не ошибка, просто информация.
Правка по вылету с аргументом: Quote писал (а): Description : XML node not found Arguments : global_wnd
Скачать: http://rghost.ru/3302260 Распаковываем и полученную папку gamedata помещаем в корневой каталог игры (папка S.T.A.L.K.E.R) и соглашаемся на замену... P.S. Автор правки пока неизвестен ________________________________________ Правка вылета: Arguments : target_dot_26 Вылет появляется в местах скопления НПС после установки неадаптированных к последней Солянке дополнений где затрагиваются файлы худа, это - адаптации к широкоформатам, сторонние худы и т.д... Относитесь внимательнее к установке таких дополнений...
Итак лечим:
Открываем - \gamedata\config\ui\ui_custom_msgs.xml или, если есть - ui_custom_msgs_16.xml (у широкоформатов) Там почти в самом начале находятся строки отвечающие за количество и размер точек на Биорадаре. Находим последнюю 25-ю:
Код
копируем ее, и сразу под ней добавляем еще штук 20-25 таких строк, (просто вставляя из буфера обмена) и проставляем им порядковые номера - 26, 27, 28 чтоб получилось так:
Код
и т. д. до требуемого количества... Почему добавляем 20-25 строк а не до ста как в оригинале? Можно и до сотни добить если есть желание, просто таких скоплений НПС в игре все равно не встречается... Можно сделать и еще проще, не добавляя строк в ui_custom_msgs.xml Открыть файл - \gamedata\scripts\biodetector.script и там в строке: local max_count = 100 изменить значение на = 25 Вылет пропадет, просто отображаться на Биорадаре будет не более 25 тушек...
Информация от Верховного Шамана мода 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
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
Добавлено (14.01.2012, 21:19) --------------------------------------------- [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 : [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) Ошибки типа: Код [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) Прямо над строкой в логе: "ВНИМАНИЕ!_Игра_принудительно_прерывается!" При данном типе ошибок всегда присутствует строка типа: "info~>xr_logic:pstor_load_all:obj=[prapor_mafon],id=[5818],var[)=[],type=[244]< -?:(23/3286163456):" В которой указан и конкретный 'виновник" (в данном случае: 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 : [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
Добавлено (14.01.2012, 21:20) --------------------------------------------- [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 : [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] или DEBUG: NPC --- На самом деле это не ошибка, а предупреждение движка или отладочное сообщение. Никаких проблем это не вызывает.
Составлял не сам, на права не претендую. По вылету scripts\smart_terrain.script:1214: вот http://www.sendspace.com/file/9o2lgl есть файл исправляющий проблему, но желательно сохранить и свой файл. Здоровый сон. Это конечно не совсем в тему, но всё же вдруг кому то пригодится:если вдруг Меченому "спать страшно" стало и он отказывается это делать, то вот нарыл инф-цию как это можно попробовать исправить вручную. Вообщем, от этого можно избавится, если закомментировать (это значит:ищешь указанные строки и ставишь перед ними два дефиса) 519, 520, 521 и 533 строки в amk_mod.script (понятно, что номера только для оригинального amk_mod.script - из последней версии солянки). Теперь Меченый при засыпании не обращает внимания на час ужаса и выброс (на "враги рядом" или когда "Меченный не хочет спать" или энергетики - это не распространяется). P.S. Обязательно делайте резервные копии файлов перед любым их редактированием! Автор mangust Доп-ная инф-ция:
Делать это лучше в AkelPad, в нем строки пронумерованы. Вот ССЫЛКА на портативный AkelPad 4.5.0 со всеми плагинами. Для того чтобы AkelPad отображал номера строк должен быть включен плагин "номера строк, закладки" в меню "Плагины"
===============================================================. Тайник Кости на Радаре
Совет: При взятии ПДА из тайника на Радаре, происходит комплексный удар, по сему ГГ должен быть полностью здоровым и по возможности быть обвешанным артами для смягчения ударного действия. Моментально после взятия ПДА, начинаем часто и быстро нажимать кнопку <Аптечка>, и я думаю, все будет хорошо. Если при взятии тайника на радаре, моментальная смерть, и ничего не помогает, то делаем так!
[spoiler]В файле spawn_teleport.script находим вот эту функцию: function polet() local h = hit() h.power = 5 h.direction = vector_rotate_y(db.actor:direction(), 90) h.draftsman = db.actor h.impulse = 100 h.type = hit.wound db.actor:hit(h) db.actor:give_info_portion("polet") end В ней меняем значение h.power = 5. Уменьшение цифры приводит к уменьшению хита.
1)Скачайте программу CFF Explorer 2)Откройте с помощью нее XR_3DA.exe 3)затем выбираем строку File Header и там видим Click Here.Нажимаем. 4)Выбираем опцию app can 2 GB handle или как-то так.Это позволит использовать Движку ТЧ больше 2 ГБ оперативы.(А видит он только 2 вроде.) 5)сохраняем этот екзешник и делаем Бэкап родного. 6)Запускаем модифицированный экзешник. 7)Играем =).
Настройки конфигурации в S.T.A.L.K.E.R.е хранятся в файле User.ltx, который находится по адресу:
Windows XP Documents and Settings\All Users\Shared Documents\STALKER-SHOC
Windows Vista Users\Public\Documents\STALKER-SHOC. Файл можно открыть с помощью Блокнота. Прежде чем вносить в него изменения, сделайте резервную копию (!). Рассмотрим некоторые настройки из этого файла. В квадратных скобках записаны возможные значения параметров. Нижеследующие опции с приставками r1_ относятся к режиму работы С.Т.А.Л.К.Е.Р.а в режиме DX8, в меню игры это называется Статическое освещение. Опции r2_ - к режиму DX9, что называется игрой Динамическое освещение.
Первыми пойдут опции DX8. Если вы используете DX9, то изменение этих опций ничего не даст.
r1_dlights [on,off] – вкл/выкл динамическое освещение в DX8. Странная опция, ведь DX8 уже подразумевает выключение динамического освещения. Возможно, это удаляет источник света вашего фонаря.
r1_dlights_clip [10.000 - 150.000] – дистанция динамического освещения при задействованном статическом… Странная опция, ведь при DX8 динамическое освещение не используется вообще. Возможно, это влияет на дальность освещения вашим фонарём.
r1_glows_per_frame [2 - 32] – Установка числа источников света. Влияет на качество графики и на ФПС.
r1_lmodel_lerp [0.000 - 0.333] – регулирует величину линейной интерполяции освещения модели. Короче, при повышении значения возрастёт качество графики некоторых моделей, например, вашего оружия.
r1_ssa_lod_a [16.000 - 96.000] - Регулирует основной Уровень Детализации (LOD), чем выше величина, тем больше детализация и видимость объектов на расстоянии, но за счет легкого падения FPS.
r1_ssa_lod_b [16.000 - 64.000] – Установка подобна предыдущей, но управляет детализацией некоторых объектов в пределах мира игры. Снова, чем выше значение, тем меньше ФПС.
r1_tf_mipbias [-0.500 - 0.500] – Управляет чёткостью текстур на расстоянии. При уменьшении значения текстуры будут более чёткие, но за это придется платить незначительным падением ФПС. Повышение параметра сделает текстуры размытыми, но может чуть-чуть поднять ФПС. До установки патча 1.0004 было возможно менять это значение в пределах от -3.000 до 3.000.
Теперь опции DX9. Если вы используете DX8, то изменение этих опций ничего не даст.
r2_gi [on,off] – Вкл/выкл более реалистичный метод освещения, при котором свет может отражаться с поверхностей и освещать другие поверхности. Включение этой опции сильно бьёт по производительности.
r2_gi_refl – Регулирует отражающий эффект поверхностей при включенной предыдущей опции.
r2_aa [on,off] – Эта опция включает псевдосглаживание. Это не является настоящим антиальясингом, а просто немного размазывает картинку на экране. Если у вас ЖК монитор, вы можете получить похожий эффект нахаляву, поставив разрешение экрана отличное от родного :). При его включении немного падает ФПС.
r2_aa_kernel [0.300 - 0.700] – Регулирует величину псевдосглаживания. Чем выше значение, тем сильнее размытие.
r2_aa_break [0.000000 - 1.000000,0.000000 - 1.000000,0.000000 -1.000000] – Эта опция регулирует расстояние, на котором действует псевдосглаживание. Вы можете сами подобрать удобное вам значение. Например, значение r2_aa_break 0.000000,1.000000,0.000000 даст чёткие закрытые помещения и размытые открытые пространства.
r2_aa_weight [0.000000 - 1.000000,0.000000 - 1.000000,0.000000 - 1.000000] – Этот параметр нужен для более точного управления псевдосглаживающим эффектом. Чем выше значения, тем сильнее смазывание.
r2_allow_r1_lights [on,off] – При включении опции частично будет использоваться DX8 освещение. Вроде бы, производительность должна подняться, но на деле может быть наоборот…
r2_gloss_factor [0.000 - 10.000] – Чем больше значение этого параметра, сильнее блестят глянцевые поверхности.
r2_ls_bloom_fast [on,off] – Усиливает эффект HDR, что может привести к тому, что картинка может быть слишком яркой и смазанной, на ФПС почти не влияет. Но это по вкусу…
r2_ls_bloom_kernel_b [0.010 - 1.000] – управляет уровнем размытия HDR, чем больше величина, тем сильнее картинка смазана.
r2_ls_bloom_threshold [0.000 - 1.000] – Регулирует яркость HDR, чем больше значение, тем менее яркость HDR. В результате, при значении 1, картинка будет как на DX8 с bloomом.
r2_ls_depth_bias [-0.500 - 0.500] – Регулятор дальности вида источников света. Низкие значения увеличивают глубину и границу источника, повышение параметра может практически полностью удалить источники света.
r2_mblur [0.000 - 1.000] – регулирует смазывание при движении. Отлично смотрится со значением 0.1, причём это не влияет на ФПС. Чтобы активировать это, недостаточно изменить параметр в конфиг-файле, нужно запустить игру с параметром –mblur. Открываете свойства ярлыка игры, и в пути к запускающему EXEешнику дописываете –mblur через пробел. Получится примерно так: D/Supergames/STALKER/XR_3DA.exe -mblur
r2_parallax_h [0.000 - 0.500] – Эта опция должна управлять Parallax Mappingом, но никаких визуальных изменений не наблюдается. Тем не менее, установка значения 0,04 может поднять ФПС.
r2_slight_fade [0.020 - 2.000] – Поднимая это значение можно улучшить ФПС.
r2_ssa_lod_a [16.000 - 96.000] - Регулирует Уровень Детализации (LOD) для мира игры, чем выше величина, тем больше детализация и видимость объектов на расстоянии, но за счет легкого падения FPS.
r2_sun [on,off] – Вкл/выкл Солнце как источник света. Если выкл, деревья и дома не будут отбрасывать тени.
r2_sun_depth_far_bias [-0.500 - 0.500]
r2_sun_depth_far_scale [0.500 - 1.500]
r2_sun_depth_near_bias [-0.500 - 0.500]
r2_sun_depth_near_scale [0.500 - 1.500]
Эти параметры регулируют r2_sun, если оно включено. Это по существу управление уровнем детализации теней и границей солнечного света и теневых областей.
r2_sun_details [on,off] – Тени травы
r2_sun_lumscale [-1.000 - 3.000] – Определяет яркость солнечного света, с величинами ниже нуля выключая Солнце :).
r2_sun_lumscale_amb [0.000 - 3.000] – регулирует яркость окружающего мира, не влияет на яркость солнечного света.
r2_tf_mipbias [-0.500 - 0.500] – Определяет, насколько чёткими будут текстуры на расстоянии. . При уменьшении значения текстуры будут более чёткие, но за это придется платить незначительным падением ФПС. Повышение параметра сделает текстуры размытыми, но может чуть-чуть поднять ФПС. До установки патча 1.0004 было возможно менять это значение в пределах от -3.000 до 3.000.
r2_tonemap [on,off] – Вкл/выкл Tone Mapping. Включение сделает HDR более качественным без падения производительности. Следующие опции r2_tonemap_ позволяют его настраивать.
r2_tonemap_lowlum [0.000 - 1.000] - Эта установка регулирует Tone Mappingа в темных областях. Чем выше эта установка, тем темнее HDR.
r2_tonemap_middlegray [0.000 - 2.000] - Эта установка имеет наиболее сильное влияние на HDR, и если её поднять, эффект HDR будет более богатый. Например, попробуйте величину 1.2, чтобы HDR в С.Т.А.Л.К.Е.Р.е выглядел как в Oblivionе.
Общие настройки. Работают как в DX9, так и в DX8.
ai_use_torch_dynamic_lights [on,off] – Вкл\выкл тени от объектов, освещаемых фонарями.
g_always_run [on,off] – по умолчанию, когда вы жмёте Вперёд, Меченый бежит, если эту опцию выключить, он будет идти шагом. Не путайте это со Спринтом, когда Меченый бежит очень быстро, тратя силы.
rs_stats [on,off] - Вкл/выкл статистику, включая показ FPS.
snd_cache_size [4 - 32] – Настраивает, сколько оперативной памяти используется для кэширования звуков, чтобы предотвратить заедания. При этом используется в два раза больше памяти, то есть, если вы поставите 16, будет использовано 32 МБ.
snd_targets [4 - 32] – Опция определяет число одновременных источников звука, повышение влияет на производительность при слабой (встроенной) звуковой карте.
vid_mode [WxH] - Настройка разрешения экрана
texture_lod [0 - 6] - Уровень детализации удалённых текстур. Чем ниже значение, тем лучше текстуры.
r__geometry_lod [0.2 - 1.4] - Уровень детализации объектов. Меньшие значения соответствуют лучшей детализации.