XrAI:space restrictor wrapper.cpp: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 34: | Строка 34: | ||
=== Решение<ref>[http://www.amk-team.ru/forum/topic/12733-x-ray-sdk-instruktcii-po-vyletam-i-oshibkam/ Тема "<nowiki>[X-Ray SDK]</nowiki> Инструкции по вылетам и ошибкам" на AMK форуме]</ref> === | === Решение<ref>[http://www.amk-team.ru/forum/topic/12733-x-ray-sdk-instruktcii-po-vyletam-i-oshibkam/ Тема "<nowiki>[X-Ray SDK]</nowiki> Инструкции по вылетам и ошибкам" на AMK форуме]</ref> === | ||
Исправьте или удалите неправильные ноды. | Исправьте или удалите неправильные ноды. | ||
== 3 вариант == | |||
<pre> | |||
Expression : nodes.size() + m_internal.size() == level_graph().header().vertex_count() | |||
Function : CSpaceRestrictorWrapper::verify_connectivity | |||
File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp | |||
Line : 268 | |||
Description : Restrictor separates AI map into several disconnected components | |||
Arguments : esc_selo2_sr | |||
</pre> | |||
=== Ошибка === | |||
Где-то на локации очень неудачно расположен '''space restrictor''', который делит AI-сетку на несвязанные части. | |||
=== Решение<ref>[http://www.amk-team.ru/forum/topic/12733-x-ray-sdk-instruktcii-po-vyletam-i-oshibkam/ Тема "<nowiki>[X-Ray SDK]</nowiki> Инструкции по вылетам и ошибкам" на AMK форуме]</ref><ref>[https://www.gameru.net/forum/index.php?s=&showtopic=17537&view=findpost&p=1267741 Пост пользователя "K.D." на форуме Gameinator]</ref> === | |||
Пропишите в '''aimap.bat''' ключ <code>-no_separator_check</code> | |||
Он убирает проверку на перекрытие AI-сетки ''restrictor'ами''. Обычно проверка нужна для гарантии того, что все точки пути для NPC будут доступны, иначе в игре будет происходить вылет. Однако, в некоторых случаях проверку можно отключить. | |||
Например, если перекрывающие ''restrictor'ы'' не являются аномалиями, а у NPC не будут производиться манипуляции с '''in''' и '''out''' ''restrictor'ами''. | |||
В противном случае лучше поправить в '''Level Editor'''. Все шаги переделывать необязательно — только последний, если в LE с последней компиляции не править graph-point'ы и AI-сетку. | |||
== Источники == | == Источники == | ||
{{ | {{Reflist|3}} | ||
[[Категория:Справочник_вылетов]][[Категория:Вылеты xrAI]] | [[Категория:Справочник_вылетов]][[Категория:Вылеты xrAI]] | ||
Текущая версия от 14:14, 27 февраля 2019
1 вариант
Expression : !m_border.empty() Function : CSpaceRestrictorWrapper::build_border File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp Line : 215 Description : space restrictor has no border Arguments : level_prefix_level_changer
Ошибка[1]
У указанного space restrictor'а (в данном случае: level_prefix_level_changer ), не присоединен shape.
Любой тип space restrictor'а обязан иметь shape, в том числе: точки перехода, аномалии и костры.
Решение
С помощью Level Editor, найдите указанный space restrictor на уровне, и присоедините к нему shape.
Для этого, заспавните и выделите Shape, а затем и Space Restrictor, после чего нажмите Attach Object... (вкладка Edit Mode -> Spawn Element -> Commands...) и кликните по Shape'у. Если вы все сделали правильно, он сменит свой цвет с серого на зеленый — это значит, что они объединились в один спавн-элемент.
2 вариант
Expression : assertion failed Function : CSpaceRestrictorWrapper::verify_connectivity File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp Line : 258 Description : nodes.size() + m_internal.size() <= level_graph().header().vertex_count()
Ошибка
На уровне присутствует много неслинкованных нодов на AI-сетке.
Решение[2]
Исправьте или удалите неправильные ноды.
3 вариант
Expression : nodes.size() + m_internal.size() == level_graph().header().vertex_count() Function : CSpaceRestrictorWrapper::verify_connectivity File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp Line : 268 Description : Restrictor separates AI map into several disconnected components Arguments : esc_selo2_sr
Ошибка
Где-то на локации очень неудачно расположен space restrictor, который делит AI-сетку на несвязанные части.
Пропишите в aimap.bat ключ -no_separator_check
Он убирает проверку на перекрытие AI-сетки restrictor'ами. Обычно проверка нужна для гарантии того, что все точки пути для NPC будут доступны, иначе в игре будет происходить вылет. Однако, в некоторых случаях проверку можно отключить.
Например, если перекрывающие restrictor'ы не являются аномалиями, а у NPC не будут производиться манипуляции с in и out restrictor'ами.
В противном случае лучше поправить в Level Editor. Все шаги переделывать необязательно — только последний, если в LE с последней компиляции не править graph-point'ы и AI-сетку.