Ребят, кто сталкивался с подобной проблемой: создал пару скриптов, которые "раздувают" мое сохранение, вследствие чего это сказывается как на производительности, так и на других скриптах. В скриптах есть Event OnUpdate() и RegisterForSingleUpdate, но как бы грамотно не старался их написать, опираясь на схожие проблемы, всё равно создается очень много ивентов. Вот пример скрипта:
Хотел сделать, чтобы НПС-Вервольфам добавлялись левельные повышения здоровья и урона, как и игроку
Event OnEffectStart(Actor akTarget, Actor akCaster)
akTarget.AddSpell(WerewolfImmunity)
RegisterForSingleUpdate(1)
Endevent
Event OnUpdate()
RegisterForSingleUpdate(1)
If GetTargetActor().Getlevel() < 10 && GetTargetActor().HasSpell(AbWerwolf) && !GetTargetActor().HasSpell(WerewolfI)
GetTargetActor().AddSpell(WerewolfI)
endif
If GetTargetActor().Getlevel() >= 10 && GetTargetActor().Getlevel() < 20 && GetTargetActor().HasSpell(AbWerwolf) && !GetTargetActor().HasSpell(WerewolfII)
GetTargetActor().AddSpell(WerewolfII)
endif
If GetTargetActor().Getlevel() >= 20 && GetTargetActor().Getlevel() < 30 && GetTargetActor().HasSpell(AbWerwolf) && !GetTargetActor().HasSpell(WerewolfIII)
GetTargetActor().AddSpell(WerewolfIII)
endif
If GetTargetActor().Getlevel() >= 30 && GetTargetActor().Getlevel() < 40 && GetTargetActor().HasSpell(AbWerwolf) && !GetTargetActor().HasSpell(WerewolfIV)
GetTargetActor().AddSpell(WerewolfIV)
endif
If GetTargetActor().Getlevel() >= 40 && GetTargetActor().HasSpell(AbWerwolf) && !GetTargetActor().HasSpell(WerewolfV)
GetTargetActor().AddSpell(WerewolfV)
endif
if !GetTargetActor().HasSpell(AbWerwolf) && GetTargetActor().HasSpell(WerewolfI) || WerewolfII || WerewolfIII || WerewolfIV || WerewolfV
GetTargetActor().RemoveSpell(WerewolfI)
GetTargetActor().RemoveSpell(WerewolfII)
GetTargetActor().RemoveSpell(WerewolfIII)
GetTargetActor().RemoveSpell(WerewolfIV)
GetTargetActor().RemoveSpell(WerewolfV)
endif
Endevent