XrServer sls clear.cpp: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
решение child registered but not found
 
(не показана 1 промежуточная версия этого же участника)
Строка 12: Строка 12:
Открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" игрока).
Открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" игрока).


=== Решение<ref>[http://www.amk-team.ru/forum/faq/ Страница FAQ на AMK форуме, раздел "Справочник вылетов"]</ref> ===
=== Решение<ref>[http://www.amk-team.ru/forum/faq/5-spravochnik-vyletov-line-1-line-100 Страница "Справочник вылетов (Line 1 - Line 100)" на AMK форуме]</ref> ===
Необходимо переводить в оффлайн-онлайн сам инвентарный ящик:
Необходимо переводить в оффлайн-онлайн сам инвентарный ящик:
<pre>
<pre>
Строка 30: Строка 30:
</pre>
</pre>


=== Ошибка<ref>[https://www.gameru.net/forum/index.php?s=&showtopic=15300&view=findpost&p=614855 Пост пользователя "prizrak" на форуме Gameinator]</ref> ===
=== Ошибка<ref>[https://www.gameru.net/forum/index.php?s=&showtopic=15300&view=findpost&p=614855 Пост пользователя "prizrak" на форуме Gameinator]</ref><ref>[https://www.amk-team.ru/forum/topic/6185-skriptovanie/?do=findComment&comment=683451 Пост пользователя "*Shoker*" на AMK форуме]</ref> ===
Попытка заспавнить предмет инвентаря в объект с классом отличным от '''inventory_box'''.
Попытка заспавнить предмет инвентаря в объект с классом отличным от '''inventory_box'''.



Текущая версия от 13:33, 27 августа 2024

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]

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


Источник