XrServer sls clear.cpp: различия между версиями
решение child registered but not found |
м →ОшибкаПост пользователя "prizrak" на форуме Gameinator: +упоминание |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 12: | Строка 12: | ||
Открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" игрока). | Открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" игрока). | ||
=== Решение<ref>[http://www.amk-team.ru/forum/faq/ Страница | === Решение<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]
Попытка заспавнить предмет инвентаря в объект с классом отличным от inventory_box.
Использование других классов для спавна предметов не предусмотрено движком игры.
Тайники в ТЧ имеют уникальный story_id. При обыске тела игрок получает координаты тайника, содержимое спавнится в объект (контейнер; например, ящик или рюкзак) с этим story_id и имеет класс inventory_box.
Если каким-то образом окажется, что этот объект имеет класс, например, restrictor или level changer – произойдет вылет.
Решение[4]
Проверьте соответствие класса у всех объектов в которые происходит спавн.