Aphelion78 Posted February 4, 2013 Share Posted February 4, 2013 I use ipHUD and absolutely love it except for the cross-hair and sneak detector which wasn't touched. It seemed like it would look best if both elements significantly smaller and the sneak detector and it's text to be lower than the center of the screen. I put my big boy pants on and started to try and figure out how to change it. I found a tutorial (http://skyrim.nexusmods.com/mods/1800) and started working from there. After much confusion I managed to get the hudmenu.swf into SWiX and even found the correct element I wanted to change (mostly due to the guide giving me the id #). So I started small, and lowered the font size 2 points for the "hidden" / "detected" text. What did I get for my trouble? Instant CTD upon loading a save. In fact editing any of the information either causes my HUD to completely disappear in game or simply CTD, usually the later. Obviously people have successfully managed to edit these settings, and I could really use some education/advice from someone knowledgeable. Thank you very much for reading and for your time. Link to comment Share on other sites More sharing options...
scrivener07 Posted February 4, 2013 Share Posted February 4, 2013 http://forums.bethsoft.com/topic/1430557-unofficial-ui-sdk/page__p__21939280#entry21939280For modifying vanilla menus. You can do this purely in papyrus too with the skse UI script. Just get the internal movieclip path and invoke a property. Heres the properties you can invoke on a movieclip http://gameware.autodesk.com/documents/gfx_3.3_flash_support.pdf some examples UI.InvokeString("Journal Menu", "_root.QuestJournalFader.loadMovie", "testfolder/someallnewmovie.swf") UI.SetFloat("Journal Menu", "_root.QuestJournalFader._alpha", 50.0) Link to comment Share on other sites More sharing options...
Aphelion78 Posted February 4, 2013 Author Share Posted February 4, 2013 http://forums.bethsoft.com/topic/1430557-unofficial-ui-sdk/page__p__21939280#entry21939280For modifying vanilla menus. You can do this purely in papyrus too with the skse UI script. Just get the internal movieclip path and invoke a property. Heres the properties you can invoke on a movieclip http://gameware.autodesk.com/documents/gfx_3.3_flash_support.pdf some examples UI.InvokeString("Journal Menu", "_root.QuestJournalFader.loadMovie", "testfolder/someallnewmovie.swf") UI.SetFloat("Journal Menu", "_root.QuestJournalFader._alpha", 50.0) Thank you very much for the link to the SDK, I wasn't aware such a thing existed, this should definatly put me on the right track. Also I like the idea of utilizing SKSE, gonna give that a go. I appreciate your reply and your time. Thank you Link to comment Share on other sites More sharing options...
scrivener07 Posted February 5, 2013 Share Posted February 5, 2013 Theres a long dark road ahead of you :) good luck Btw, if you open a menu from the sdk and its all garbled up / doesnt compile or whatever PLEASE let me know. I slowed my updates down a ton because little interest is shown in the sdk. Link to comment Share on other sites More sharing options...
Lywin Posted March 3, 2013 Share Posted March 3, 2013 (edited) I'm having some difficulties getting the Arrow Count, about the stamina bar to show up. It lives in the hudmenu.gfx I converted it to an swf then opened to see what I would need to invoke using the UI script of SKSE, and I believe it is this function.. function ShowArrowCount(aCount, abHide, aArrows) in the HUDMenu class. I've been struggling with it for a few hours, any help would be appreciated. Edited March 3, 2013 by Lywin Link to comment Share on other sites More sharing options...
scrivener07 Posted March 4, 2013 Share Posted March 4, 2013 Why do you need to invoke that function? I have no idea what it does but I know you wont be able to invoke it properly. The arguments have no default value and you cannot pass in mixed argument types because you can only use InvokeBool(), InvokeInt(), InvokeFloat(), InvokeString(). There is no InvokeIntBoolInt() if you get what I mean. Try invoking a different function if you havent already to make sure the rest of your script works like.. ShowMessage(asMessage: String) ui.InvokeString("menuName", "path to movieclip the class is attached to", "Hello world")I think this is the same as debug.notification("some text") but should be a good test. Link to comment Share on other sites More sharing options...
Lywin Posted March 4, 2013 Share Posted March 4, 2013 I'm creating an quiver switcher, that allows you to cycle through the arrows in your inventory. Problem is that if you are first person you can't tell what type of arrow you just equipped. I wanted to stay away from notifications because if you cycle past 4 or 5 arrows you'd get a notification spam. However invoking the arrow information above the stamina bar would just update regularly. I was afraid of the mixed argument types. I thought maybe there would be a way to set the parameters then just use the UI.Invoke function.I also tried using InvokeInt() and InvokeBool, it ended up invoking but instead of "Orcish Arrow (15)" it appeared "undefined (15)" or "undefined(true)" I also imagine that they call the ShowArrowCount function in their native code, not through scripting, because if you draw your bow then notch an arrow the arrow count appears. Link to comment Share on other sites More sharing options...
scrivener07 Posted March 4, 2013 Share Posted March 4, 2013 Thats cool invoking it with empty args didnt horribly break stuff. Maybe try looking around for where ShowArrowCount() is called as a method and see if you can do something with that. Link to comment Share on other sites More sharing options...
Recommended Posts