XrServer sls clear.cpp

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

1 вариант

Expression    : assertion failed
Function      : xrServer::Perform_destroy
File          : D:\prog_repository\sources\trunk\xrGame\xrServer_sls_clear.cpp
Line          : 12
Description   : object->ID_Parent == 0xffff stack trace:

Ошибка

Открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" игрока).

Решение[1]

Необходимо переводить в оффлайн-онлайн сам инвентарный ящик:

alife ():set_switch_online  ( sobj.parent_id, false) alife ():set_switch_offline ( sobj.parent_id, true )

Аналогично, подобное может происходить и в ДРУГИХ скриптах. Решение - добавив такую же проверку.

И так далее: выяснять по id конкретный объект, разбираться, что с ним происходит, искать, где делается СТРАННОЕ, и исправлять.

2 вариант

Expression : child
Function : xrServer::Perform_destroy
File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_sls_clear.cpp
Line : 22
Description : child registered but not found [265]

Ошибка[2][3]

Попытка заспавнить предмет инвентаря в объект с классом отличным от inventory_box.

Использование других классов для спавна предметов не предусмотрено движком игры.

Тайники в ТЧ имеют уникальный story_id. При обыске тела игрок получает координаты тайника, содержимое спавнится в объект (контейнер; например, ящик или рюкзак) с этим story_id и имеет класс inventory_box.

Если каким-то образом окажется, что этот объект имеет класс, например, restrictor или level changer – произойдет вылет.

Решение[4]

Проверьте соответствие класса у всех объектов в которые происходит спавн.


Источник