dizietemblesssma Posted July 11, 2023 Share Posted July 11, 2023 Is there a way to have a messagebox in a vertical list form? Perhaps with some F4SE extender that provides extra functions? diziet Link to comment Share on other sites More sharing options...
RaidersClamoring Posted July 13, 2023 Share Posted July 13, 2023 There are workarounds involving sending new HTML to the UI using F4SE UI-script. string YourHTML = "<Tags etc/>"UI.Set("MessageBoxMenu", "root1.Menu_mc.bodyText", YourHTML)If you want to use the text already in the MessageBox (and not repopulate it entirely), you will need to do something like: string currenttext = UI.Get("MessageBoxMenu", "root1.Menu_mc.Body_tf.text")...And then try to incorporate the text in your HTML construct.Stuff like this takes a bit of testing. Having JPEXS installed and using it to look inside the AS script is a prerequisite.https://github.com/jindrapetrik/jpexs-decompiler Link to comment Share on other sites More sharing options...
dizietemblesssma Posted July 13, 2023 Author Share Posted July 13, 2023 Thankyou, that might be a lttle involved but I have JPEXS and I can look at it:)Are you saying thatstring currenttext = UI.Get("MessageBoxMenu", "root1.Menu_mc.Body_tf.text")will get me the selected string in the list?I should have said that I wish to present a list of selectable options in a list. diziet Link to comment Share on other sites More sharing options...
RaidersClamoring Posted July 14, 2023 Share Posted July 14, 2023 Are you saying thatstring currenttext = UI.Get("MessageBoxMenu", "root1.Menu_mc.Body_tf.text")will get me the selected string in the list?No. The ".text" property of a TextField object will just be any and all copy text that is present in the field. (If you want to get it as html you can instead call Get "......htmlText". As for your specific idea, MessageBoxMenu has this public function that you could work with. public function get selectedIndex() : uint { return this.List_mc.selectedIndex; } (i.e. -- int selected = UI.Get("MessageBoxMenu", "root1.Menu_mc.selectedIndex") ) These also exist, but passing arrays of structured objects between scaleform and papyrus is.. rough: public function get buttonArray() : Array { return this.List_mc.entryList; } public function set buttonArray(param1:Array) : * { this.List_mc.entryList = param1; } One thing that is easy is getting their length : int numoptions = UI.Get("MessageBoxMenu", "root1.Menu_mc.buttonArray.length") Link to comment Share on other sites More sharing options...
dizietemblesssma Posted July 14, 2023 Author Share Posted July 14, 2023 Thankyou for adding that, I have quite a bit of experimenting to do:) diziet Link to comment Share on other sites More sharing options...
RaidersClamoring Posted July 15, 2023 Share Posted July 15, 2023 Thankyou for adding that, I have quite a bit of experimenting to do:) dizietAre you creating the message box through script or by form? There should be some native functionality that retrieves information about what was chosen from a multi-option message box, one might think. Isn't there? Link to comment Share on other sites More sharing options...
Recommended Posts