Is this compatible with UI replacers such as Untarnished UI, which is what I'm using now? Also, is the 'sleep-wait menu' compatible with wSkeever's 'Scheduling of Sleep'?
is there a way to make this work with edge ui?? im no modder so i dont know if its this or "super fast wait menu" that needs to be patched. or if either can even be patched.
I'm experiencing what I assume is a bug. Message boxes (the boxes with the "Yes" "No" or "Ok" options) aren't appearing in my game. I first noticed it when disenchanting items, didn't think anything of it at first. I then noticed it was actually a problem when I got the "Advanced Lab" perk from Ordinator, and discovered I couldn't upgrade alchemy labs. I was hoping somebody here could help me with this. I started experiencing this bug when I downloaded this mod, UIExtensions, JContainers, DylBills Papyrus Functions, Skyrim Cheat Engine and Jewelry Limiter. EDIT: Never mind, I guess I'm stupid. I only had 93 gold at the time. I still find it unusual/concerning how there's no confirmation message when disenchanting items. EDIT 2: Not only am I stupid, but it also seems my memory is shot. It's not the confirmation message box that's not appearing when I disenchant something, it's the message box that tells me what enchantment I learned by disenchanting the item.
ExtendedVanillaMenus_Listener.psc Line 16 > Debug.Notification("evm listener registered events") I see this notification every time I call ExtendedVanillaMenus.ListMenu(...). I guess it's supposed to be commented.
Hey, yep it was supposed to be commented out. I just uploaded an update that fixes it. Sorry about the late response, I've been dealing with real life stuff as of late so not much time for modding.
Having reproducible CTDs in messagebox while using keyboard activate or controller A button on button selection. Let me know what more information you need, might move the discussion over to the discord.
Can your list menu be used like this: 1. Upon selection of an item in the list the list stays open but I make stuff happen in the background to do with the selection while I can then select another item and similar happen? 2. Upon selecting an item in the list change the displayed text without having to exit and return to the menu? i.e. show that I have selected/deselected that item?
Hello, to answer your questions, no the list menu doesn't natively support multiple selections, but you can kind of fake it using the events built in. Use the waitForResult = false in the list menu so the script isn't paused while in the menu. Here's an example script with 3 options:
MenuOptions = new string[4] MenuOptionInfos = new string[4] MenuOptionInfos[0] = "exit this menu" MenuOptionInfos[1] = "option A info" MenuOptionInfos[2] = "option B info" MenuOptionInfos[3] = "option C info" OpenMenu() EndEvent
Function OpenMenu() MenuOptions[0] = "exit" MenuOptions[1] = "option A " + ToggleTags[MenuToggles[0] as int] MenuOptions[2] = "option B " + ToggleTags[MenuToggles[1] as int] MenuOptions[3] = "option C " + ToggleTags[MenuToggles[2] as int] RegisterForModEvent("EVM_ListMenuClosed", "OnEVM_ListMenuClosed") ExtendedVanillaMenus.ListMenu(MenuOptions, MenuOptionInfos, "My Menu", waitforResult = false) EndFunction
Event OnEVM_ListMenuClosed(string a_eventName, string a_strArg, float a_numArg, form a_sender) UnRegisterForModEvent("EVM_ListMenuClosed") ;unregister this event so it doesn't fire when other scripts use the list menu int Button = a_numArg as int if Button == 0 ;exit elseif Button == 1 ;option A MenuToggles[0] = !MenuToggles[0] ;toggle option A OpenMenu() ;re-open the menu if MenuToggles[0] == true ;option A is selected ;Do something. The script isn't paused as we're using waitforResult = false in the list menu else ;option A is not selected ;Do something else. endif elseif Button == 2 ;option B MenuToggles[1] = !MenuToggles[1] ;toggle option B OpenMenu() ;re-open the menu if MenuToggles[1] == true ;option B is selected ;Do something. The script isn't paused as we're using waitforResult = false in the list menu else ;option B is not selected ;Do something else. endif elseif Button == 3 ;option C MenuToggles[2] = !MenuToggles[2] ;toggle option C OpenMenu() ;re-open the menu if MenuToggles[2] == true ;option C is selected ;Do something. The script isn't paused as we're using waitforResult = false in the list menu else ;option C is not selected ;Do something else. endif Endif EndEvent
Hello and thank you for the list menu especially! One little request if you don't mind: make infos field to use word wrap, please, it seems it is a single line no matter how long is the string - imgur.com
Ok I just uploaded an update. The list menu and slider menu infos now use word wrap. You can specify a line break by adding \n to the info text if needed. I'd still keep the infos brief though so they're not too small.
50 comments
I'm experiencing what I assume is a bug. Message boxes (the boxes with the "Yes" "No" or "Ok" options) aren't appearing in my game. I first noticed it when disenchanting items, didn't think anything of it at first. I then noticed it was actually a problem when I got the "Advanced Lab" perk from Ordinator, and discovered I couldn't upgrade alchemy labs.I was hoping somebody here could help me with this. I started experiencing this bug when I downloaded this mod, UIExtensions, JContainers, DylBills Papyrus Functions, Skyrim Cheat Engine and Jewelry Limiter.
EDIT: Never mind, I guess I'm stupid. I only had 93 gold at the time. I still find it unusual/concerning how there's no confirmation message when disenchanting items.
EDIT 2: Not only am I stupid, but it also seems my memory is shot. It's not the confirmation message box that's not appearing when I disenchant something, it's the message box that tells me what enchantment I learned by disenchanting the item.Line 16 > Debug.Notification("evm listener registered events")
I see this notification every time I call ExtendedVanillaMenus.ListMenu(...). I guess it's supposed to be commented.
1. Upon selection of an item in the list the list stays open but I make stuff happen in the background to do with the selection while I can then select another item and similar happen?
2. Upon selecting an item in the list change the displayed text without having to exit and return to the menu? i.e. show that I have selected/deselected that item?
diziet
Bool[] MenuToggles
String[] MenuOptions
String[] MenuOptionInfos
String[] ToggleTags
Event OnInit()
MenuToggles = new bool[3]
ToggleTags = new String[2]
ToggleTags [0] = "[ ]"
ToggleTags [1] = "[X]"
MenuOptions = new string[4]
MenuOptionInfos = new string[4]
MenuOptionInfos[0] = "exit this menu"
MenuOptionInfos[1] = "option A info"
MenuOptionInfos[2] = "option B info"
MenuOptionInfos[3] = "option C info"
OpenMenu()
EndEvent
Function OpenMenu()
MenuOptions[0] = "exit"
MenuOptions[1] = "option A " + ToggleTags[MenuToggles[0] as int]
MenuOptions[2] = "option B " + ToggleTags[MenuToggles[1] as int]
MenuOptions[3] = "option C " + ToggleTags[MenuToggles[2] as int]
RegisterForModEvent("EVM_ListMenuClosed", "OnEVM_ListMenuClosed")
ExtendedVanillaMenus.ListMenu(MenuOptions, MenuOptionInfos, "My Menu", waitforResult = false)
EndFunction
Event OnEVM_ListMenuClosed(string a_eventName, string a_strArg, float a_numArg, form a_sender)
UnRegisterForModEvent("EVM_ListMenuClosed") ;unregister this event so it doesn't fire when other scripts use the list menu
int Button = a_numArg as int
if Button == 0 ;exit
elseif Button == 1 ;option A
MenuToggles[0] = !MenuToggles[0] ;toggle option A
OpenMenu() ;re-open the menu
if MenuToggles[0] == true ;option A is selected
;Do something. The script isn't paused as we're using waitforResult = false in the list menu
else ;option A is not selected
;Do something else.
endif
elseif Button == 2 ;option B
MenuToggles[1] = !MenuToggles[1] ;toggle option B
OpenMenu() ;re-open the menu
if MenuToggles[1] == true ;option B is selected
;Do something. The script isn't paused as we're using waitforResult = false in the list menu
else ;option B is not selected
;Do something else.
endif
elseif Button == 3 ;option C
MenuToggles[2] = !MenuToggles[2] ;toggle option C
OpenMenu() ;re-open the menu
if MenuToggles[2] == true ;option C is selected
;Do something. The script isn't paused as we're using waitforResult = false in the list menu
else ;option C is not selected
;Do something else.
endif
Endif
EndEvent