Типичные ошибки и методы их устранения — различия между версиями

Материал из xrWiki
Перейти к: навигация, поиск
(Редакторы)
(расшифровка Not enought textures for shader от дядьки saas'а)
Строка 1: Строка 1:
Для поиска по страничке используйте Ctrl+F
+
Для поиска по страничке используйте '''Ctrl+F'''
  
 
==xrAI==
 
==xrAI==
 
 
<syntaxhighlight lang="text">! AI-node [87.500, 9.188, 160.300] not connected to AI-map
 
<syntaxhighlight lang="text">! AI-node [87.500, 9.188, 160.300] not connected to AI-map
 
   
 
   
Строка 96: Строка 95:
  
 
==Игра==
 
==Игра==
 +
<syntaxhighlight lang="text">
 +
[error]Expression    : fatal error
 +
[error]Function      : CScriptEngine::lua_error
 +
[error]File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
 +
[error]Line          : 180
 +
[error]Description  : <no expression>
 +
[error]Arguments    : LUA error: x:\gamedata\scripts\_g.script:973: bad argument #2 to 'format' (string expected, got nil)</syntaxhighlight>
 +
Самый мерзкий и жопошный вылет, который указывает только на то, что игра вылетела, но не на причину креша. Возникает потому, что в релизной версии игры разрабы отрубили команды log и assert. В качестве костыля можно использовать такие решения: [http://www.gameru.net/forum/index.php?s=&showtopic=67052&view=findpost&p=1607546], [http://www.gameru.net/forum/index.php?s=&showtopic=67052&view=findpost&p=1607620]
 +
----
 
<syntaxhighlight lang="text">[error]Expression    : false
 
<syntaxhighlight lang="text">[error]Expression    : false
 
[error]Function      : CXml::Load
 
[error]Function      : CXml::Load
Строка 103: Строка 111:
 
В указанном файле ошибка синтаксиса: где-то не закрыт тег.
 
В указанном файле ошибка синтаксиса: где-то не закрыт тег.
 
----
 
----
 +
<syntaxhighlight lang="text">[error]Expression    : !save_guid || (*save_guid == header().guid()) || ignore_save_incompatibility()
 +
[error]Function      : CALifeSpawnRegistry::load
 +
[error]File          : E:\priquel\sources\engine\xrGame\alife_spawn_registry.cpp
 +
[error]Line          : 110
 +
[error]Description  : Saved game doesn't correspond to the spawn : DELETE SAVED GAME!</syntaxhighlight>
 +
Файл сохранения не соответствует спавну, нужно пересобрать спавн. Можно обойти ключом <code>-ignore_save_incompatibility</code>, в таком случае спавн будет соответствовать учтённому в сохранении.
 +
----
 +
<syntaxhighlight lang="text">[error]Expression    : cross_table().header().level_guid() == level_graph().header().guid()
 +
[error]Function      : CAI_Space::load
 +
[error]File          : ai_space.cpp
 +
[error]Line          : 110
 +
[error]Description  : cross_table doesn't correspond to the AI-map</syntaxhighlight>
 +
Аналогично предыдущему вылету: данные из спавна не соответствуют новой ИИ-сетке. Нужно пересобрать спавн.
 +
----
 +
<syntaxhighlight lang="text">
 +
Expression : fatal error
 +
Function : out_of_memory_handler
 +
File : .\xrDebugNew.cpp
 +
Line : 318
 +
Description : <no expression>
 +
Arguments : Out of memory. Memory request: 3506347 K</syntaxhighlight>
 +
Движок пытается прочесть какой-то левый архив или просто файл с расширением сталкирского архива (*.db, *.xdb). Подробности [http://www.gameru.net/forum/index.php?s=&showtopic=67034&view=findpost&p=1608736 тут]
 +
 +
==Геометрия уровней==
 +
Ошибка при попытке запуска уровня на r1:
 +
<syntaxhighlight lang="text">Expression    : fatal error
 +
Function      : CBlender_default::Compile
 +
File          : X:\xray\Layers\xrRenderPC_R1\BlenderDefault.cpp
 +
Line          : 50
 +
Description  : <no expression>
 +
Arguments    : Not enought textures for shader, base tex: floor\floor_dirty_gr_02</syntaxhighlight>
 +
Вызвана некорректными настройками .thm соответствующей текстуры – у неё установлен флаг Implicit Lighted, то есть лайтмапы для неё считаются как для террейна. Из-за этого же в папке с уровнем появилась папка floor, в которую скопировалась эта текстура. А крашится потому, что у террейна один лайтмап, а не два, как у default шейдера
 +
----
 +
<syntaxhighlight lang="text">Expression    : fs
 +
Function      : CResourceManager::_CreateVS
 +
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
 +
Line          : 203
 +
Description  : shader file doesnt exist
 +
Arguments    : x:\gamedata\shaders\r2\deffer_impl_lmh_bump-hq.vs
 +
 +
Expression    : R
 +
Function      : CResourceManager::_CreatePS
 +
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
 +
Line          : 309
 +
Description  : x:\gamedata\shaders\r2\deffer_impl_lmh_bump.ps</syntaxhighlight>
 +
Конкретно эти ошибки вылезают в ЧН при попытке запуска на втором рендере, если геометрия уровня скомпилирована на низких настройках.
 +
Чтобы игра не валилась, нужно подсунуть [https://files.xray-engine.org/shaders/r2_deffer_impl_lmh_pseudofix.7z те файлы, что она хочет]. Доподлинно неизвестно, что должно было быть в этих шейдерах, так что по ссылке .ps/.vs с обычными инклюдами внутри.
 +
 +
== Динамические модели ==
 
<syntaxhighlight lang="text">Expression    : m_attack_animation.valid()
 
<syntaxhighlight lang="text">Expression    : m_attack_animation.valid()
 
Function      : CVisualZone::net_Spawn
 
Function      : CVisualZone::net_Spawn
Строка 132: Строка 189:
 
[error]Arguments    : LUA error: x:\gamedata\scripts\ph_door.script:36: attempt to index field 'joint' (a nil value)</syntaxhighlight>
 
[error]Arguments    : LUA error: x:\gamedata\scripts\ph_door.script:36: attempt to index field 'joint' (a nil value)</syntaxhighlight>
 
Ошибка возникла, когда в модели двери все кости имели тип rigid. Но для двери или ворот хотя бы одна кость должна иметь тип joint, чтобы дверь могла открываться.
 
Ошибка возникла, когда в модели двери все кости имели тип rigid. Но для двери или ворот хотя бы одна кость должна иметь тип joint, чтобы дверь могла открываться.
----
 
<syntaxhighlight lang="text">Expression    : fs
 
Function      : CResourceManager::_CreateVS
 
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
 
Line          : 203
 
Description  : shader file doesnt exist
 
Arguments    : x:\gamedata\shaders\r2\deffer_impl_lmh_bump-hq.vs
 
 
Expression    : R
 
Function      : CResourceManager::_CreatePS
 
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
 
Line          : 309
 
Description  : x:\gamedata\shaders\r2\deffer_impl_lmh_bump.ps</syntaxhighlight>
 
Конкретно эти ошибки вылезают в ЧН при попытке запуска на втором рендере, если геометрия уровня скомпилирована на низких настройках.
 
Чтобы игра не валилась, нужно подсунуть [https://files.xray-engine.org/shaders/r2_deffer_impl_lmh_pseudofix.7z те файлы, что она хочет]. Доподлинно неизвестно, что должно было быть в этих шейдерах, так что по ссылке .ps/.vs с обычными инклюдами внутри.
 
----
 
<syntaxhighlight lang="text">
 
[error]Expression    : fatal error
 
[error]Function      : CScriptEngine::lua_error
 
[error]File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
 
[error]Line          : 180
 
[error]Description  : <no expression>
 
[error]Arguments    : LUA error: x:\gamedata\scripts\_g.script:973: bad argument #2 to 'format' (string expected, got nil)</syntaxhighlight>
 
Самый мерзкий и жопошный вылет, который указывает только на то, что игра вылетела, но не на причину креша. Возникает потому, что в релизной версии игры разрабы отрубили команды log и assert. В качестве костыля можно использовать такие решения: [http://www.gameru.net/forum/index.php?s=&showtopic=67052&view=findpost&p=1607546], [http://www.gameru.net/forum/index.php?s=&showtopic=67052&view=findpost&p=1607620]
 
----
 
<syntaxhighlight lang="text">[error]Expression    : !save_guid || (*save_guid == header().guid()) || ignore_save_incompatibility()
 
[error]Function      : CALifeSpawnRegistry::load
 
[error]File          : E:\priquel\sources\engine\xrGame\alife_spawn_registry.cpp
 
[error]Line          : 110
 
[error]Description  : Saved game doesn't correspond to the spawn : DELETE SAVED GAME!</syntaxhighlight>
 
Файл сохранения не соответствует спавну, нужно пересобрать спавн. Можно обойти ключом <code>-ignore_save_incompatibility</code>, в таком случае спавн будет соответствовать учтённому в сохранении.
 
----
 
<syntaxhighlight lang="text">[error]Expression    : cross_table().header().level_guid() == level_graph().header().guid()
 
[error]Function      : CAI_Space::load
 
[error]File          : ai_space.cpp
 
[error]Line          : 110
 
[error]Description  : cross_table doesn't correspond to the AI-map</syntaxhighlight>
 
Аналогично предыдущему вылету: данные из спавна не соответствуют новой ИИ-сетке. Нужно пересобрать спавн.
 
----
 
<syntaxhighlight lang="text">
 
Expression : fatal error
 
Function : out_of_memory_handler
 
File : .\xrDebugNew.cpp
 
Line : 318
 
Description : <no expression>
 
Arguments : Out of memory. Memory request: 3506347 K</syntaxhighlight>
 
Движок пытается прочесть какой-то левый архив или просто файл с расширением сталкирского архива (*.db, *.xdb). Подробности [http://www.gameru.net/forum/index.php?s=&showtopic=67034&view=findpost&p=1608736 тут]
 
  
 
== Симуляция ==
 
== Симуляция ==
Строка 242: Строка 252:
 
[error]Description  : rpoints for players not found</syntaxhighlight>
 
[error]Description  : rpoints for players not found</syntaxhighlight>
 
На карте отсутствуют точки респавна для игроков.
 
На карте отсутствуют точки респавна для игроков.
 
  
 
[[Категория:Справка]]
 
[[Категория:Справка]]

Версия 01:16, 9 февраля 2024

Для поиска по страничке используйте Ctrl+F

xrAI

! AI-node [87.500, 9.188, 160.300] not connected to AI-map
 
FATAL ERROR
 
[error]Expression    : error_nodes.empty()
[error]Function      : CGameGraphBuilder::check_fill
[error]File          : X:\xray\utils\xrAI\game_graph_builder.cpp
[error]Line          : 273
[error]Description   : Some ai-node is not connected to AI-map. See log for details.

Одна (или множество) нод не соединены с остальной ИИ-сеткой. Не допускайте создания отдельных островков нод, всегда соединяйте их с основной ИИ-сеткой, и удаляйте отдельно стоящие и вырожденные ноды (в ЛЕ выделяются красным) нажатием кнопки Select 0-Link на панели AI Map и клавиши Delete на клавиатуре.


[error]Expression    : F
[error]Function      : xrLoad
[error]File          : .\compiler_load.cpp
[error]Line          : 272
[error]Description   : x:\gamedata\levels\escape\build.aimap

В папке с уровнем gamedata\level\escape отсутствует build.aimap Нужно экспортировать ИИ-карту из LevelEditor: Compile->Make AI Map


[error]Expression    : assertion failed
[error]Function      : CGameGraphBuilder::save_cross_table
[error]File          : .\game_graph_builder.cpp
[error]Line          : 351
[error]Description   : graph().header().vertex_count() > tCrossTableCell.tGraphIndex

На карте отсутствуют точки графа. Нужно добавить хотя бы одну: Spawn Element -> AI\graph point и экспортировать level.game: Compile -> Make Game


! Cannot build GAME path! (object esc_tutorial_wounded0826)
! CURRENT LEVEL : escape
! CURRENT game point position : [-146.011078][-20.711269][-147.502380]
 
FATAL ERROR
 
[error]Expression    : I != levels().end()
[error]Function      : GameGraph::CHeader::level
[error]File          : f:\project\home\stalker\borscht\src_engine\xray\xrgame\game_graph_inline.h
[error]Line          : 153
[error]Description   : there is no specified level in the game graph : 205

Такая ошибка возникла после того, как была прервана компиляция ИИ-сетки. Видимо, испортился игровой граф, нужно перекомпилировать его (xrAI -f)


[error]Expression    : assertion failed
[error]Function      : CVertexAllocatorFixed<2097152>::CDataStorage<struct CVertexPath<1>::DataStoragePath<struct CVertexManagerFixed<unsigned int,unsigned int,8>::VertexManager<struct CDataStorageSingleLinkedList<0>::SingleLinkedList<struct CDataStorageDoubleLinkedList<0>::DoubleLinkedList<struct CDataStorageBucketList<unsigned int,unsigned int,8192,0>::BucketList<struct CDijkstra<float,struct CDataStorageBucketList<unsigned int,unsigned int,8192,0>,struct CVertexManagerFixed<unsigned int,unsigned int,8>,struct CVertexAllocatorFixed<2097152>,1,struct CVertexPath<1>,struct AStar::_Vertex<float,class CEmptyClassTemplate>::_vertex,struct CBuilderAllocatorConstructor,struct CManagerBuilderAllocatorConstructor,struct CDataStorageConstructor,unsigned int>::_Vertex>::_vertex>::_vertex>::_vertex>::_vertex>::_vertex>::create_vertex
[error]File          : x:\clearsky\src\engine\utils\xrai\vertex_allocator_fixed_inline.h
[error]Line          : 51
[error]Description   : m_vertex_count < reserved_vertex_count - 1

Эту ошибку можно обойти ключом -no_separator_check

По какой причине она вообще возникает и не допустить её возникновения?


[error]Expression    : !m_border.empty()
[error]Function      : CSpaceRestrictorWrapper::build_border
[error]File          : .\space_restrictor_wrapper.cpp
[error]Line          : 215
[error]Description   : space restrictor has no border
[error]Arguments     : esc_zone_mine_gravitational_weak_0009

Аномалия расположена не на ИИ-сетке.


[error]Expression    : assertion failed
[error]Function      : CGraphMerger::CGraphMerger
[error]File          : xr_graph_merge.cpp
[error]Line          : 621
[error]Description   : M != (*K).second->m_tVertexMap.end()

Одной из точек графа для перехода между уровнями задана связь с другой, несуществующей (или с несуществующим именем). При возникновении такой ошибки в первую очередь стоит проверить наличие собственно точки графа на уровне через Object List в режиме Spawn, затем наличие ИИ-сетки под ней, и уж в последнюю очередь настройки.

Красные строки в логе

! level_path().failed() during navigation

Путь непися пролегает через пространство, где неадекватно соединены ноды ИИ-сетки. Нужно правильно соединить ноды.

Редакторы

Expression    : assertion failed
Function      : IReader::advance
File          : x:\clearsky\src\engine\xrcore\FS.h
Line          : 276
Description   : (Pos<=Size) && (Pos>=0)

Такой вылет был, когда в папке с СДК оказался левый .xdb-архив и движок попытался автоматически его прочитать.

Actor Editor

!Can't load: 'characters\stalker_smart_cover_animation.omf' invalid bones count
!Can't find bone: 'bip01'
!Can't find bone: 'root_stalker'
!Can't load: 'characters\stalker_smart_cover_animation.omf' invalid bones count
!Different bone count[characters\stalker_smart_cover_animation.omf] [Object: '45' <-> Motions: '47']
! error in model [x:\rawdata\objects\actors\stalker_bandits\stalker_bandit_4]. Unable to load motion file 'characters\stalker_smart_cover_animation.omf'.
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : ..\..\Layers\xrRender\SkeletonAnimated.cpp
[error]File          : ..\..\Layers\xrRender\SkeletonAnimated.cpp
[error]Line          : 732
[error]Description   : m_Motions.size()

В модель из ТЧ (45 костей) были подключены .omf из ЧН/ЗП (47 костей). Редактор ругается на несоответствие скелета модели анимациям, сделанным под другой скелет.

Игра

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
[error]Line          : 180
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:\gamedata\scripts\_g.script:973: bad argument #2 to 'format' (string expected, got nil)

Самый мерзкий и жопошный вылет, который указывает только на то, что игра вылетела, но не на причину креша. Возникает потому, что в релизной версии игры разрабы отрубили команды log и assert. В качестве костыля можно использовать такие решения: [1], [2]


[error]Expression    : false
[error]Function      : CXml::Load
[error]File          : xrXMLParser.cpp
[error]Line          : 87
[error]Description   : XML file:text\rus\st_quests_escape.xml value: errDescr:Error reading end tag.

В указанном файле ошибка синтаксиса: где-то не закрыт тег.


[error]Expression    : !save_guid || (*save_guid == header().guid()) || ignore_save_incompatibility()
[error]Function      : CALifeSpawnRegistry::load
[error]File          : E:\priquel\sources\engine\xrGame\alife_spawn_registry.cpp
[error]Line          : 110
[error]Description   : Saved game doesn't correspond to the spawn : DELETE SAVED GAME!

Файл сохранения не соответствует спавну, нужно пересобрать спавн. Можно обойти ключом -ignore_save_incompatibility, в таком случае спавн будет соответствовать учтённому в сохранении.


[error]Expression    : cross_table().header().level_guid() == level_graph().header().guid()
[error]Function      : CAI_Space::load
[error]File          : ai_space.cpp
[error]Line          : 110
[error]Description   : cross_table doesn't correspond to the AI-map

Аналогично предыдущему вылету: данные из спавна не соответствуют новой ИИ-сетке. Нужно пересобрать спавн.


Expression : fatal error
Function : out_of_memory_handler
File : .\xrDebugNew.cpp
Line : 318
Description : <no expression>
Arguments : Out of memory. Memory request: 3506347 K

Движок пытается прочесть какой-то левый архив или просто файл с расширением сталкирского архива (*.db, *.xdb). Подробности тут

Геометрия уровней

Ошибка при попытке запуска уровня на r1:

Expression    : fatal error
Function      : CBlender_default::Compile
File          : X:\xray\Layers\xrRenderPC_R1\BlenderDefault.cpp
Line          : 50
Description   : <no expression>
Arguments     : Not enought textures for shader, base tex: floor\floor_dirty_gr_02

Вызвана некорректными настройками .thm соответствующей текстуры – у неё установлен флаг Implicit Lighted, то есть лайтмапы для неё считаются как для террейна. Из-за этого же в папке с уровнем появилась папка floor, в которую скопировалась эта текстура. А крашится потому, что у террейна один лайтмап, а не два, как у default шейдера


Expression    : fs
Function      : CResourceManager::_CreateVS
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
Line          : 203
Description   : shader file doesnt exist
Arguments     : x:\gamedata\shaders\r2\deffer_impl_lmh_bump-hq.vs

Expression    : R
Function      : CResourceManager::_CreatePS
File          : E:\priquel\sources\engine\Layers\xrRender\ResourceManager_Resources.cpp
Line          : 309
Description   : x:\gamedata\shaders\r2\deffer_impl_lmh_bump.ps

Конкретно эти ошибки вылезают в ЧН при попытке запуска на втором рендере, если геометрия уровня скомпилирована на низких настройках. Чтобы игра не валилась, нужно подсунуть те файлы, что она хочет. Доподлинно неизвестно, что должно было быть в этих шейдерах, так что по ссылке .ps/.vs с обычными инклюдами внутри.

Динамические модели

Expression    : m_attack_animation.valid()
Function      : CVisualZone::net_Spawn
File          : E:\priquel\sources\engine\xrGame\ZoneVisual.cpp
Line          : 34
Description   : object[esc_burning_fluff_strong]: cannot find attack animation[] in model[dynamics\anomalies\burning_fluff_01]

На карте присутствует динамическая модель, у которой предусмотрена, но не задана анимация атаки. Нужно задать её в LevelEditor'е в свойствах спаун-объекта в поле Attack animation.


[error]Expression    : motion_ID.valid()
[error]Function      : CKinematicsAnimated::ID_Cycle
[error]File          : ..\xrRender\SkeletonAnimated.cpp
[error]Line          : 208
[error]Description   : ! MODEL: can't find cycle: 
[error]Arguments     : death_init

Не найдена анимация с именем death_init. Возможно, к модели не подключен нужный .omf


[error]Expression    : BI_NONE!=f_bones.back()
[error]Function      : P_build_Shell
[error]File          : C:\projects\xray15\xray\xrGame\PhysicsShell.cpp
[error]Line          : 136
[error]Description   : wrong fixed bone

Имя кости, используемой для фиксации модели, отличается от указанного в соответствующем поле LE. Например, в модели кость носит имя link1, а для физического объекта в редакторе уровней было указано имя link.


[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : C:\projects\xray15\xray\xrServerEntities\script_engine.cpp
[error]Line          : 192
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:\gamedata\scripts\ph_door.script:36: attempt to index field 'joint' (a nil value)

Ошибка возникла, когда в модели двери все кости имели тип rigid. Но для двери или ворот хотя бы одна кость должна иметь тип joint, чтобы дверь могла открываться.

Симуляция

[error]Expression    : m_path
[error]Function      : CPatrolPathParams::CPatrolPathParams
[error]File          : patrol_path_params.cpp
[error]Line          : 19
[error]Description   : There is no patrol path
[error]Arguments     : esc_hit_point
На уровне отсутствует точка пути esc_hit_point.
! [LUA][ERROR] ERROR: There is no kamp path in smart[esc_pigsty_ruins_st_01]
В лагере отсутствуют точки пути с постфиксом _kamp_N. Нужно добавить как минимум одну _kamp_N и _kamp_N_task, где N — порядковый номер от 1.
! [LUA][ERROR] ERROR: Insufficient smart_terrain jobs test_smartterrain

В лагере трётся слишком много народу. Нужно либо уменьшить количество групп (faction_*.ltx), либо уменьшить количество персонажей в группе (squad_descr_*.ltx), либо (что правильнее) создать в смарте дополнительные работы, чтобы бездельники смогли их занять.


[error]Expression    : vertex || show_restrictions(m_object)
[error]Function      : CPatrolPathManager::select_point
[error]File          : patrol_path_manager.cpp
[error]Line          : 155
[error]Description   : any vertex in patrol path [esc_south_checkpoint_st_patrol_2_walk] is inaccessible for object [sim_default_military_00323]

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


! [LUA][ERROR] ERROR: 'Attempt to read a non-existant string field 'npc' in section 'esc_flesh_generic'

Не очень вразумительный лог, который в одном из случаев указывал на то, что в faction_monster.ltx в секции [start_position] указано имя, которое не существует в squad_descr_*.ltx.


[error]Expression    : vertex || show_restrictions(m_object)
[error]Function      : CPatrolPathManager::select_point
[error]File          : patrol_path_manager.cpp
[error]Line          : 155
[error]Description   : any vertex in patrol path [esc_granary_st_kamp_1_task] is inaccessible for object [sim_default_bandit_00413]

Такая ошибка была, когда одной из аномалий в пределах смарта задали тип рестриктора OUT. При этом путь esc_granary_st_kamp_1_task состоит из одной точки, и совершенно точно не входит в шейп аномалии. Нужно объяснение.


! [LUA][ERROR] ERROR: object 'esc_wolf' configuration file [logic\esc\wolf.ltx] NOT FOUND or section [logic] isn't assigned
В конфиге персонажа отсутствует секция [logic], или же отсутствует сам конфиг. Однако была ситуация, когда такой вылет возникал из-за того, что в настройках смарта дублировалась ссылка на этот конфиг в секции эксклюзивных работ.
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : ..\xrServerEntities\script_engine.cpp
[error]Line          : 192
[error]Description   : <no expression>
[error]Arguments     : LUA error: x:\gamedata\scripts\sim_faction_brain_mutant.script:90: attempt to index field '?' (a nil value)
Такая ошибка вылезла, когда на карту был добавлен спейсрестриктор без каких-либо настроек.
[error]Expression    : level_graph->valid_vertex_id(m_level_vertex_id)
[error]Function      : CPatrolPoint::verify_vertex_id
[error]File          : C:\xray\xrGame\patrol_point.cpp
[error]Line          : 46

! Patrol point wp00 in path esc_atp_st_guard_4_walk is not on the level graph vertex!
Точка пути находится не на ИИ-сетке. Необходимо либо подвинуть точку, либо проложить ноды ИИ-сетки под ней. Такую ошибку можно увидеть лишь в отладочной сборке, в релизной же выдаётся лог ниже.
[error]Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
[error]Function      : CALifeSwitchManager::add_online
[error]File          : X:\xray\xrGame\alife_switch_manager.cpp
[error]Line          : 64
[error]Description   : Invalid vertex for object
[error]Arguments     : sim_default_military_1_sniper1561

Сам по себе лог малоинформативен и указывает лишь на то, что персонаж оказался вне ИИ-сетки. Причиной этого вылета может быть то, что точка пути (вейпойнт), на которой заспавнился персонаж, находится не на ИИ-сетке. См. описание выше.

Сетевая игра

[error]Expression    : rpoints[0].size()
[error]Function      : game_sv_Deathmatch::Create
[error]File          : game_sv_deathmatch.cpp
[error]Line          : 101
[error]Description   : rpoints for players not found

На карте отсутствуют точки респавна для игроков.