EDIT: After placing navmesh under them they are now correctly placed the first time I enter the cell. But when ever I sleep, wait, or load a couple more cells and come back, they move again.
Scriptname DCVR_AH_MannequinActivatorScript extends Actor Import UtilityMessage Property MannequinArmorWeaponsMessage Auto Message Property MannequinWarningMessage AutoForm[] Property ArmorSlot Auto HiddenForm[] Property AmmoSlot Auto HiddenForm Property EmptySlot Auto HiddenEvent OnInit()ArmorSlot = New Form[30]AmmoSlot = New Form[3]EndEventEvent OnCellAttach()Wait(0.1)EquipCurrentArmor()Self.BlockActivation()MoveTo(GetLinkedRef())Self.EnableAI(FALSE)EndEventEvent OnActivate(ObjectReference TriggerRef)Self.OpenInventory(TRUE)MoveTo(GetLinkedRef())Self.EnableAI(FALSE)EndEventEvent OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)Actor akPlayer = Game.GetPlayer()If (akBaseItem as Armor) || (akBaseItem as Weapon) If aiItemCount > 1 If akSourceContainer == akPlayer MannequinWarningMessage.Show() aiItemCount -= 1 Self.RemoveItem(akBaseItem, aiItemCount, true, akPlayer) Else aiItemCount -= 1 Self.RemoveItem(akBaseItem, aiItemCount) EndIf EndIf AddToArmorSlot(akBaseItem)ElseIf (akBaseItem as Ammo) AddToAmmoSlot(akBaseItem)Else MannequinArmorWeaponsMESSAGE.Show() Self.RemoveItem(akBaseItem, aiItemCount, true, akPlayer)EndIfWait(0.1)EquipCurrentArmor()EndEventEvent OnObjectUnequipped(Form akBaseObject, ObjectReference akReference)If (akBaseObject as Armor) || (akBaseObject as Weapon) RemoveFromArmorSlot(akBaseObject)ElseIf (akBaseObject as Ammo) RemoveFromAmmoSlot(akBaseObject)EndifEndEventFunction EquipCurrentArmor()Int i = 0Int n = 0While (i < 30)If (ArmorSlot[i] != EmptySlot) While (Self.GetItemCount(ArmorSlot[i]) > 1) Self.RemoveItem(ArmorSlot[i], 1) EndWhile EquipItem(ArmorSlot[i])EndIfi += 1EndWhileWhile (n < 3)If (AmmoSlot[n] != EmptySlot) EquipItem(AmmoSlot[n])EndIfn += 1EndWhileEndFunctionFunction AddToArmorSlot(Form akBaseItem)Int i = 0Bool FoundEmptySlot = FalseWhile (i < 30) && (FoundEmptySlot == False)If (ArmorSlot[i] == EmptySlot) ArmorSlot[i] = akBaseItem FoundEmptySlot = TrueEndIfi += 1EndWhileEndFunctionFunction AddToAmmoSlot(Form akBaseItem)Int i = 0Bool FoundEmptySlot = FalseWhile (i < 3) && (FoundEmptySlot == False)If (AmmoSlot[i] == EmptySlot) AmmoSlot[i] = akBaseItem FoundEmptySlot = TrueEndIfi += 1EndWhileEndFunctionFunction RemoveFromArmorSlot(Form akBaseItem)Int i = 0Bool FoundMatchingSlot = FalseWhile (i < 30) && (FoundMatchingSlot == False)If (ArmorSlot[i] == akBaseItem) ArmorSlot[i] = EmptySlot FoundMatchingSlot = TrueEndIfi += 1EndWhileEndFunctionFunction RemoveFromAmmoSlot(Form akBaseItem)Int i = 0Bool FoundMatchingSlot = FalseWhile (i < 3) && (FoundMatchingSlot == False)If (AmmoSlot[i] == akBaseItem) AmmoSlot[i] = EmptySlot FoundMatchingSlot = TrueEndIfi += 1EndWhileEndFunctionFunction ResetMannequinVars()Int i = 0Int n = 0While (i < 30)ArmorSlot[i] = EmptySloti += 1EndWhileWhile (n < 3)AmmoSlot[n] = EmptySlotn += 1EndWhileEndFunction
Scriptname DCVR_AH_ControlPanelScript extends ObjectReference Import GameImport UtilityMessage Property Mannequins Auto ObjectReference Property MannequinMarker01 Auto ObjectReference Property MannequinMarker02 Auto ObjectReference Property MannequinChest01 Auto ObjectReference Property MannequinChest02 Auto ObjectReference Property MannequinChest03 Auto ObjectReference Property MannequinChest04 Auto ObjectReference Property MannequinChest05 Auto ObjectReference Property MannequinChest06 Auto ObjectReference Property MannequinChest07 Auto ObjectReference Property MannequinChest08 Auto ObjectReference Property MannequinChest09 Auto ObjectReference Property MannequinChest10 Auto ObjectReference Property MannequinChest11 Auto ObjectReference Property MannequinChest12 Auto Actor Property Mannequin01 Auto Actor Property Mannequin02 AutoActor Property Mannequin03 AutoActor Property Mannequin04 AutoActor Property Mannequin05 AutoActor Property Mannequin06 AutoActor Property Mannequin07 Auto Actor Property Mannequin08 AutoActor Property Mannequin09 AutoActor Property Mannequin10 AutoActor Property Mannequin11 AutoActor Property Mannequin12 AutoActor Property MannequinFem01 AutoActor Property MannequinFem02 AutoActor Property MannequinFem03 AutoActor Property MannequinFem04 AutoActor Property MannequinFem05 AutoActor Property MannequinFem06 AutoActor Property MannequinFem07 AutoActor Property MannequinFem08 AutoActor Property MannequinFem09 AutoActor Property MannequinFem10 AutoActor Property MannequinFem11 AutoActor Property MannequinFem12 AutoSound Property SceneMachine AutoEvent OnActivate(ObjectReference akActionRef) Self.PlayAnimationAndWait("Trigger01", "Done") Wait(0.2) MCPMainMenu()EndEventFunction MCPMainMenu() Int MainSelection = MainMenu.Show() If MainSelection == 0 MCPScenery() ElseIf MainSelection == 1 MCPPatio() ElseIf MainSelection == 2 MCPServices() ElseIf MainSelection == 3 MCPMannequins() ElseIf MainSelection == 4 Return EndIfEndFunctionFunction MCPMannequins() Int MannequinSelection = Mannequins.Show() If MannequinSelection == 0 ChangeGender() ElseIf MannequinSelection == 1 ResetMannequin() ElseIf MannequinSelection == 2 Wait(0.2) MCPMainMenu() EndIfEndFunctionFunction ChangeGender() If !MannequinMarker01.IsDisabled() DisableMale() EnableFemale() ElseIf !MannequinMarker02.IsDisabled() DisableFemale() EnableMale() EndIfEndFunctionFunction ResetMannequin() If !MannequinMarker01.IsDisabled() DisableMale() EnableMale() ElseIf !MannequinMarker02.IsDisabled() DisableFemale() EnableFemale() EndIfEndFunctionFunction DisableMale() MaleUnequip() Wait(0.1) MannequinMarker01.Disable() Wait(0.1) MaleResetVars() Wait(0.2)EndFunctionFunction EnableMale() MannequinMarker01.Enable() Wait(0.2) MaleEquip() Wait(0.2)EndFunctionFunction DisableFemale() FemaleUnequip() Wait(0.1) MannequinMarker02.Disable() Wait(0.1) FemaleResetVars() Wait(0.2)EndFunctionFunction EnableFemale() MannequinMarker02.Enable() Wait(0.2) FemaleEquip() Wait(0.2)EndFunctionFunction MaleUnequip() Mannequin01.RemoveAllItems(MannequinChest01) Mannequin02.RemoveAllItems(MannequinChest02) Mannequin03.RemoveAllItems(MannequinChest03) Mannequin04.RemoveAllItems(MannequinChest04) Mannequin05.RemoveAllItems(MannequinChest05) Mannequin06.RemoveAllItems(MannequinChest06) Mannequin07.RemoveAllItems(MannequinChest07) Mannequin08.RemoveAllItems(MannequinChest08) Mannequin09.RemoveAllItems(MannequinChest09) Mannequin10.RemoveAllItems(MannequinChest10) Mannequin11.RemoveAllItems(MannequinChest11) Mannequin12.RemoveAllItems(MannequinChest12)EndFunctionFunction MaleEquip() MannequinChest01.RemoveAllItems(Mannequin01) MannequinChest02.RemoveAllItems(Mannequin02) MannequinChest03.RemoveAllItems(Mannequin03) MannequinChest04.RemoveAllItems(Mannequin04) MannequinChest05.RemoveAllItems(Mannequin05) MannequinChest06.RemoveAllItems(Mannequin06) MannequinChest07.RemoveAllItems(Mannequin07) MannequinChest08.RemoveAllItems(Mannequin08) MannequinChest09.RemoveAllItems(Mannequin09) MannequinChest10.RemoveAllItems(Mannequin10) MannequinChest11.RemoveAllItems(Mannequin11) MannequinChest12.RemoveAllItems(Mannequin12)EndFunctionFunction MaleResetVars() (Mannequin01 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin02 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin03 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin04 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin05 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin06 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin07 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin08 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin09 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin10 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin11 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (Mannequin12 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars()EndFunctionFunction FemaleUnequip() MannequinFem01.RemoveAllItems(MannequinChest01) MannequinFem02.RemoveAllItems(MannequinChest02) MannequinFem03.RemoveAllItems(MannequinChest03) MannequinFem04.RemoveAllItems(MannequinChest04) MannequinFem05.RemoveAllItems(MannequinChest05) MannequinFem06.RemoveAllItems(MannequinChest06) MannequinFem07.RemoveAllItems(MannequinChest07) MannequinFem08.RemoveAllItems(MannequinChest08) MannequinFem09.RemoveAllItems(MannequinChest09) MannequinFem10.RemoveAllItems(MannequinChest10) MannequinFem11.RemoveAllItems(MannequinChest11) MannequinFem12.RemoveAllItems(MannequinChest12)EndFunctionFunction FemaleEquip() MannequinChest01.RemoveAllItems(MannequinFem01) MannequinChest02.RemoveAllItems(MannequinFem02) MannequinChest03.RemoveAllItems(MannequinFem03) MannequinChest04.RemoveAllItems(MannequinFem04) MannequinChest05.RemoveAllItems(MannequinFem05) MannequinChest06.RemoveAllItems(MannequinFem06) MannequinChest07.RemoveAllItems(MannequinFem07) MannequinChest08.RemoveAllItems(MannequinFem08) MannequinChest09.RemoveAllItems(MannequinFem09) MannequinChest10.RemoveAllItems(MannequinFem10) MannequinChest11.RemoveAllItems(MannequinFem11) MannequinChest12.RemoveAllItems(MannequinFem12)EndFunctionFunction FemaleResetVars() (MannequinFem01 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem02 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem03 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem04 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem05 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem06 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem07 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem08 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem09 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem10 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem11 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars() (MannequinFem12 as DCVR_AH_MannequinActivatorScript).ResetMannequinVars()EndFunction