Here, have fun with this. It's a basic BoundArmor Script, free for use by anyone since it's pretty damn basic and easy in its implementation and missing some stuff from Oblivion that I haven't figured out how to replicate yet.
Scriptname aaBoundArmor extends activemagiceffect {BoundArmorScript}; /Property Declarations; /Armor Property - Calls for a Armor Type form, linked in properties in the MagicEffect Form; /Perk Property - Calls for a Perk Type form; /MagicEffect Property - Calls for a MagicEffect Type formArmor Property pBoundHArmor AutoArmor Property pBoundHBoots AutoArmor Property pBoundHGauntlets AutoArmor Property pBoundHHelmet AutoArmor Property pBoundHHelmetMystic AutoArmor Property pBoundHArmorMystic AutoArmor Property pBoundHBootsMystic AutoArmor Property pBoundHGauntletsMystic AutoPerk Property MysticBinding AutoMagicEffect Property BoundArmorSelf Auto; /this section starts the effect. When the spell is cast its linked magic effect is started; /this triggers the EVENT OnEffectStartEVENT OnEffectStart(Actor Target, Actor Caster); debug.trace("BoundArmor - Effect Starting - add and equip bound armor") ; /Checks for Perk MysticBinding if it returns 1, MysticBinding=true ; /Then the improved MysticBoundArmor is used, else regular Bound Armor is used if (caster.HasPerk(MysticBinding) == 1) caster.AddItem(pBoundHArmorMystic, 1, TRUE) caster.equipitem(pBoundHArmorMystic, TRUE, TRUE) caster.AddItem(pBoundHBootsMystic, 1, TRUE) caster.equipitem(pBoundHBootsMystic, TRUE, TRUE) caster.AddItem(pBoundHGauntletsMystic, 1, TRUE) caster.equipitem(pBoundHGauntletsMystic, TRUE, TRUE) caster.AddItem(pBoundHHelmetMystic, 1, TRUE) caster.equipitem(pBoundHHelmetMystic, TRUE, TRUE) else caster.AddItem(pBoundHArmor, 1, TRUE) caster.equipitem(pBoundHArmor, TRUE, TRUE) caster.AddItem(pBoundHBoots, 1, TRUE) caster.equipitem(pBoundHBoots, TRUE, TRUE) caster.AddItem(pBoundHGauntlets, 1, TRUE) caster.equipitem(pBoundHGauntlets, TRUE, TRUE) caster.AddItem(pBoundHHelmet, 1, TRUE) caster.equipitem(pBoundHHelmet, TRUE, TRUE) endifendEVENT; /Error checking. If script runs and cant find the magic effect it kills itselfEVENT onLoad(); debug.trace("Bound Armor caught Cell Attach") if !(getCasterActor().hasMagicEffect(BoundArmorSelf)); debug.trace("Bound Armor - Cell Attached, script active, but effect not found on "+getCasterActor()) dispel() endifendEVENT; /Once the Duration of the magic effect runs out it triggers thisEVENT OnEffectFinish(Actor Target, Actor Caster); debug.trace("BoundArmor - Effect Finishing - remove bound armor") ; /Again, Checking for the perk, if its there it removes the MysticBoundArmor ; /Else it removes the regular if (caster.HasPerk(MysticBinding) == 1) caster.RemoveItem(pBoundHArmorMystic, 1, TRUE) caster.RemoveItem(pBoundHBootsMystic, 1, TRUE) caster.RemoveItem(pBoundHGauntletsMystic, 1, TRUE) caster.RemoveItem(pBoundHHelmetMystic, 1, TRUE) else caster.RemoveItem(pBoundHArmor, 1, TRUE) caster.RemoveItem(pBoundHBoots, 1, TRUE) caster.RemoveItem(pBoundHGauntlets, 1, TRUE) caster.RemoveItem(pBoundHHelmet, 1, TRUE) endif ; /Note. I've looked for functions to preserve the armor worn prior to casting the spell but nothing seemed to be useful ; /So it does not restore what was worn earlier on effect end. Still trying to figureout a workaround. ; /This is because all the GetEquipped functions only seem to call for what is in the hands or in the shield slot. ; /The EquipItem function requires a formID when called so I have to poll for equipped armor, then grab their formIDs ; /and preserve them in memory in a variable. Then call them again OnEffectFinish.endEVENT