Necessary for the preferred implementation of a mod I'll be working on when NVSE is released.
scn FookQATestingOptionsSCPTRef rContainerRef rBagOfHoldingInt iMessageBoxInt iButtonInt iCountBegin OnAdd Set iMessageBox to -1EndBegin MenuMode 1001 If (iMessageBox < 0) Return ElseIf rBagOfHolding rBagOfHolding.RemoveAllItems FookBagOfHoldingREF rBagOfHolding.Disable rBagOfHolding.MarkForDelete Set rBagOfHolding to 0 ElseIf rContainer rContainer.Disable rContainer.MarkForDelete Set rContainer to 0 EndIfEndBegin GameMode If (iMessageBox > 0) Set iButton to GetButtonPressed If (iButton == -1) Return Else Set iMessageBox to (iMessageBox * -1) If (iMessageBox == -1) If (iButton == 0) ; QA Containers Set iMessageBox to -2 ElseIf (iButton == 1) ; Add/Remove Field Salvage Kit Set iCount to Player.GetItemCount FookFSKToolboxMISC If iCount Player.RemoveItem FookFSKToolboxMISC iCount Else Player.AddItem FookFSKToolboxMISC 1 EndIf ElseIf (iButton == 2) ; Add/Remove Power Armor Training Perk If Player.HasPerk PowerArmorTraining Player.RemovePerk PowerArmorTraining ShowMessage FOOKMsgPerkRemoved Else Player.AddPerk PowerArmorTraining ShowMessage FOOKMsgPerkAdded EndIf ElseIf (iButton == 3) ; Back StartQuest FookOptions2QUST RemoveMe ElseIf (iButton == 4) ; Done EnablePlayerControls 1 1 0 0 1 0 0 RemoveMe EndIf ElseIf (iMessageBox == -2) ; QA Containers If (iButton == 0) || (iButton == 1) If FookQAShelf.GetDisabled FookQAShelf.Enable Else FookQAShelf.Disable EndIf ElseIf (iButton == 2) ; Armory Set iMessageBox to -3 ElseIf (iButton == 3) ; Apparel Set iMessageBox to -4 ElseIf (iButton == 4) ; Other Set iMessageBox to -5 ElseIf (iButton == 5) ; Bag of Holding Set rBagOfHolding to Player.PlaceAtMe FookBagOfHoldingCONT 1 10 FookBagOfHoldingREF.RemoveAllItems rBagOfHolding rBagOfHolding.SetOwnership rBagOfHolding.Activate Player ElseIf (iButton == 6) ; Back Set iMessageBox to -1 ElseIf (iButton == 7) ; Done (Exit Menu) EnablePlayerControls 1 1 0 0 1 0 0 RemoveMe EndIf ElseIf (iMessageBox == -3) ; Armory If (iButton == 0) ; Small Guns Set rContainer to Player.PlaceAtMe FookQASmallGunsCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 1) ; Big Guns Set rContainer to Player.PlaceAtMe FookQABigGunsCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 2) ; EnergyWeapons Set rContainer to Player.PlaceAtMe FookQAEnergyWeaponsCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 3) ; Unarmed&Melee Set rContainer to Player.PlaceAtMe FookQAMeleeUnarmedCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 4) ; Explosives Set rContainer to Player.PlaceAtMe FookQAExplosivesCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 5) ; Uniques Set rContainer to Player.PlaceAtMe FookQAUniqueWeaponsCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 6) ; Ammo Set rContainer to Player.PlaceAtMe FookQAAmmoCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 7) ; Back Set iMessageBox to -2 ElseIf (iButton == 8) ; Done (Exit Menu) EnablePlayerControls 1 1 0 0 1 0 0 RemoveMe EndIf ElseIf (iMessageBox == -4) ; Apparel If (iButton == 0) ; Apparel Set rContainer to Player.PlaceAtMe FookQAApparelCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 1) ; Armor Set rContainer to Player.PlaceAtMe FookQAArmorCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 2) ; Power Armor Set rContainer to Player.PlaceAtMe FookQAPowerArmorCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 3) ; Back Set iMessageBox to -2 ElseIf (iButton == 4) ; Done (Exit Menu) EnablePlayerControls 1 1 0 0 1 0 0 RemoveMe EndIf ElseIf (iMessageBox == -5) ; Other If (iButton == 0) ; Misc Set rContainer to Player.PlaceAtMe FookQAMiscCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 1) ; Ingestibles Set rContainer to Player.PlaceAtMe FookQAIngestiblesCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 2) ; Misc Set rContainer to Player.PlaceAtMe FookQANotesCONT 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 3) ; Destroyed Power Armor Set rContainer to player.PlaceAtMe FOOKDestroyedPATestContainer 1 10 rContainer.SetOwnership rContainer.Activate Player ElseIf (iButton == 4) ; Back Set iMessageBox to -2 ElseIf (iButton == 5) ; Done (Exit Menu) EnablePlayerControls 1 1 0 0 1 0 0 RemoveMe EndIf EndIf EndIf Else Set iMessageBox to (iMessageBox * -1) If (iMessageBox == 1) ShowMessage FookQATestingOptionsMESG ElseIf (iMessageBox == 2) ShowMessage FookQAContainersMESG ElseIf (iMessageBox == 3) ShowMessage FookQAArmoryMESG ElseIf (iMessageBox == 4) ShowMessage FookQAApparelMESG ElseIf (iMessageBox == 5) ShowMessage FookQAOtherMESG EndIf EndIfEnd
Begin ScriptEffectStart Player.AddItem ContainerAccessALCH 1 1 YourContainerREF.Activate PlayerEndI've never set up a menu to work from
Begin OnEquip Player YourContainerREF.Activate Player Player.UnequipItem ThisItemBaseIDEnd
Begin ScriptEffectStart Player.AddItem ContainerAccessALCH 1 1 YourContainerREF.Activate PlayerEndI've never set up a menu to work from