All of the script properties use the editor ID; NullOutfit is what it sounds like, an outfit that contains nothing. DefaultOutfit is the follower's normal outfit.
This is the script; hopefully it can be read alright -- if not, I'll pretty it up a bit:
Scriptname PSDefaultFollowerAliasScript extends ReferenceAlias
Package Property PlayerFollowerPackage Auto
Package Property PlayerFollowerCombatOverridePackage Auto
Package Property PlayerFollowerCombatOverridePackageExterior Auto
Outfit Property DefaultOutfit Auto
Outfit Property DefaultSleepOutfit Auto
Outfit Property NullOutfit Auto
Outfit Property ArmorBladesOutfit Auto
Faction Property BladesFaction Auto
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
if (akTarget == Game.GetPlayer())
Actor selfRef = Self.GetActorRef()
(selfRef as Actor).SetOutfit(DefaultSleepOutfit, true)
if (!(selfRef as Actor).IsInFaction(BladesFaction))
(selfRef as Actor).SetOutfit(DefaultOutfit)
else
(selfRef as Actor).SetOutfit(ArmorBladesOutfit)
endif
endIf
EndEvent
Event OnPackageStart (Package akNewPackage)
if (akNewPackage == PlayerFollowerPackage)
Actor selfRef = Self.GetActorRef()
(selfRef as Actor).SetOutfit(NullOutfit)
if (!(selfRef as Actor).IsInFaction(BladesFaction))
(selfRef as Actor).SetOutfit(DefaultOutfit, true)
else
(selfRef as Actor).SetOutfit(ArmorBladesOutfit, true)
endif
endif
endEvent
Event OnPackageChange (Package akOldPackage)
Actor selfRef = Self.GetActorRef()
if (akOldPackage == PlayerFollowerPackage) && ((selfRef as Actor).GetCurrentPackage() != PlayerFollowerCombatOverridePackage) && ((selfRef as Actor).GetCurrentPackage() != PlayerFollowerCombatOverridePackageExterior)
(selfRef as Actor).SetOutfit(DefaultSleepOutfit, true)
if (!(selfRef as Actor).IsInFaction(BladesFaction))
(selfRef as Actor).SetOutfit(DefaultOutfit)
else
(selfRef as Actor).SetOutfit(ArmorBladesOutfit)
endif
endif
endEvent
