Alle Jahre wieder

so nach dem ja so ein Jahr vergangen ist habe ich mal meinen Skript wieder Ausgegraben.
Der sich im laufe der Zeit ein wenig verändert hat und jetzt so Aussieht.

PHP-Code:
Scriptname aaTestcuirassa

short next
short EquipDelay
long objecthealth
ref Actor
ref britem

Begin GameMode
    
if Actor == 0
        set Actor to GetContainer
    
elseif ( Actor.GetEquipped aaTestcuirass ) && ( next == )
        if 
getCurrentHealth getObjectHealth >= && getCurrentHealth getObjectHealth <= 0.75
            set next to 1
            set objecthealth to getCurrentHealth
            Actor
.addItemNS aaTestcuirassb 1
               Actor
.addItemNS brTestcuirass1Splitter 1
            set EquipDelay to 1
        
endif
    elseif 
next == 1
        
if EquipDelay >= 1
            set EquipDelay to EquipDelay 
1
        
elseif EquipDelay == 0
            set next to 0
            Actor
.UnEquipItemNS aaTestcuirass
            Actor
.EquipItemNS aaTestcuirassb
            Actor
.setEquippedCurrentHealth objecthealth 2
               Actor
.Drop brTestcuirass1Splitter 1
               set britem to brTestcuirass1Splitter
               britem
.moveto Actor 0,0,9
            removeMe
        
endif
    elseif 
Actor != 0
                set Actor to 0
     
endif
end 
Jetzt habe ich da 2 Problem

1. Script wird wenn ich im Spiel bin und denn lade. (nicht wenn ich Obl gerade gestartet habe ) öfters mal ignoriert (nicht immer aber doch recht oft).
2. nachdem ich die sache mit den Drop eingefügt habe. löst der Script ein CTD in Exterior Bereichen aus, im interior funktioniert es so aber.