Jump to content

HunterZ

Members
  • Posts

    30
  • Joined

  • Last visited

Posts posted by HunterZ

  1. Just got bit by this mess too... hCaptcha isn't even giving me a puzzle to solve - it just shows a green checkmark when I click - but I still get "ERROR Help us prevent spam by completing the captcha challenge." over and over again.


    After installing a different browser and still having the problem, it eventually cleared up on all browsers, which makes me think it was a server issue and nothing on my end.


    What a frustrating mess.

  2. Just because the mods are not being maintained doesn't mean that *NMM* can't update to properly support OMOD.

     

    I figured out how to manually install all the OMOD addons that I wanted just by reading the script files, so it's not rocket science. Probably the Nexus admins figure they can make more money by spending their time adding/improving NMM support for newer games instead :sad:

     

    Oblivion seems to be the least friendly Bethesda game to mod from Morrowind onwards, mainly because the community is split between OMM & Wrye Bash, BOSS & LOOT, etc. What an annoying mess!

     

    Edit: It's also really frustrating that NMM registers itself with Windows as an OMOD handler. It wasn't able to install a single OMOD-enabled mod for me. It would be one thing if they didn't even pretend to support OMOD, but they do...

  3. I can't wait for the inevitable mod that will allow you to break down weapons and armor into their component mods. It's frustrating right now having mods A & C on one item and B & D on another, because you have to build base mods in order to free up the better mods so that you can put them on the other item.

  4. So I tried deleting the files from the c:\games\falloutnv\mods\cache directory and restarting NMM, then uninstalling, deleting, re-downloading and reinstalling all affected mods.

     

    This seems to have narrowed down the issue to just oHUD and MCM, which I see are both in .fomod format instead of .rar or .zip. I guess that means that NMM is bugged such that it can no longer track .fomod format mods against the Nexus site database?

  5. I am sooo regretting updating Nexus Mod Manager this time... I can hardly download anything, and almost everything fails to download. Also, every unrecognised mod now displays as version "1", and links to a hidden Nexus Mod page. I usually go by the yellow icon to see what needs to be updated, so I manually changed them all to 1, and now it asks me if I want to update them all, one by one, upon loading NMM n.nU

     

    I already tried restarting NMM, restarting my computer, redownloading NMM, tried in many compatibility modes, tried downloading many different mods, etc.

     

    I don't mind upgrading to support a great mod tool and site, but I'm not going to until this gets a lot more polished. I guess I'll just be downloading manually for a while.

     

    Edit: Also, any mod that fails to download ultimately gives me a crash report and thus crashes NMM.

    I'm seeing all of these issues with non-premium. Just started a separate thread about it.

     

    No point in upgrading to a "premium" client when the servers it talks to are falling over. Can I upgrade to a premium server instead? ;)

  6. I've been using NMM to manage my Fallout: New Vegas mods, and it's been working quite well. Unfortunately, somewhere around v30 it seems to have lost the association between half of my mods and the Nexus database:

     

    Nevada Skies - Weather Effects BETA and URWLified - Night Brightness Adjuster

    One HUD - oHUD - One HUD - oHUD v1_0_1

    The Mod Configuration Menu - The Mod Configuration Menu

    Unified HUD Project - Unified HUD Project v 2_10

     

    Each of these shows a latest version of "1" (with the link going to an "admin test file" page, with a yellow symbol next to it that is triangle w/exclamation mark. If I hit the "get missing mod info" / "i+" button, it shows a random list of non-matching mods in the "matching mods" list on the left; I also noticed that the list shown is the same for all of the problematic mods.

     

    I'm currently using 0.31.2, which is the latest version, and it is still exhibiting the same issue.

     

     

    I tried reinstalling Unified HUD Project via "download with manager" on the mod's page, and it installed with a name of "Unified HUD Project - uHUD" and no yellow exclamation triangle icon. When I hit the "i+" button, it showed a matching mod with the old name; I selected that, hit OK and restarted NMM, and then the mod had the yellow exclamation triangle icon again.

     

    I tried re-downloading Unified HUD Project a second time and re-installing it without changing the name to the matching database entry, and I still got the yellow exclamation triangle icon after restarting NMM.

     

     

    I'm also now having trouble downloading mods: I had to manually change the URL to get a download server that would respond, because the site seems to fail at load-balancing and neither the site nor NMM seems able to find a working server automatically.

     

     

    This is extremely frustrating! It seems that NMM has now been crippled by bugs and freemium-ness to be only useful as a mod installer/uninstaller, and not an update checker or downloader.

  7. Thanks man this helped me a lot got my own stations on air an all, but is there any way to join your custom radio station with radio activators, so for example when I am making a house mod and I want a radio that plays my station at my house, how can I do this tryied on my own and failed miserably :wallbash:

     

    If any one know how to do this please help

     

    nr1 tutorial, very easy to fallow :thumbsup:

    If you look at a radio object that has already been placed in a cell, you will see that you can choose which radio station it's tuned to. You should be able to copy it into the desired cell and then set the copy to your custom station.

  8. I can't give an authoritative answer, but that looks pretty safe to me. What breaks the wheel is if you mess with the CombatStyleXX/IsFollowingXX/Waiting/etc. variables without properly doing related stuff (or vice versa), and AddScriptPackage appears to be a big no-no.

     

    As a style note, you may want your if() statement to check the local variables first and the function call results last. If the scripting engine uses short-circuit evaluation (most languages do these days) then that will be more efficient, which may be important in GameMode code.

  9. Got it working, but won't be releasing an update to my mod until I figure out what to do about MCM's 10 submenu limit. If only I could do an 8-row by 5-column matrix of checkboxes :P

     

    I actually looked up the follower quest that handles changing follower states via dialogue trees and copied some of the logic from there. I discovered that they set flags and run whateverref.evp instead of messing directly with the packages.

  10. Doh, you're probably right. I had already clued into the Waiting flag (since it is used in some of the default game scripts), but didn't think of the fact that the game is probably using similar flags to more easily track the other AI states as well.

     

    I'm not sure what the difference would be between IsFollowingDefault and IsFollowingShort, as there are not separate AI packages or UI selections for those two modes as far as I know.

  11. In FNV, each of the default followers has a FollowersXXXFollowPlayerDEFAULT (follow closely), FollowersXXXFollowPlayerLONG (follow at a distance) and FollowersXXXFollowPlayerWAIT (wait) script package, where XXX is the name of the follower (Boone, Cass, EDE, etc.).

     

    I'm trying to enhance my Follower Cheat Menu MCM mod to allow the player to see which package is currently in use for each companion, and also allow overriding it with a new one. The mod correctly shows which package is in use, and using AddScriptPackage to override it with one of the others also seems to work fine.

     

    After overriding the active package for one of the followers, however, I noticed that using the in-game dialogue trees and/or companion wheel to then toggle follow/wait status no longer works! I tried toggling back and forth multiple times, and while the companion wheel appears to reflect the desired state, the AI package never changes to anything but what I set via my mod.

     

    Anyone know what the story is here, and whether I can do anything about it? I've tried calling other AI script package related functions before and after AddScriptPackage, but they don't seem to help.

  12. Thanks, I was actually just wondering whether there was a different approach needed for adding base objects to FormLists.

     

    I already anticipated that this would potentially prevent deposit of items sharing base id's with equipped or hotkeyed items, but I figure it's still useful enough to be worth giving end-users the choice of whether or not to make use of it.

  13. So I'm working on my Bag of Holding mod, and I'm having trouble getting a new feature to work. What I'm trying to do is use the NVSE functions GetHotkeyItem and player.GetEquippedObject to build a FormList of the base IDs of all hotkeyed and player-equipped items, which I'm then trying to use an exclusion list for player.RemoveAllTypedItems calls.

     

    Unfortunately, it's not working as expected. Specifically, I'm seeing the following problems:

    • If the player chooses to protect just equipped items, then all items get deposited - including equipped ones.
    • If the player chooses to protect hotkeyed items (or both hotkeyed and equipped items), then no items get deposited - including non-hotkeyed, non-equipped items.

     

    Anyone know what the heck is going on? I've pasted my script into the spoiler tag below. Look under the "3 - NEW VALUE" comment for the most relevant section of code.

     

     

    ScriptName HZBagOfHoldingScript
    
    short iMaster
    short iMouseover
    short iOption
    short iProtectHotkeyItems
    short iProtectEquipItems
    short iSubMenu
    short iTemp
    float fTemp
    float fValue
    int iItemIndex
    int nCaps
    int nListIndex
    int nListSize
    reference rList
    reference rItem
    
    begin GameMode
    if GetGameRestarted
    	if IsModLoaded "The Mod Configuration Menu.esp"
    		set iMaster to GetModIndex "The Mod Configuration Menu.esp"
    		set rList to BuildRef iMaster 2790
    		ListAddForm rList HZBagOfHoldingMiscItem
    	endif
    endif
    end
    
    begin MenuMode 1013
    if IsModLoaded "The Mod Configuration Menu.esp"
    else
    	Return
    endif
    
    if GetUIFloat "StartMenu/MCM/_ActiveMod" == GetModIndex "HZBagOfHolding.esp"
    	set iOption to GetUIFloat "StartMenu/MCM/_ActiveOption"
    	set fValue to GetUIFloat "StartMenu/MCM/_Value"
    
    	if GetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" == 0
    		SetUIFloat "StartMenu/MCM/_ActiveSubMenu" 1
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu1/text/string" "View"
    		SetUIString "StartMenu/MCM/*:8/SubTitle1/string" "View Contents"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu2/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu2/text/string" "Deposit"
    		SetUIString "StartMenu/MCM/*:8/SubTitle2/string" "Bulk Item Deposit"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu3/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu3/text/string" "Withdraw"
    		SetUIString "StartMenu/MCM/*:8/SubTitle3/string" "Bulk Item Withdrawal"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu4/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu4/text/string" "Options"
    		SetUIString "StartMenu/MCM/*:8/SubTitle4/string" "Miscellaneous Options"
    	endif
    
    	set iSubMenu to GetUIFloat "StartMenu/MCM/_ActiveSubMenu"
    
    	if GetUIFloat "StartMenu/MCM/_Reset"			;1 - RESET
    		SetUIFloat "StartMenu/MCM/_Reset" 0
    
    		SetUIFloat "StartMenu/MCM/*:1/_columns" 1
    
    		if iSubMenu == 1
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "View/exchange specific items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    		elseif iSubMenu == 2
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Deposit ALL items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Deposit all caps"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_title" "Deposit all armor"
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_title" "Deposit all skill books"
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_title" "Deposit all miscellaneous items"
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_title" "Deposit all weapons"
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_title" "Deposit all ammunition"
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_title" "Deposit all non-skill-book consumables"
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_value" 0
    		elseif iSubMenu == 3
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Withdraw ALL items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Withdraw all caps"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_title" "Withdraw all armor"
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_title" "Withdraw all skill books"
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_title" "Withdraw all miscellaneous items"
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_title" "Withdraw all weapons"
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_title" "Withdraw all ammunition"
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_title" "Withdraw all non-skill-book consumables"
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_value" 0
    		elseif iSubMenu == 4
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Protect hotkeyed items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 5
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" iProtectHotkeyItems
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Protect equipped items"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 5
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" iProtectEquipItems
    		endif
    
    	elseif GetUIFloat "StartMenu/MCM/_Default"		;2 - DEFAULT
    		SetUIFloat "StartMenu/MCM/_Default" 0
    		SetUIFloat "StartMenu/MCM/_Reset" 1
    
    		set iProtectHotkeyItems to 1
    		set iProtectEquipItems to 1
    
    	elseif GetUIFloat "StartMenu/MCM/_NewValue"		;3 - NEW VALUE
    		SetUIFloat "StartMenu/MCM/_NewValue" 0
    		SetUIFloat "StartMenu/MCM/_Reset" 1
    
    		if iSubMenu == 1
    			if iOption == 1
    				HZBagOfHoldingContainerREF.Activate player
    			endif
    		elseif iSubMenu == 2
    			; build formlist for category-based bulk withdrawal options
    
    			; first, clear list of old items if it isn't empty
    			Label 320
    				set nListSize to ListGetCount HZBagOfHoldingFormList
    				if nListSize > 0
    					; remove last item from list
    					set nListIndex to nListSize - 1
    					ListRemoveNthForm HZBagOfHoldingFormList nListIndex
    
    					; if this isn't the last remaining item, loop
    					if nListIndex > 0
    						goto 320
    					endif
    				endif
    			; end Label 320
    
    			; now re-add current items to list
    			; add hotkeyed items
    			if iProtectHotkeyItems
    				set iItemIndex to 1
    				Label 321
    					set rItem to GetHotkeyItem iItemIndex
    					if rItem
    						rItem.ListAddRef HZBagOfHoldingFormList
    					endif
    
    					set iItemIndex to iItemIndex + 1
    					if iItemIndex <= 8
    						goto 321
    					endif
    				; end Label 321
    			endif
    
    			; add equipped items
    			if iProtectEquipItems
    				set iItemIndex to 0
    				Label 322
    					set rItem to player.GetEquippedObject iItemIndex
    					if rItem
    						rItem.ListAddRef HZBagOfHoldingFormList
    					endif
    
    					set iItemIndex to iItemIndex + 1
    					if iItemIndex <= 19
    						goto 322
    					endif
    				; end Label 322
    			endif
    
    			set nListSize to ListGetCount HZBagOfHoldingFormList
    
    			; now handle menu selection
    			if iOption == 1
    				player.RemoveAllItems HZBagOfHoldingContainerREF 1
    			elseif iOption == 2
    				; move caps from player to container
    				set nCaps to player.GetItemCount Caps001
    				player.RemoveItem Caps001 nCaps 1
    				HZBagOfHoldingContainerREF.AddItem Caps001 nCaps 1
    			elseif iOption == 3
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 24 HZBagOfHoldingFormList
    			elseif iOption == 4
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 25 HZBagOfHoldingFormList
    			elseif iOption == 5
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 31 HZBagOfHoldingFormList
    			elseif iOption == 6
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 40 HZBagOfHoldingFormList
    			elseif iOption == 7
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 41 HZBagOfHoldingFormList
    			elseif iOption == 8
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 47 HZBagOfHoldingFormList
    			endif
    		elseif iSubMenu == 3
    			if iOption == 1
    				HZBagOfHoldingContainerREF.RemoveAllItems player 0
    			elseif iOption == 2
    				; move caps from container to player
    				set nCaps to HZBagOfHoldingContainerREF.GetItemCount Caps001
    				HZBagOfHoldingContainerREF.RemoveItem Caps001 nCaps 1
    				player.AddItem Caps001 nCaps 1
    			elseif iOption == 3
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 24
    			elseif iOption == 4
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 25
    			elseif iOption == 5
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 31
    			elseif iOption == 6
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 40
    			elseif iOption == 7
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 41
    			elseif iOption == 8
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 47
    			endif
    		elseif iSubMenu == 4
    			if iOption == 1
    				set iProtectHotkeyItems to fValue
    			elseif iOption == 2
    				set iProtectEquipItems to fValue
    			endif
    		endif
    
    	elseif GetUIFloat "StartMenu/MCM/_ShowList" == 1		;4 - SHOW LIST
    		SetUIFloat "StartMenu/MCM/_ShowList" 2
    
    	elseif GetUIFloat "StartMenu/MCM/_ShowScale" == 1		;5 - SHOW SCALE
    		SetUIFloat "StartMenu/MCM/_ShowScale" 2
    
    	elseif GetUIFloat "StartMenu/MCM/_DefaultScale"		;6 - DEFAULT SCALE
    		SetUIFloat "StartMenu/MCM/_DefaultScale" 0
    		SetUIFloat "StartMenu/MCM/_ShowScale" 2
    
    	endif
    
    	if iMouseover != GetUIFloat "StartMenu/MCM/*:1/_optionID"		;7 - MOUSE-OVER
    		set iMouseover to GetUIFloat "StartMenu/MCM/*:1/_optionID"
    		if iMouseover
    			SetUIFloat "StartMenu/MCM/MCM_Info/visible" 1
    
    			; "StartMenu/MCM/*:9" is short for "StartMenu/MCM/MCM_Info"
    			if iSubMenu == 1
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to access the Bag of Holding in order to view its contents and/or exchange specific items."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 2
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit ALL caps and non-quest items from your inventory into the Bag of Holding."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all caps from your inventory into the Bag of Holding."
    				elseif iMouseover == 3
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all armor from your inventory into the Bag of Holding."
    				elseif iMouseover == 4
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all skill books from your inventory into the Bag of Holding."
    				elseif iMouseover == 5
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all miscellaneous items from your inventory into the Bag of Holding."
    				elseif iMouseover == 6
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all weapons from your inventory into the Bag of Holding."
    				elseif iMouseover == 7
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all ammunition from your inventory into the Bag of Holding."
    				elseif iMouseover == 8
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all consumable/aid items (except for skill books and quest items) from your inventory into the Bag of Holding."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 3
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw ALL caps and non-quest items from the Bag of Holding into your inventory."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all caps from the Bag of Holding into your inventory."
    				elseif iMouseover == 3
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all armor from the Bag of Holding into your inventory."
    				elseif iMouseover == 4
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all skill books from the Bag of Holding into your inventory."
    				elseif iMouseover == 5
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all miscellaneous items from the Bag of Holding into your inventory."
    				elseif iMouseover == 6
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all weapons from the Bag of Holding into your inventory."
    				elseif iMouseover == 7
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all ammunition from the Bag of Holding into your inventory."
    				elseif iMouseover == 8
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all consumable/aid items (except for skill books and quest items) from the Bag of Holding into your inventory."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 4
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Activate this to prevent the category-based bulk deposit features from removing hotkeyed items from your inventory."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Activate this to prevent the category-based bulk deposit features from removing equipped items from your inventory."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			else
    				SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    			endif
    		else
    			SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    		endif
    
    	endif
    endif
    end

     

     

    I've tried commenting out the checks relating to whether or not hotkeyed and/or equipped items should be protected, so I know there's no problem there. It has to be something I'm doing with the FormList.

  14. So I'm working on my Bag of Holding mod, and I'm having trouble getting a new feature to work. What I'm trying to do is use the NVSE functions GetHotkeyItem and player.GetEquippedObject to build a FormList of the base IDs of all hotkeyed and player-equipped items, which I'm then trying to use an exclusion list for player.RemoveAllTypedItems calls.

     

    Unfortunately, it's not working as expected. Specifically, I'm seeing the following problems:

    • If the player chooses to protect just equipped items, then all items get deposited - including equipped ones.
    • If the player chooses to protect hotkeyed items (or both hotkeyed and equipped items), then no items get deposited - including non-hotkeyed, non-equipped items.

     

    Anyone know what the heck is going on? I've pasted my script into the spoiler tag below. Look under the "3 - NEW VALUE" comment for the most relevant section of code.

     

     

    ScriptName HZBagOfHoldingScript
    
    short iMaster
    short iMouseover
    short iOption
    short iProtectHotkeyItems
    short iProtectEquipItems
    short iSubMenu
    short iTemp
    float fTemp
    float fValue
    int iItemIndex
    int nCaps
    int nListIndex
    int nListSize
    reference rList
    reference rItem
    
    begin GameMode
    if GetGameRestarted
    	if IsModLoaded "The Mod Configuration Menu.esp"
    		set iMaster to GetModIndex "The Mod Configuration Menu.esp"
    		set rList to BuildRef iMaster 2790
    		ListAddForm rList HZBagOfHoldingMiscItem
    	endif
    endif
    end
    
    begin MenuMode 1013
    if IsModLoaded "The Mod Configuration Menu.esp"
    else
    	Return
    endif
    
    if GetUIFloat "StartMenu/MCM/_ActiveMod" == GetModIndex "HZBagOfHolding.esp"
    	set iOption to GetUIFloat "StartMenu/MCM/_ActiveOption"
    	set fValue to GetUIFloat "StartMenu/MCM/_Value"
    
    	if GetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" == 0
    		SetUIFloat "StartMenu/MCM/_ActiveSubMenu" 1
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu1/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu1/text/string" "View"
    		SetUIString "StartMenu/MCM/*:8/SubTitle1/string" "View Contents"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu2/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu2/text/string" "Deposit"
    		SetUIString "StartMenu/MCM/*:8/SubTitle2/string" "Bulk Item Deposit"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu3/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu3/text/string" "Withdraw"
    		SetUIString "StartMenu/MCM/*:8/SubTitle3/string" "Bulk Item Withdrawal"
    
    		SetUIFloat "StartMenu/MCM/*:5/SubMenu4/_enable" 1
    		SetUIString "StartMenu/MCM/*:5/SubMenu4/text/string" "Options"
    		SetUIString "StartMenu/MCM/*:8/SubTitle4/string" "Miscellaneous Options"
    	endif
    
    	set iSubMenu to GetUIFloat "StartMenu/MCM/_ActiveSubMenu"
    
    	if GetUIFloat "StartMenu/MCM/_Reset"			;1 - RESET
    		SetUIFloat "StartMenu/MCM/_Reset" 0
    
    		SetUIFloat "StartMenu/MCM/*:1/_columns" 1
    
    		if iSubMenu == 1
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "View/exchange specific items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    		elseif iSubMenu == 2
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Deposit ALL items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Deposit all caps"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_title" "Deposit all armor"
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_title" "Deposit all skill books"
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_title" "Deposit all miscellaneous items"
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_title" "Deposit all weapons"
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_title" "Deposit all ammunition"
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_title" "Deposit all non-skill-book consumables"
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_value" 0
    		elseif iSubMenu == 3
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Withdraw ALL items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Withdraw all caps"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:3/_title" "Withdraw all armor"
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:3/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:4/_title" "Withdraw all skill books"
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:4/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:5/_title" "Withdraw all miscellaneous items"
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:5/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:6/_title" "Withdraw all weapons"
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:6/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:7/_title" "Withdraw all ammunition"
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:7/_value" 0
    
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOff" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_textOn" " "
    			SetUIString "StartMenu/MCM/*:1/*:8/_title" "Withdraw all non-skill-book consumables"
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_type" 6
    			SetUIFloat "StartMenu/MCM/*:1/*:8/_value" 0
    		elseif iSubMenu == 4
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:1/_title" "Protect hotkeyed items"
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_type" 5
    			SetUIFloat "StartMenu/MCM/*:1/*:1/_value" iProtectHotkeyItems
    
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_enable" 1
    			SetUIString "StartMenu/MCM/*:1/*:2/_title" "Protect equipped items"
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_type" 5
    			SetUIFloat "StartMenu/MCM/*:1/*:2/_value" iProtectEquipItems
    		endif
    
    	elseif GetUIFloat "StartMenu/MCM/_Default"		;2 - DEFAULT
    		SetUIFloat "StartMenu/MCM/_Default" 0
    		SetUIFloat "StartMenu/MCM/_Reset" 1
    
    		set iProtectHotkeyItems to 1
    		set iProtectEquipItems to 1
    
    	elseif GetUIFloat "StartMenu/MCM/_NewValue"		;3 - NEW VALUE
    		SetUIFloat "StartMenu/MCM/_NewValue" 0
    		SetUIFloat "StartMenu/MCM/_Reset" 1
    
    		if iSubMenu == 1
    			if iOption == 1
    				HZBagOfHoldingContainerREF.Activate player
    			endif
    		elseif iSubMenu == 2
    			; build formlist for category-based bulk withdrawal options
    
    			; first, clear list of old items if it isn't empty
    			Label 320
    				set nListSize to ListGetCount HZBagOfHoldingFormList
    				if nListSize > 0
    					; remove last item from list
    					set nListIndex to nListSize - 1
    					ListRemoveNthForm HZBagOfHoldingFormList nListIndex
    
    					; if this isn't the last remaining item, loop
    					if nListIndex > 0
    						goto 320
    					endif
    				endif
    			; end Label 320
    
    			; now re-add current items to list
    			; add hotkeyed items
    			if iProtectHotkeyItems
    				set iItemIndex to 1
    				Label 321
    					set rItem to GetHotkeyItem iItemIndex
    					if rItem
    						rItem.ListAddRef HZBagOfHoldingFormList
    					endif
    
    					set iItemIndex to iItemIndex + 1
    					if iItemIndex <= 8
    						goto 321
    					endif
    				; end Label 321
    			endif
    
    			; add equipped items
    			if iProtectEquipItems
    				set iItemIndex to 0
    				Label 322
    					set rItem to player.GetEquippedObject iItemIndex
    					if rItem
    						rItem.ListAddRef HZBagOfHoldingFormList
    					endif
    
    					set iItemIndex to iItemIndex + 1
    					if iItemIndex <= 19
    						goto 322
    					endif
    				; end Label 322
    			endif
    
    			set nListSize to ListGetCount HZBagOfHoldingFormList
    
    			; now handle menu selection
    			if iOption == 1
    				player.RemoveAllItems HZBagOfHoldingContainerREF 1
    			elseif iOption == 2
    				; move caps from player to container
    				set nCaps to player.GetItemCount Caps001
    				player.RemoveItem Caps001 nCaps 1
    				HZBagOfHoldingContainerREF.AddItem Caps001 nCaps 1
    			elseif iOption == 3
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 24 HZBagOfHoldingFormList
    			elseif iOption == 4
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 25 HZBagOfHoldingFormList
    			elseif iOption == 5
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 31 HZBagOfHoldingFormList
    			elseif iOption == 6
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 40 HZBagOfHoldingFormList
    			elseif iOption == 7
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 41 HZBagOfHoldingFormList
    			elseif iOption == 8
    				player.RemoveAllTypedItems HZBagOfHoldingContainerREF 1 1 47 HZBagOfHoldingFormList
    			endif
    		elseif iSubMenu == 3
    			if iOption == 1
    				HZBagOfHoldingContainerREF.RemoveAllItems player 0
    			elseif iOption == 2
    				; move caps from container to player
    				set nCaps to HZBagOfHoldingContainerREF.GetItemCount Caps001
    				HZBagOfHoldingContainerREF.RemoveItem Caps001 nCaps 1
    				player.AddItem Caps001 nCaps 1
    			elseif iOption == 3
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 24
    			elseif iOption == 4
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 25
    			elseif iOption == 5
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 31
    			elseif iOption == 6
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 40
    			elseif iOption == 7
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 41
    			elseif iOption == 8
    				HZBagOfHoldingContainerREF.RemoveAllTypedItems player 0 1 47
    			endif
    		elseif iSubMenu == 4
    			if iOption == 1
    				set iProtectHotkeyItems to fValue
    			elseif iOption == 2
    				set iProtectEquipItems to fValue
    			endif
    		endif
    
    	elseif GetUIFloat "StartMenu/MCM/_ShowList" == 1		;4 - SHOW LIST
    		SetUIFloat "StartMenu/MCM/_ShowList" 2
    
    	elseif GetUIFloat "StartMenu/MCM/_ShowScale" == 1		;5 - SHOW SCALE
    		SetUIFloat "StartMenu/MCM/_ShowScale" 2
    
    	elseif GetUIFloat "StartMenu/MCM/_DefaultScale"		;6 - DEFAULT SCALE
    		SetUIFloat "StartMenu/MCM/_DefaultScale" 0
    		SetUIFloat "StartMenu/MCM/_ShowScale" 2
    
    	endif
    
    	if iMouseover != GetUIFloat "StartMenu/MCM/*:1/_optionID"		;7 - MOUSE-OVER
    		set iMouseover to GetUIFloat "StartMenu/MCM/*:1/_optionID"
    		if iMouseover
    			SetUIFloat "StartMenu/MCM/MCM_Info/visible" 1
    
    			; "StartMenu/MCM/*:9" is short for "StartMenu/MCM/MCM_Info"
    			if iSubMenu == 1
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to access the Bag of Holding in order to view its contents and/or exchange specific items."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 2
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit ALL caps and non-quest items from your inventory into the Bag of Holding."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all caps from your inventory into the Bag of Holding."
    				elseif iMouseover == 3
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all armor from your inventory into the Bag of Holding."
    				elseif iMouseover == 4
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all skill books from your inventory into the Bag of Holding."
    				elseif iMouseover == 5
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all miscellaneous items from your inventory into the Bag of Holding."
    				elseif iMouseover == 6
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all weapons from your inventory into the Bag of Holding."
    				elseif iMouseover == 7
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all ammunition from your inventory into the Bag of Holding."
    				elseif iMouseover == 8
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to deposit all consumable/aid items (except for skill books and quest items) from your inventory into the Bag of Holding."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 3
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw ALL caps and non-quest items from the Bag of Holding into your inventory."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all caps from the Bag of Holding into your inventory."
    				elseif iMouseover == 3
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all armor from the Bag of Holding into your inventory."
    				elseif iMouseover == 4
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all skill books from the Bag of Holding into your inventory."
    				elseif iMouseover == 5
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all miscellaneous items from the Bag of Holding into your inventory."
    				elseif iMouseover == 6
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all weapons from the Bag of Holding into your inventory."
    				elseif iMouseover == 7
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all ammunition from the Bag of Holding into your inventory."
    				elseif iMouseover == 8
    					SetUIString "StartMenu/MCM/*:9/string" "Click this to withdraw all consumable/aid items (except for skill books and quest items) from the Bag of Holding into your inventory."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			elseif iSubMenu == 4
    				if iMouseover == 1
    					SetUIString "StartMenu/MCM/*:9/string" "Activate this to prevent the category-based bulk deposit features from removing hotkeyed items from your inventory."
    				elseif iMouseover == 2
    					SetUIString "StartMenu/MCM/*:9/string" "Activate this to prevent the category-based bulk deposit features from removing equipped items from your inventory."
    				else
    					SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    				endif
    			else
    				SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    			endif
    		else
    			SetUIFloat "StartMenu/MCM/MCM_Info/visible" 0
    		endif
    
    	endif
    endif
    end

     

     

    I've tried commenting out the checks relating to whether or not hotkeyed and/or equipped items should be protected, so I know there's no problem there. It has to be something I'm doing with the FormList.

  15. I'm working on an MCM-based mod, but I'm hitting the script size limit. Is there an easy way to break up my MCM script into sub-scripts that implement my desired functionality for each of the "StartMenu/MCM/_XXX" conditions?

     

    Edit: I figured out how to do this based on this thread: http://forums.nexusm...haracter-limit/

     

    Basically I added stages to the quest that MCM requires you to attach your script to. I then added an empty log entry to each, and placed the desired code in each result script. Finally, I made the main script call SetStage to execute the desired result scripts. I also made sure to configure the quest to allow stages to occur multiple times.

     

    The last page of the guide (page 23) that comes with MCM contains a fairly painless method for breaking out your MCM menus into separate scripts entitled "Multiple Menus".

    Basically it involves adding each menu to the rList variable then checking the value of _ActiveMenu.

    Is that the method where I use a mod-level entry for each submenu instead of a submenu-level entry? I wanted to really avoid that because people have reported issues when they have too many mod entries in MCM. The method I used turned out to be pretty painless as well, as the quest stage result scripts actually do appear to work just like using numbered subroutines.

     

    Edit: I'm also not sure if the "multiple menus" approach would have worked for me, as I actually had to break one of my sub-scripts down into a further set of sub-scripts due to its length (my follower cheat menu mod really has a lot of options in it now!).

×
×
  • Create New...