Alife dynamic object.cpp
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]
Скриптовый вылет.
Происходит при попытке переместить предмет в контейнер (или из него), и одновременно удалить этот контейнер.
Движок игры пытается переместить предмет, но из-за удаленного родительского объекта (контейнера) не может выполнить операцию с дочерним (child) для контейнера предметом.
Частный случай:
Скриптовый перенос в ящик предметов и сразу скриптовая отправка ящика в оффлайн, чтобы он пропал. Предметы не успели переместиться, и произошел вылет.
Под отправкой в онлайн/оффлайн подразумевается, использование скриптовых методов can_switch_online/can_switch_offline.
В этом случае надо было сложить барахло actor'а во временный ящик и скрыть его от глаз, отправив ящик в принудительный оффлайн. А когда понадобится барахло, перевести ящик в онлайн и вернуть вещи actor'у, после чего удалить этот ящик.
Забирание барахла actor'а может произойти в любой момент на любой локации.
Решение[2]
Перед удалением контейнера требуется дождаться окончания подобных операций.
Частный случай:
Надо отправлять ящик в оффлайн по таймеру, а не сразу.
2 вариант
Expression : assertion failed Function : CSE_ALifeDynamicObject::switch_online File : E:\priquel\sources\engine\xrGame\alife_dynamic_object.cpp Line : 53 Description : !m_bOnline
Ошибка[3]
Неизвестно.
Решение
Неизвестно.