:edit:
Just to clarify the reason i picked the underground hideout sorter script is because it doesnt repair your weapons and armor when sorting
SCN DewdweaponsortscriptShort MenuLevel Short WeapHealthFloat weaphealthF Float TimerA short ButtonShort CounterShort AmountInFormShort SortItemsNow REF WeaponIDNameREF ContainerReferenceName REF FormToUseREF NumberItemsInFormBegin OnActivateIF MenuLevel == 0 if DewdFOSEDetectionQuest.isPresent Set Counter to 0 Set MenuLevel to 1 Showmessage Dewdweaponsortermenu If WeaphealthF == 0 Set WeaphealthF to 1 Endif else Showmessage DewdFoseWarningMessage endifendifENDBegin GameMode If MenuLevel == 1 Set Button to GetButtonPressed ;Menu sets number of items in form and which form to use If Button == 0 Set ContainerReferenceName to T3TREFLockWeap Set FormToUse to DewdWeaponsSmallGunsList Set AmountInForm to ListGetCount DewdWeaponsSmallGunsList Set SortItemsNow to 1 Set TimerA To .1 DisablePlayerControls 1 1 1 1 0 1 1 Set MenuLevel to 0 elseIf Button == 1 Set ContainerReferenceName to T3TREFLockWeap Set FormToUse to DewdWeaponsEnergyList Set AmountInForm to ListGetCount DewdWeaponsEnergyList Set SortItemsNow to 1 Set TimerA To .1 DisablePlayerControls 1 1 1 1 0 1 1 Set MenuLevel to 0 elseIf Button == 2 Set ContainerReferenceName to T3TREFLockWeap Set FormToUse to DewdWeaponsHeavyList Set AmountInForm to ListGetCount DewdWeaponsHeavyList Set SortItemsNow to 1 Set TimerA To .1 DisablePlayerControls 1 1 1 1 0 1 1 Set MenuLevel to 0 elseIf Button == 3 Set ContainerReferenceName to T3TREFLockWeap Set FormToUse to DewdWeaponsMeleeList Set AmountInForm to ListGetCount DewdWeaponsMeleeList Set SortItemsNow to 1 Set TimerA To .1 DisablePlayerControls 1 1 1 1 0 1 1 Set MenuLevel to 0 elseIf Button == 4 Set MenuLevel to 0 endif endif ;Sorting Script If SortItemsNow == 1 If Counter >= AmountInForm Set SortItemsNow to 0 EnablePlayerControls endif If SortItemsNow == 1 set WeaponIDName to ListGetNthForm FormToUse Counter If Player.getitemcount WeaponIDName >= 1 Player.equipitem WeaponIDName 0 1 if TimerA > 0 set TimerA to TimerA - getSecondsPassed else Set weaphealth to player.getweaponhealthperc Set weaphealthF to (weaphealth*0.01) Player.removeitem WeaponIDName 1 1 ContainerReferenceName.AddItemHealthPercent WeaponIDName 1 weaphealthF set TimerA to .1 endif else Set Counter to Counter + 1 endif endif endifEND