Перейти к контенту
ColR_iT

Справочник вылетов

Рекомендуемые сообщения

Если у Вас случился вылет, возможно, здесь есть описание его причины, и как это исправить.

Если он здесь еще не описан, и Вы нашли его причину, опишите это здесь, по аналогии с имеющимся. Самое главное в описании: платформа (ТЧ, ЧН, ЗП), строка line : xxx, причина.

 

Все вылеты из этой темы собраны ЗДЕСЬ.

 

Поскольку публикаций по ПРИЧИНАМ вылетов я давно уже не вижу, а вижу исключительно флуд, тема закрыта. Если Вы обнаружили вылет, который здесь не описан, и знаете, как его лечить - напишите модераторам в л/c.

Изменено пользователем Dennis_Chikin
  • Полезно 2
Ссылка на комментарий

Людмила, есть запрет)) вот его логика:

 

[smart_terrains]
none = true

[logic]
active = mob_home
on_death = death
on_hit = hit

[mob_home]
path_home = yantar_kontroller_yazva_walk
home_min_radius = 15
home_max_radius = 20
aggressive_home
on_signal = sig_attacked | mob_combat

[mob_combat]
on_timer = 30000 | mob_home

[death]
on_info = {=killed_by_actor_eagle} %=arhara_dialog.fotka_kont_yazva_have%

[hit]
on_info = {=hit_by_actor_eagle} %=arhara_dialog.fotka_kont_yazva_have%

 

То, что запрет стоит не в алспауне а вынесен в cfg файл, ничего не меняет - все работает в обоих вариантах. Вот скрипт из xr_logic, обрабатывающий этот момент:

 

local filename = utils.cfg_get_string(ini, section_logic, "cfg", npc, false, "")
if filename then
printf("_bp: enable_scripts: object '%s' has external configuration file '%s'", npc:name(), filename)
-- Рекурсивно обработать конфигурационный файл, на который ссылается поле cfg
actual_ini_filename = filename
actual_ini = ini_file(filename)
return configure_schemes(npc, actual_ini, actual_ini_filename, stype, section_logic, gulag_name)

 

тут просто рекурсивно вызывается чтение схем уже из другого ini файла. И запрет по смартам также читается) проблема именно в том, что я написал) Если ему поставить walker - то сразу вылет по путям. И я спавнил его, находясь в туннеле рядом с ним, т.е. он сразу был в онлайне. А в гулаги объект с логикой движок затягивает, мне думается, только если он находится в оффлайне. Сам лично с этим столкнулся, когда начинал спавнить неписей, и забыл прописать запрет на смарт) Непись четко был на месте и отыгрывал логику, пока он был в онлайне. Но стоило мне уйти с локи и вернуться, как он пропадал) А здесь контрик сразу выходил из-под логики home, сразу после спавна, находясь в онлайне. И вылет по путям сразу после спавна при прописывании схемы walker также говорит об этом, ибо ему просто некуда идти - все пути отрезаны рестрикторами) А если бы не было запрета на смарт, то ничего бы не вылетало - он просто уходил бы в гулаг и все. А когда я прописал ему этот рестриктор, то все - и вылет по walkery пропал - он стоял в точке, и home заработал - он никуда не уходит) Так что проблема была именно в этом)

 

ЗЫ: а насчет прописывания запрета на смарты в алспауне, а не в конфигурационном файле я тоже сначала думал, что не будет работать) но потом покопался в алспауне и увидел, что так (запрет стоит в cfg)  стоит в Соли у Молнии в МГ - dead_city_molniy. А также у некоторых ООПшных персонажей. И никто ни разу не жаловался, что они куда-то пропадают)

Изменено пользователем proper70
Ссылка на комментарий

@proper70,
А почему ты цитируешь скрипт из xr_logic, а не из se_monster/smart_terrain, в которых собственно и происходит вычитывание секции smart_terrains? :)
Оригинал не читает секцию smart_terrains из внешних файлов, только из кастомдаты.

 

И это действительно так.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

Справедливости ради (и не только) замечу, что 'оригинал' (ТЧ) все же читает из сторонних файлов секцию 'smart_terrains', что видно, например, в se_respawn.script, где вычитываются настройки респавна и все неписи/монстры (не)ищут работу в гулагах. Также, в секциях спавна (см. в папке creatures) движок читает строку с указанным парамером 'custom_data' и соответственно внешний файл... так что все же можно задавать игнорирование гулагов (и не только) не только в алл.спавне. ;-)

Однако это не относится к тому, о чем говорит @proper70, т.к. в его случае речь идет только о логике, т.е. 'xr_logic' читает из внешнего файла только секцию [logic], игнорируя все другое. Соответственно как раз запрет на гулаги в его случае и не работает...

(однако все это уже для топиков "ковырялок", и не имеет отношения к данному топику)

  • Полезно 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

так что все же можно задавать игнорирование гулагов (и не только) не только в алл.спавне. ;-)

Ну про алл.спавн речь и не шла, речь шла про кастомдату :) Изменено пользователем abramcumner
Ссылка на комментарий

@abramcumner, а вот это про что(?):

 

..запрет стоит не в алспауне а вынесен в cfg файл...

 

К сожалению, многими слово "кастомдата" ассоциируется именно со строками из распакованного алл.спавна и они не подозревают о существовании иного...

"Кастомдата" (aka customdata) существует в трех ипостасях: в виде параметра в секции спавна, в виде расписанного конфига в соотв.секции в all.spawn'е (который перебивает/подменяет параметр в секции спавна) и уже в игре в виде данных самого объекта.

И то, что именно в "кастомдате" в алл.спавне нередко видят перенаправление логики во внешний файл, приводит к путанице, что воспринимают этот файл не как внешний конфиг именно логики, а как внешнюю "кастомдату". Что и произошло в рассматриваемом случае, кто-то когда-то вместо только логики указал все, что относится к кастомдате и это пошло гулять далее, в надежде что это работает...

 

Иными словами, параметры, относящиеся именно к 'customdata' объектов следует задавать или в all.spawn'е или в соотв.параметре секции объекта (т.н. секции спавна), тогда и будут читаться и запреты на гулаги и иные условия. А то, что прописано в [logic] cfg = "внешний_файл" - это вынеcенный конфиг логики и не более.

 

Примечание: в se_monster/smart_terrain  тоже нет чтения внешних файлов, в них читаются параметры из того, что вернет движок: 'obj:spawn_ini()' - т.е. то, что он (движок) ранее прочитал из секции спавна перед моментом спавна объекта и запомнил в кастомдате заспавненного объекта.

Изменено пользователем Artos
  • Нравится 2
  • Полезно 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Лог:

stack trace:

0023:00445A0D xrEngine.exe, CGameFont::SizeOf_()
0023:03986109 xrGame.dll
0023:004193C1 xrEngine.exe, CEffectorPP::CEffectorPP()
0023:03BFDDA8 xrGame.dll, CxImage::`copy constructor closure'()
0023:03C81F74 xrGame.dll

Причина:

"Неправильный" объект в all.spawn. Что значит "Неправильный"? В моем случае это была летающая аномалия, при компиляции спавна локации с ней, xr_AI ругнулся: space restrictor has no border (В стиле fatal error, однако спавн собрался). Всего на локации у меня штук 10 летающих аномалий, но вылет был из за этой.

 

Лечение:

Как я уже сказал нужно найти "неправильный" объект в all.spawn, однако если это невозможно, то советую выводить в лог всю инфу, и перед ошибкой мы увидим: 

! Unknown command:  adding_object_*

Причем проблемный объект не тот, что из лога, а тот, какой идет следом в all.spawn Ну а дальше, просто удаляем его.

 

P.S. Поискав во всем рунете, нашел что такой же вылет был только у Хемуль36рус.

  • Нравится 1
  • Сомнительно 1
Ссылка на комментарий
[error]Expression : ai().level_graph().valid_vertex_id(vertex->data().level_vertex_id())
[error]Function : CPatrolPathManager::select_point
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp
[error]Line : 164
[error]Description : patrol path[имя_пути], point on path [имя_точки_пути],object [объект_использующий_этот_путь]

Причина: указанная точка пути имеет недопустимый (чаще всего отрицательный) level_vertex_id.

Лечение: распаковать all.spawn, найти этот путь и отредактировать либо удалить эту точку пути так, чтобы level_vertex_id.для нее был задан правильно. Правильность level_vertex_id имеет значение для всех путей, по которым кто-то передвигается (за исключением вертолетов).

  • Нравится 1
  • Полезно 1
Ссылка на комментарий

[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line          : 815
[error]Description   : 
 

Причина: вылет скорее всего связан с функцией формирования лога игры, и может возникать по разным причинам, но чаще всего 

когда в какую то движковую функцию был передан nil или же когда в конфиге указаны пустые значения.

 

Пример #1: Вызвать движковую функцию установки метки на карту, и забыть этой функции передать текст с описанием (nil)

Пример #2: В конфиге предмета указать пустое имя "inv_name = " - при попытке взять предмет появиться вылет.

Лечение: найти источник вылета и устранить его.

Изменено пользователем *Shoker*
  • Спасибо 1
  • Нравится 2
  • Не нравится 1
  • Полезно 1

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

Лог:

FATAL ERROR

[error]Expression : source
[error]Function : CPHSkeleton::Spawn
[error]File : E:\priquel\sources\engine\xrGame\PHSkeleton.cpp
[error]Line : 80
[error]Description : no source

Причина: свойства cse_ph_skeleton properties у НПС в all.spawn

Лечение: нпс взят из all.spawn gsc, после редактирования локации (изменение геометрии и АИ-сетки) в собранном спавне, нпс заспавненные GSC оказались проблемными, т.к. вызывали вылет. У всех у них было: (значения могут отличаться)

; cse_ph_skeleton properties
skeleton_name = 5
skeleton_flags = 2
source_id = 0x2

А у новых, заспавненых мной нпс этого не было. Поэтому просто удалите эти строчки.

  • Нравится 1
  • Полезно 1
Ссылка на комментарий

Есть один лог...

 

Expression    : Ran out of memory
Function      : CRender::texture_load
File          : D:\prog_repository\sources\trunk\Layers\xrRenderDX10\dx10Texture.cpp
Line          : 493
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 )
Arguments     : d:\s.t.a.l.k.e.r. - Зов Припяти\gamedata\textures\veh\veh_gaz_22.dds

 


Возникает рандомно и жалуется на любые текстуры, то бишь не на какую-нибудь конкретную свежедобавленную, а вообще на любые. Он внешне очень похож на один из вылетов из шапки, но я не совсем уверен в причине. Собственно, подскажите, причина та же или что-то другое стоит за этим?

  • Нравится 1

Убедитесь, что вы имеете право убедиться

Ссылка на комментарий

Лог:

001B:0040D025 XR_3DA.exe, IBlender::operator=()

Причина:
Появляется из-за того, что в секции погоды прописан env_ambient, которого не существует.
Лечение:
Замена секции на существующую либо создание несуществующей секции.

  • Нравится 1
  • Сомнительно 1
Ссылка на комментарий
ЧН 1.5.10

stack trace:

 

001B:0244105B lua.JIT.1.1.4.dll

 

Появляется когда отсутствует скрипт ui_wpn_params.script или содержит ошибки!

Изменено пользователем deadzone
  • Сомнительно 1
Ссылка на комментарий
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 ) 

@lafugix

Есть подозрение, что движок вылетает при построении мипмапов (mipmaps - масштабных копий) текстур. Чтобы уменьшить кол-во занимаемой видеопамяти (и нагрузку на движок в целом) крайне рекомендуется делать текстуры с мипмапами. Даже если текстура одной размерности (н-р 512*512) без них, все равно движок строит масштабные копии сам (256*256 ... и вплоть до 1*1). Попытки оптимизации текстур без учета этого, приводят к существенному росту нагрузки, вплоть до вылетов...

Изменено пользователем dimos
  • Сомнительно 1
Цензура ограничивает творчество © by me
Ссылка на комментарий

 

 


Появляется из-за того, что в секции погоды прописан env_ambient, которого не существует.

Первый раз вижу такой лог в этом случае. Зато насмотрелся на такой:

0023:0040BA85 XR_3DA.exe, CEnvAmbient::get_rnd_sound_time() 

И именно в этом случае.

  • Сомнительно 1
Ссылка на комментарий

Лог:

child registered but not found [разные числа]

 

Причина: ошибки в custom data логики физ. объектов в all.spawn (во всяком случае у меня так было).

 

Лечение: соответственно, исправлять логику.

  • Сомнительно 1
Ссылка на комментарий

[error]File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp

[error]Line : 352

[error]Description : <no expression>

[error]Arguments : Can't find variable строка in [секция]

 

Здесь есть, но в виде частного случая.

 

Попытка чтения несуществующей переменной вида ini:r_string( секция, строка ) (или r_float, r_bool и т.д.)

 

1. Убедиться, что переменная действительно зачем-то нужна.

2. Исправить код на

local v -- или иное

if ini:section_exist( секция ) and ini:line_exist( секция, строка ) then

v = ini:r_string( секция, строка )

else более вменяемая диагностика

end

 

3. Поправить конфиг при необходимости (см. п1)

  • Сомнительно 1
Ссылка на комментарий

Нашел вылет кто знает решение?

* phase time: 249 ms


* phase cmem: 251871 K

FATAL ERROR

[error]Expression : fatal error
[error]Function : CRender::LoadBuffers
[error]File : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R1\FStaticRender_Loader.cpp
[error]Line : 218
[error]Description :
[error]Arguments : DX7-style FVFs unsupported


stack trace:

 

И ещё один

 

Решение проверить файл level.geom

 

* phase time: 228 ms
* phase cmem: 251871 K

FATAL ERROR

[error]Expression : fs
[error]Function : CRender::LoadBuffers
[error]File : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R2\r2_loader.cpp
[error]Line : 212
[error]Description : Could not load geometry. File 'level.geom?' corrupted.


stack trace:

 

Изменено пользователем nikita_nz1986
  • Сомнительно 1

nikita_nz1986.gif
9JX0t72.jpg
XqgE6.png

Ссылка на комментарий

Вылет из ЗП.

 

stack trace:

0023:05B0D6B8 xrRender_R2.dll
0023:09595712 xrGame.dll, CDialogHolder::CDialogHolder()

 

Причина: Неправильно настроенные динамические элементы освещения (вшитые в all.spawn), например, нет визуала, нет анимации света и в таком духе.

Лечение: Удалить секции без визуалов и настроек анимации света, либо настроить их заново.

 

Я наткнулся на такой вылет, как скомпилировал Кордон с несколькими новыми источниками света, созданные мной. Мало опыта, либо просто забыли их настроить - вот результат. Поэтому, если будете искать подобное у себя в спавне, то в первую очередь, проверьте источники освещения, которые делали сами.

  • Сомнительно 1

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

Ссылка на комментарий
Гость
Эта тема закрыта для публикации сообщений.
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...