Alife dynamic object.cpp: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
Новая страница: «__NOTOC__ == 1 вариант == <pre> Expression : assertion failed Function : CSE_InventoryBox::add_offline File : E:\stalker\patch_1_0004\xr_3…»
 
Строка 9: Строка 9:
</pre>
</pre>


=== Ошибка<ref>[http://www.stalker-portal.ru/forums.php?m=posts&p=1506454#1506454 Пост пользователя "SkyLoader" на форуме Stalker-Portal.ru]</ref> ===
=== Ошибка<ref>[http://www.stalker-portal.ru/forums.php?m=posts&p=1506454#1506454 Пост пользователя "SkyLoader" на форуме Stalker-Portal.ru]</ref><ref>[https://www.amk-team.ru/forum/topic/12152-shoker-mod-cs-v20/?do=findComment&comment=680942 Пост пользователя "Сашка_из_Шебекино" на AMK форуме]</ref><ref>[https://www.amk-team.ru/forum/topic/6185-skriptovanie/?do=findComment&comment=683451 Пост пользователя "*Shoker*" на AMK форуме]</ref><ref>[https://www.amk-team.ru/forum/topic/14288-soc-kovyryaemsya-v-faylah/?do=findComment&comment=1363735 Пост пользователя "Pir@t@s" на AMK форуме]</ref><ref>[http://old.ap-pro.ru/forum/36-10785-1087297-16-1506368762 Пост пользователя "SadBlackFox" на форуме AP Production]</ref> ===
Скриптовый вылет.
Скриптовый вылет.



Версия от 13:44, 27 августа 2024

1 вариант

Expression    : assertion failed
Function      : CSE_InventoryBox::add_offline
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_dynamic_object.cpp
Line          : 230
Description   : child

Ошибка[1][2][3][4][5]

Скриптовый вылет.

Происходит при попытке переместить предмет в контейнер (или из него), и одновременно удалить этот контейнер.

Движок игры пытается переместить предмет, но из-за удаленного родительского объекта (контейнера) не может выполнить операцию с дочерним (child) для контейнера предметом.


Частный случай:

Скриптовый перенос в ящик предметов и сразу скриптовая отправка ящика в оффлайн, чтобы он пропал. Предметы не успели переместиться, и произошел вылет.

Под отправкой в онлайн/оффлайн подразумевается, использование скриптовых методов can_switch_online/can_switch_offline.

В этом случае надо было сложить барахло actor'а во временный ящик и скрыть его от глаз, отправив ящик в принудительный оффлайн. А когда понадобится барахло, перевести ящик в онлайн и вернуть вещи actor'у, после чего удалить этот ящик.

Забирание барахла actor'а может произойти в любой момент на любой локации.

Решение[6]

Перед удалением контейнера требуется дождаться окончания подобных операций.


Частный случай:

Надо отправлять ящик в оффлайн по таймеру, а не сразу.


2 вариант

Expression : assertion failed
Function : CSE_ALifeDynamicObject::switch_online
File : E:\priquel\sources\engine\xrGame\alife_dynamic_object.cpp
Line : 53
Description : !m_bOnline

Ошибка[7]

Неизвестно.

Решение

Неизвестно.


Источники