XrAI:space restrictor wrapper.cpp: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
Новая страница: «<pre> Expression : !m_border.empty() Function : CSpaceRestrictorWrapper::build_border File : I:\xray-svn\xrAI\space_restrictor_wrapper.cpp Line : 215 Description…»
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
__NOTOC__
== 1 вариант ==
<pre>
<pre>
Expression : !m_border.empty()
Expression : !m_border.empty()
Строка 17: Строка 19:


Для этого, заспавните и выделите '''Shape''', а затем и '''Space Restrictor''', после чего нажмите '''Attach Object...''' (вкладка ''Edit Mode -> Spawn Element -> Commands...'') и кликните по '''Shape''''у. Если вы все сделали правильно, он сменит свой цвет с серого на зеленый — это значит, что они объединились в один спавн-элемент.
Для этого, заспавните и выделите '''Shape''', а затем и '''Space Restrictor''', после чего нажмите '''Attach Object...''' (вкладка ''Edit Mode -> Spawn Element -> Commands...'') и кликните по '''Shape''''у. Если вы все сделали правильно, он сменит свой цвет с серого на зеленый — это значит, что они объединились в один спавн-элемент.
== 2 вариант ==
<pre>
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()
</pre>
=== Ошибка ===
На уровне присутствует много неслинкованных нодов на 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> ===
Исправьте или удалите неправильные ноды.
== 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-сетку.




== Источник ==
== Источники ==
{{References}}
{{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-сетку на несвязанные части.

Решение[3][4]

Пропишите в aimap.bat ключ -no_separator_check

Он убирает проверку на перекрытие AI-сетки restrictor'ами. Обычно проверка нужна для гарантии того, что все точки пути для NPC будут доступны, иначе в игре будет происходить вылет. Однако, в некоторых случаях проверку можно отключить.

Например, если перекрывающие restrictor'ы не являются аномалиями, а у NPC не будут производиться манипуляции с in и out restrictor'ами.

В противном случае лучше поправить в Level Editor. Все шаги переделывать необязательно — только последний, если в LE с последней компиляции не править graph-point'ы и AI-сетку.


Источники