Patrol path manager.cpp: различия между версиями
Новая страница: «__NOTOC__ <pre> Expression : vertex || show_restrictions(m_object) Function : CPatrolPathManager::select_point File : E:\stalker\sources\trunk\xr_3da…» |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
__NOTOC__ | __NOTOC__ | ||
== 1 вариант == | |||
<pre> | <pre> | ||
Expression : vertex || show_restrictions(m_object) | Expression : vertex || show_restrictions(m_object) | ||
| Строка 17: | Строка 18: | ||
=== Решение<ref>[http://www.amk-team.ru/forum/faq/ Страница FAQ на AMK форуме, раздел "Справочник вылетов"]</ref> === | === Решение<ref>[http://www.amk-team.ru/forum/faq/ Страница FAQ на AMK форуме, раздел "Справочник вылетов"]</ref> === | ||
Найти и исправить ошибку. | Найти и исправить ошибку. | ||
== 2 вариант == | |||
<pre> | |||
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] | |||
</pre> | |||
=== Ошибка === | |||
Характерен для [[S.T.A.L.K.E.R. - Тень Чернобыля|ТЧ]] до версии 1.0006 из-за ошибки в путях. | |||
<pre>patrol path[имя_пути], point on path [имя_нулевой_точки_пути],object [объект_использующий_этот_путь]</pre> | |||
Грубо говоря, путь находится вне AI-сетки. Например, сгенерировалась сетка, создан спавн и пути на уровне, все это скомпилировано и обыграно. После этого изменена AI-сетка и путь из лога оказался вне нее. Происходит, когда игрок подходит к объекту, использующему этот путь и объект переходит в онлайн. | |||
''Ещё один вариант:'' указанная точка пути имеет недопустимый (чаще всего отрицательный) '''level_vertex_id''' | |||
=== Решение === | |||
Попробуйте загрузить последнее сохранение и не сохраняться рядом с местами, где происходят такие вылеты. | |||
Исправить можно, переместив пути либо точки, выходящие за AI-сетку в ее пределах. | |||
''Ещё один вариант:'' распаковать '''all.spawn''', найти этот путь и отредактировать либо удалить эту точку пути так, чтобы '''level_vertex_id''' для нее был задан правильно. Правильность '''level_vertex_id''' имеет значение для всех путей, по которым кто-то передвигается (за исключением вертолетов). | |||
Текущая версия от 14:17, 26 февраля 2019
1 вариант
Expression : vertex || show_restrictions(m_object) Function : CPatrolPathManager::select_point File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp Line : 155 Description : any vertex in patrol path [sniper_3_walk] in inaccessible for object [stalker_0002]
Ошибка
Какая-то вершина (вейпоинт) пути (в данном случае sniper_3_walk) стоит в неположенном месте. Например, не на AI-сетке.
Указанный объект (в данном случае stalker_0002), который якобы двигался по указанному пути (sniper_3_walk), попал на эту точку, а заодно ушёл за AI-сетку. На это и ругается движок.
Тоже самое произойдет, если координата (вейпоинт) пути (sniper_3_walk) совпадeт с координатами места, где NPC запрещено находится, будь то рестриктор или аномалия в схеме обхода аномалий.
Также этот вылет наблюдается при попытке отправить NPC за пределы места работ параметр out_rest = "имя_рестриктора", в файле загрузки работ гулага.
Например, попробуйте в ТЧ, отправить любого NPC из лагеря новичков, допустим к остановке - получите этот самый вылет.
Решение[1]
Найти и исправить ошибку.
2 вариант
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.0006 из-за ошибки в путях.
patrol path[имя_пути], point on path [имя_нулевой_точки_пути],object [объект_использующий_этот_путь]
Грубо говоря, путь находится вне AI-сетки. Например, сгенерировалась сетка, создан спавн и пути на уровне, все это скомпилировано и обыграно. После этого изменена AI-сетка и путь из лога оказался вне нее. Происходит, когда игрок подходит к объекту, использующему этот путь и объект переходит в онлайн.
Ещё один вариант: указанная точка пути имеет недопустимый (чаще всего отрицательный) level_vertex_id
Решение
Попробуйте загрузить последнее сохранение и не сохраняться рядом с местами, где происходят такие вылеты. Исправить можно, переместив пути либо точки, выходящие за AI-сетку в ее пределах.
Ещё один вариант: распаковать all.spawn, найти этот путь и отредактировать либо удалить эту точку пути так, чтобы level_vertex_id для нее был задан правильно. Правильность level_vertex_id имеет значение для всех путей, по которым кто-то передвигается (за исключением вертолетов).