Alife story registry.cpp
Материал из MODFAQ.RU — моддинг игр серии S.T.A.L.K.E.R., The Elder Scrolls и Fallout
Expression : no_assert Function : CALifeStoryRegistry::add File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cpp Line : 30 Description : Specified story object is already in the Story registry!
Ошибка[1]
Игра определила одинаковые story_id для двух и более объектов. Возникнуть это может в нескольких случаях:
- Более явная причина: в all.spawn либо скриптом разным объектам присвоен один и тот же story_id;
- При изменениях в спавне, т.е. добавлении или удалении секций, происходит переиндексация и секции, которые после добавленой/убавленной - получают иные индексы. В модах, в которых происходит спавн объектов по индексам из all.spawn'a (alife():create(индекс_из_all_spawn)), а это АМК, моды на его основе и не только, происходит ошибочное удаление (не того объекта) и соответственно дублированный спавн не удаленного объекта - вот вам и дублированный сид.
Решение[2]
- Найти поиском дублированные сиды и сделать их разными;
- Добавлять секции в all.spawn исключительно с индексами превышающими максимальный в принципе в all.spawn, а не в файле. В случае удаления ситуация сложнее. Если всё же нужно избавиться от объекта в all.spawn, удаляйте его скриптом, тем самым не нарушая последовательность индексации.