1.: Da kann man leider nicht großartig etwas dran ändern.

2.) Hab mir dein Script jetzt nicht angesehen, aber probier mal das hier:
Code:
scn aaarmorbrokenc

short next
short EquipDelay
long objecthealth
ref Actor

Begin GameMode
	if Actor == 0
		set Actor to GetContainer
	elseif ( Actor.GetEquipped aamodiamelion ) && ( next == 0 )
		if getCurrentHealth / getObjectHealth >= 0 && getCurrentHealth / getObjectHealth <= 0.75
			message "Rüstung ist beschädigt!"
			set next to 1
			set objecthealth to getCurrentHealth
			Actor.addItem aamodiamelionbroken 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.UnEquipItem aamodiamelion
			Actor.EquipItem aamodiamelionbroken
			Actor.setEquippedCurrentHealth objecthealth 2
			removeMe
		endif
	endif
end