Patrol path manager.cpp

Материал из MODFAQ.RU — моддинг игр серии S.T.A.L.K.E.R., The Elder Scrolls и Fallout
Перейти к: навигация, поиск

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 имеет значение для всех путей, по которым кто-то передвигается (за исключением вертолетов).


Источник