Error 87 параметр задан неверно сталкер

Обновлено: 30.06.2024

Привет всем! Игра S.T.A.L.K.E.R., а конкретно сам движок X-Ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра «вылетает». Чтобы мы знали причину вылета, движок нам оставляет лог вылета. Лог вылета можно посмотреть несколькими способами:

  • В текстовом редакторе нажать Ctrl+V (Вставить)
  • Посмотреть лог игры включая лог вылета в файле xray_имя_пользователя.log в папке C:\Documents and Settings\All Users\Документы\STALKER-***\logs
  • Посмотреть непосредственно в окне багтрекера (только в ЧН и ЗП).

Ну приступим. Начнём с простых:

Здесь игра не может открыть звуковой OGG-файл под названием sound в папке d:\stalker\gamedata\sounds\music\

Не может найти текстуру act_corp_monolit из папки textures\act

Не найдена трёхмерная OGF-модель mesh.ogf из папки meshes\physics.

Не найдена система частиц (партикл) hit_water_00 в директории hit_fx файла particles.xr (подробно опишу позже).

Не установлен интервал (время) проигрывания группы/эффекта партиклов. В Particle Group -> End Time(s) укажите время, через которое частицы должны исчезнуть. Заодно проверьте particle effect -> Kill Old -> Age limit.

Не найден шейдер models\antigas_glass в библиотеке шейдеров.

Тут проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем Draft. Нужно скачивать исправление шейдеров от товарища Haron. Для ЗП (ЧН) это может ещё быть из-за отсутствия thm-ок для текстур террейна уровня!

Нехватка оперативной памяти.

Неправильно настроены шейдеры. В настройках шейдера, во вкладке R2-A поставьте текстуру, которая вдальнейшем будет накладываться на террейн.

Не найдена переменная ammo_mag_size в секции [wpn_addon_grenade_launcher].

Переполнение стека. Смотрим внимательно: lua_error. Ошибка, возможно, в скриптах.

Какая то вершина (вейпоинт) пути sniper_3_walk стоит в неположенном месте (например не на аи-сетке). Объект stalker_0002 (в данном случае сталкер) который якобы двигался по пути sniper_3_walk попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.

Возникают иногда произвольно при смерти неписей. Причина — движок, отрабатывая лут, изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет.

Ошибка распространённая. На первый взгляд кажется, что ошибка как раз в скриптах, но всё может быть иначе. В одной из пиратских версий игры этот вылет наблюдается особенно часто из-за криво модифицированного файла "XR_3DA.exe". Если же вы уверены, что у вас лицензионная версия игры, можно попробовать сделать так: открываем файл _g.script блокнотом, закомменчиваем 20 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ.

Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форуме.

Неправильный визуал (модель) НПС.

В диалоге esc_dialog нет доступной для отображения фразы (скажем, все заткнуты инфопоршенами).

Игра не нашла в модели трёхмерную анимацию с именем death_init.

Причина вылета в том что игра не понимает значения 0 в danger_ignore.Проще говоря в логике какого то персонажа параметр danger_ignore = 0 либо в минусовом значении. Либо его вообще нету

P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.

Не найден класс персонажа. Возможно, НПС не прописан под своим классом в gamedata\npc_profile.xml, либо в creatures\spawn_section.ltx, либо в gameplay\character_desc.xml

Игра не может найти секцию. Это может быть предмет, НПС и многое другое. Возможно, вы написали название с ошибками. Либо когда добавляли его в: продажу, скрипт, НПС , выпадение из НПС, а в редких случаях это может быть иммунитет чего либо(определить потом трудно). Часто такое бывает связано с названием секции.

Не найдена переменная remove_time в секции [vehicle_btr]. А в данном случае ошибка в том что если вы делали предмет как физическую модель(то бишь, которую нельзя использовать, говорить и вообще он похож на декорации типа деревьев, столов и прочего хлама) то необходимо указывать remove_time в его секции.

Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту.

На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0

Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true. Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженных патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.

Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча.

Вылет встречается только на 6 патче при попытке хаванья из трупа. Ищите, исправленную Kolmogor'om, xrGame.dll в Интернете

Данный вылет бывает когда у какого либо из объектов установлено некорректное значение (читал, сам не получал его) Или же если данный вылет происходит при вызове класса, то проблема в том что в методе __init() класса прописано super()

Вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.

Происходит при попытке вызвать класс, которого не существует

Небольшой пример из практики по определению ошибки в особых случаях(для начинающих): Игра зависла, картинка на экране не меняется, на Ctrl + Alt+ Delete не реагирует. Только "Холодная перезагрузка" reset. Но при этом обычно в логе нет записи и обычным Ctrl + V ошибку не увидеть. Я пользуюсь программой Punto Switcher. Есть в ней опция "дневник", она ведёт запись всех нажатий клавиш и по нажатию сочетаний клавиш содержимое памяти может записывать в дневник. теперь когда игра зависла и картинка на экране не меняется, нажимаете Ctrl + Alt+ Delete. Внешне ничего не изменится, но ОС будет реагировать на клавиши, нажимаете сочетание клавиш "записать в дневник". Делаете перезагрузку, открываете дневник - Ваша ошибка записана. "дядя Саша"

Возникает при создании или добавлении чужих артефактов. В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет. Решается конвертированием модели арта в .object, просмотром в sdk и выяснением имени косточки с занесением в конфиг.

Скорее всего, отсутствует файл level.ai. Возможно после правки уровня в SDK и компиляции AI, вы забыли его скопировать в папку уровня. Важно помнить, что level.ai нужно обновлять для всех уровней, а не только для тех, которые подвергались правке.

Безлоговый вылет

Вылет, при котором лог отсутствует. Причины такого вылета:

1. Безлоговые вылеты бывают в основном из-за завышенных настроек видео.

Решение: В папке с игрой открыть папку gamedata, папку config, в ней файл alife, открыть любым текстовым редактором (блокнотом, или лучше word pad'ом) и найти строку switch distance = и изменить значение на 5, сохранить изменения. Это только одна (не сильно вероятная) причина безлогового вылета. если вы знаете ещё одну причину, пожалуйста напишите здесь.

Александр Федоренко

cannot remove restriction with id [10785][gar_zone_field_acidic_weak] to the entity with id [25562][rat_strong25562], because it is not added

cannot remove restriction with id [10850][gar_zone_mine_acidic_weak] to the entity with id [25562][rat_strong25562], because it is not added
stack trace:

0023:06D2C431 xrPhysics.dll, CPHUpdateObject::Deactivate()
0023:06463B71 ODE.dll, dCollide()
0023:06D31897 xrPhysics.dll, CPHUpdateObject::Deactivate()
0023:06D0725D xrPhysics.dll, ActivateBoxDynamic()
0023:06D35959 xrPhysics.dll, destroy_object_space()
0023:007C4528 xrCore.dll, xrCriticalSection::Leave()
0023:06D202FE xrPhysics.dll, RegisterGroup()
0023:06D201CD xrPhysics.dll, RegisterGroup()

[error][ 6] : Неверный дескриптор.

На свалке около жарок вылет

Александр Федоренко

cannot remove restriction with id [10789][gar_zone_field_psychic_weak] to the entity with id [24751][pseudodog_strong24751], because it is not added
stack trace:

[error][ 87] : Параметр задан неверно.

Вылетает при попытки передать вещь напарнику, в моем случае аптечка

Поликарп Люберецкий

UPD, к разработчикам: не претендую на истинность, но на мой взгляд было бы логичным, если бы приём снотворного обнулял счётчик выпитых энергетиков.

Иван Фёдоров

У наемников, по сих пор нету торговца, он не приходит, ждал 3 дня, мод холодильника. В контактах его тоже нету

Сеня Кардан

Поликарп, А можно подробней с лечением бага на сон, а то выше я что-то не уловил?

Поликарп Люберецкий

Затем нужно перейти в папку с распакованными файлами, зайти там в папку scripts, и в ней найти файл ui_sleep_dialog.script . Этот файл можно открыть либо при помощи блокнота, либо для удобства
при помощи Visual Studio Code. Далее в этом файле нужно найти строки 149-151 (либо если используем блокнот, то щёлкнуть ctrl+F и в окошке поиска ввести строчку "function sleep_dialog:OnButtonSleep()" без кавычек).
Тут нам нужно заменить следующие строки:
```
if (sleep_dep.caff_chk and sleep_dep.caff_chk > 2) then
SetHudMsg(game.translate_string("st_sleep_awake_wired"),4)
return
elseif (sleep_dep.last_sleep and sleep_dep.no_sleep and sleep_dep.last_sleep < sleep_dep.no_sleep) then
```

на такие:
```
--// if (sleep_dep.caff_chk and sleep_dep.caff_chk > 2) then
--// SetHudMsg(game.translate_string("st_sleep_awake_wired"),4)
--// return
if (sleep_dep.last_sleep and sleep_dep.no_sleep and sleep_dep.last_sleep < sleep_dep.no_sleep) then
```
(Не знаю, нужно ли сохранять отступы, я на всякий случай сохранял. Пусть знающие люди меня поправят.)

Затем нужно сохранить файл, и запаковать то, что у нас получилось при помощи того же AXR Toolset. Для этого необходимо перейти на вкладку "repack 1", указать путь к файлам, которые мы редактировали, указать папку, в которую это всё запакуется, а так же проставить галочки на всех Compress Options, после чего щёлкнуть "Execute". Таким образом мы получим изменённые db файлы.


Ошибка 87, параметр неверен

Мы исследовали эту конкретную проблему, просмотрев различные пользовательские отчеты и стратегии исправления, которые обычно используются для решения этой конкретной проблемы. Исходя из того, что мы собрали, существует несколько различных потенциальных виновников, которые могут вызвать эту проблему:

Если вы пытаетесь решить ту же самую проблему, эта статья предоставит вам несколько стратегий исправления. Ниже вы найдете набор методов, которые другие пользователи в аналогичной ситуации успешно использовали для решения этой конкретной проблемы.

Для достижения наилучших результатов мы рекомендуем вам следовать приведенным ниже методам в том порядке, в котором они представлены, поскольку они упорядочены по эффективности и серьезности. В конце концов, вы должны наткнуться на метод, который решит проблему независимо от виновника, который вызывает проблему.

Метод 1: Выполнение чистой загрузки

  1. Прежде всего, убедитесь, что вы вошли в систему с пользователем, имеющим права администратора.
  2. Нажмите Windows ключ + R открыть Бежать диалоговое окно. Далее введите «MSCONFIG» внутри текстового поля и нажмите Войти открыть Конфигурация системы окно. По подсказке UAC (контроль учетных записей), щелчок да предоставить административные привилегии.
    Запуск MSCONFIG
  3. Внутри Конфигурация системы выберите Сервисы вкладка из панели ленты в верхней части и начните с флажка, связанного с Скрыть все службы Microsoft. Затем переключите ваше внимание на остальные службы, указанные выше, и нажмите Отключить все кнопка, чтобы предотвратить включение сторонних сервисов при следующем запуске системы.
    Отключение всех сторонних сервисов
  4. После того, как вы нажали Применять чтобы сохранить изменения, выберите Запускать вкладку и нажмите на Открыть диспетчер задач.
    Открытие диспетчера задач через конфигурацию системы
  5. На вкладке «Автозагрузка» диспетчера задач выберите каждую службу в отдельности, а затем нажмите запрещать чтобы он не запускался при следующем запуске системы.
    Отключение приложений из автозагрузки
  6. Как только все необходимые элементы будут отключены, закройте диспетчер задач и перезагрузите компьютер.
  7. При следующем запуске системы ваша машина загрузится в состояние чистой загрузки.
  8. Повторите действие, которое ранее вызывалоОшибка 87, параметр неверенИ посмотрите, была ли проблема решена.
  9. Если процедура прошла успешно, вернитесь к шагам 3 и 5 и систематически повторно включите элементы автозагрузки. Услуги, которые вы отключили в сочетании с перезагрузкой, пока вы не обнаружите своего виновника.

Если этот метод не помог вам, перейдите к следующему способу ниже.

Способ 2: Выполнение CHSDSK, SFC DISM сканирование

Как выясняется, эта конкретная проблема также может быть вызвана повреждением системных файлов, которое может привести к путанице с драйверами дисплея. Несколько пользователей, пытающихся решить эту проблему, сообщили, что проблема была решена после выполнения сканирования CHKDSK, SFC или DISM. Это две встроенные утилиты, которые, как известно, устраняют множество проблем, связанных с системными файлами.

Вот краткое руководство, которое делает это на любом компьютере с Windows:


    Когда вы будете готовы начать сканирование, нажмите Windows ключ + R открыть диалоговое окно «Выполнить». Затем введите «ЦМД» и нажмите Ctrl + Shift + Enter открыть командную строку с повышенными правами
    Запуск CMD в качестве администратора

Замечания: Когда вас попросят UAC (контроль учетных записей пользователей), щелчок да предоставить административные привилегии.

Замечания: Утилита проверки системных файлов (SFC) будет сканировать все защищенные системные файлы и заменять любые поврежденные файлы, которые удастся найти, локально сохраненными копиями, расположенными в сжатой папке (точное местоположение (% WinDir%\ System32 \ Dllcache)

Замечания: Сканирование DISM использует Центр обновления Windows для извлечения файлов, необходимых для исправления обнаруженных поврежденных случаев. Вот почему важно убедиться, что у вас есть стабильное подключение к Интернету, прежде чем выполнять этот последний шаг.

Если то же самоеОшибка 87, параметр неверен”Ошибка все еще происходит, перейдите к следующему способу ниже.

Способ 3: откат (удаление) драйверов дисплея

Как выясняется, эта конкретная проблема также может быть вызвана поврежденным или неполным драйвером дисплея. Некоторые пользователи, которые сталкивались с этой проблемой, сообщили, что проблема перестала возникать после того, как они использовали Диспетчер устройств для отката драйвера дисплея (или удаления драйвера), если не было доступно действие отката.

Это не будет иметь длительного эффекта на вашем компьютере, так как Windows 10 оборудована для установки любых недостающих драйверов обратно на ваш компьютер.

Вот краткое руководство по откату или удалению драйверов дисплея:

  1. Нажмите Windows ключ + R открыть Бежать диалоговое окно. Затем введите «Devmgmt.msc» и нажмите Войти открыть Диспетчер устройств.
    Запуск диспетчера устройств
  2. внутри Диспетчер устройств, разверните раскрывающееся меню, связанное с Видеоадаптеры.
  3. Затем щелкните правой кнопкой мыши на вашем адаптере дисплея и выберите свойства из контекстного меню.
    Доступ к меню свойств адаптера дисплея

Замечания: Если у вас два разных драйвера дисплея (выделенный и интегрированный вариант), желательно, чтобы вы работали с обоими.

Замечания: Если Откат драйвера версия недоступна, нажмите на Удалить устройство вместо.

Если та же самая ошибка все еще происходит, перейдите к следующему способу ниже.

Способ 4. Восстановление службы Центра обновления Windows

Если вы получаетеОшибка 87, параметр неверен«Ошибка при попытке запустить службу Windows Update, скорее всего, службы по умолчанию были изменены до такой степени, что некоторые записи были повреждены.

Несколько пользователей, столкнувшихся с этой конкретной проблемой, сообщили, что им удалось решить проблему на неопределенный срок после выполнения действий, необходимых для восстановления служб по умолчанию и настроек.

Важный: Следующие шаги применимы только к Windows 10.

Вот краткое руководство по восстановлению службы Windows Update:

Метод 5: Включение разделенного туннелирования (если применимо)

Некоторые затронутые пользователи сообщают, что в их случае проблема была вызвана тем, что в последних версиях Windows 10 Split Tunneling автоматически отключался из-за некоторых проблем безопасности. Если вы столкнулись с этой проблемой при попытке открыть ваше VPN-приложение, вы можете решить эту проблему, выполнив ряд команд Powershell, которые помогут вам снова включить Split Tunneling.

Вот что вам нужно сделать:

  1. Нажмите Windows ключ + R открыть Бежать диалоговое окно. Затем введите «PowerShell» и нажмите Ctrl + Shift + Enter чтобы открыть поднятое окно Powershell. Если предложено UAC (контроль учетных записей пользователей) подскажите, нажмите да предоставить доступ администратора.
    Диалог запуска: powershell Затем нажмите Ctrl + Shift + Enter
  2. В командной строке Powershell с повышенными правами введите следующую команду и нажмите Войти чтобы увидеть подробную информацию о вашем VPN-соединении:
  3. Вы получите список с информацией о вашей VPN, включая имя и функцию раздельного туннелирования. Если функция раздельного туннелирования установлена ​​на Ложь, запишите имя, как оно нам понадобится в следующих шагах.
    Расследование, если Сплит Туннелирование отключено
  4. Введите следующую команду и нажмите Войти чтобы включить сплит туннелирование:

Заметка: «Имя VPN”- это просто название вашего VPN, которое вы обнаружили на шаге 3.

Способ 6: редактирование реестра (если применимо)

Если вы сталкиваетесь сОшибка 87, параметр неверенОшибка при попытке отключить MessagingService_48ab2 обслуживание или OneSyncSvc_54186de сервис, вы сможете решить проблему с помощью простого реестр редактировать. Как сообщается, этот метод эффективен на компьютерах с Windows 10.

Вот краткое руководство по отключению MessagingService с помощью редактора реестра:


  1. Нажмите Windows ключ + R открыть Бежать диалоговое окно. Затем введите «Regedit» и нажмите Войти открыть редактор реестра. По подсказке UAC (контроль учетных записей пользователей), щелчок да предоставить доступ администратора.
  2. В редакторе реестра используйте левую панель, чтобы перейти в одно из следующих двух мест (в зависимости от того, какую службу вы хотите отключить):
  3. Как только вы дойдете до правой клавиши, перейдите на правую сторону и дважды щелкните Начните DWORD.
  4. Затем установите База в шестнадцатеричный а затем установите Значение данных в 4 (отключено).
    Отключение сервиса
  5. Закрой Редактор реестра, перезагрузите компьютер и посмотрите, будет ли проблема решена при следующем запуске системы.

Если проблема все еще возникает, перейдите к следующему способу ниже.

Способ 7: переименование файла atig6pxx.dll

Если вы сталкиваетесь с «Ошибка LoadLibrary с ошибкой 87: параметр является неправильной ошибкой» когда вы пытаетесь открыть Vegas Pro или аналогичную программу редактирования и у вас есть видеокарта ATI, вы, вероятно, страдаете от повторяющейся проблемы, которая затрагивает многих пользователей в аналогичной ситуации.

Несколько пользователей, которые столкнулись с этой проблемой, сообщили, что им удалось решить ее, изменив файл DLL с именем atig6pxx.dll. После этого они сообщили, что смогли открыть программу редактирования, которая ранее не работала с этой конкретной ошибкой.

Вот что вам нужно сделать:


  1. Используйте функцию поиска на панели задач Windows для поиска «atig6pxx.dll». Вы можете нажать Клавиша Windows + S воспитывать Поиск функционировать мгновенно.
  2. Из списка результатов щелкните правой кнопкой мыши на atig6pxx.dll и выбрать Откройте расположение файла. Это должно привести вас прямо в папку System32.
  3. Затем щелкните правой кнопкой мыши на atig6pxx.dll файл и выберите Переименовать. Затем просто добавьте .безналу расширение в конце .длл расширение. По сути, это заставит вашу ОС игнорировать этот файл. Нажмите да в запросе подтверждения, затем нажмите да еще раз, если вас попросят UAC (контроль учетных записей пользователей).
    Переименование файла с расширением BAK

Примечание. Если расширения не видны с самого начала, перейдите на панель ленты в верхней части окна проводника и нажмите Посмотреть и убедитесь, что поле связано с Расширения имени файла включен.

Товарищи, добрый день.

Использую модификацию S.T.A.L.K.E.R. Dead Air Rebalance 1.2 fix 4.

Первая ошибка:
0023:063AD035 xrRender_R2.dll
0023:064111DF xrRender_R2.dll
0023:06410568 xrRender_R2.dll
0023:70C7BC49 MSVCR120.dll, Concurrency::details::_SpinWait<1>::_NumberOfSpins()
0023:70C7BC96 MSVCR120.dll, atoflt_l()
0023:70C7BCA4 MSVCR120.dll, atoflt_l()
0023:70C6F90C MSVCR120.dll, finite()
0023:70C6E99F MSVCR120.dll, qsort()
0023:70C6F41C MSVCR120.dll, sscanf()
0023:00BF7C05 xrCore.dll, CInifile::r_fcolor()
0023:06A74AB4 xrGame.dll, CDialogHolder::UseIndicators()

[error][ 87] : Параметр задан неверно.

Вторая ошибка:
0023:064BD035 xrRender_R2.dll
0023:065211DF xrRender_R2.dll
0023:06520568 xrRender_R2.dll
0023:680ABC49 MSVCR120.dll, Concurrency::details::_SpinWait<1>::_NumberOfSpins()
0023:680ABC96 MSVCR120.dll, atoflt_l()
0023:680ABCA4 MSVCR120.dll, atoflt_l()
0023:6809F90C MSVCR120.dll, finite()
0023:6809E99F MSVCR120.dll, qsort()
0023:6809F41C MSVCR120.dll, sscanf()
0023:00CD7C05 xrCore.dll, CInifile::r_fcolor()
0023:06CF4AB4 xrGame.dll, CDialogHolder::UseIndicators()

[error][ 259] : Дополнительные данные отсутствуют.

Графику снижать пробовал до минимальной, рендер менял, игра стоит на SSD. Оперативной памяти вроде бы хватает.

Читайте также: