EnaiSiaion Posted June 28, 2013 Share Posted June 28, 2013 *puppy eyes* :unsure: Anyone know a way to disable the UI (hp/mp/stam bars in particular) without removing control from the player? Link to comment Share on other sites More sharing options...
prod80 Posted June 28, 2013 Share Posted June 28, 2013 Immersive HUD?Or you mean you need to script it in Papyrus? Link to comment Share on other sites More sharing options...
EnaiSiaion Posted June 28, 2013 Author Share Posted June 28, 2013 It's supposed to be a temporary effect, so it does need a Papyrus solution. I know the HUD disappears when you set up a scene, but then you can't control your character either. Link to comment Share on other sites More sharing options...
prod80 Posted June 28, 2013 Share Posted June 28, 2013 Im not that well at home in papyrus scripting, but I think (after looking a bit on CK wiki) that it can be done with EnablePlayerControls and/or DisablePlayerControls Some example from wiki; ScriptName Cutscene Extends ObjectReference Actor Property PlayerREF Auto ObjectReference Property Point1 Auto ObjectReference Property Point2 Auto ObjectReference Property Point3 Auto Event OnTriggerEnter(ObjectReference akActionRef) If akActionRef == PlayerREF ; Limit this trigger to the player only. PlayerREF.SetAlpha(0.0) PlayerREF.SetGhost(True) Game.DisablePlayerControls(True, True, True, False, True, False, True) ; Disable all controls except looking. Utility.Wait(0.1) ; Give the script time... PlayerREF.TranslateToRef(Point1, 100.0) Utility.Wait(5.0) ; After 5 seconds, proceed to next point. PlayerREF.TranslateToRef(Point2, 50.0) Utility.Wait(10.0) ; After 10 seconds, go to next area PlayerREF.TranslateToRef(Point3, 200.0) Utility.Wait(20.0) ; Watch the final scene, and then... PlayerREF.SetAlpha(1.0) PlayerREF.SetGhost(False) Game.EnablePlayerControls() EndIf EndEvent Link to comment Share on other sites More sharing options...
EnaiSiaion Posted June 28, 2013 Author Share Posted June 28, 2013 Well, that seems like the right thing to do if I wanted the opposite: bars but no control. :) I wonder what'd happen if I set up a scene with the player, then enabled player controls. It probably won't work, but... Link to comment Share on other sites More sharing options...
prod80 Posted June 28, 2013 Share Posted June 28, 2013 Well, not sure if that will work but you can try and use this... Game.DisablePlayerControls(False, False, False, False, False, False, False) Or just completely leave out the whole playercontrol thingy... but I guess that's what you had, which removes the control by default. Im not sure tho... if you just want to disable HUD elements... setting up a Scene would probably not be the right way to go at it... SKSE should have functions to remove menu elements:http://www.creationkit.com/UI_Script Link to comment Share on other sites More sharing options...
KettleWitch Posted June 28, 2013 Share Posted June 28, 2013 You can make them transparent or do what Ihud does and move them off screen by translating the menu to -5000 x or some such. I had to make the character menu temporarily transparent/invisible for my Telescope mod http://skyrim.nexusmods.com/mods/30473/? You can download it and extract the script if you like, it's really only one line with a global var passed to and from. The main line your after is in the magic effect script. setKWNumber("_root.TweenMenu_mc", "_alpha", KWTweenAlphaOff.getValue()) Change _Root.TweenMenu _mc to the name of the menu you want to make transparent (just setting menu alpha to 0/100). The Vars are called via the utility script. You can bypass all that player control stuff doing it this way as technically the menu is still there. Link to comment Share on other sites More sharing options...
EnaiSiaion Posted June 28, 2013 Author Share Posted June 28, 2013 setKWNumber("_root.TweenMenu_mc", "_alpha", KWTweenAlphaOff.getValue()) What in blazes is setKWNumber? Neither the CK wiki nor Google knows about this. :blink: And Google is supposed to know everything we do, so... I found an intermediate solution, albeit an ugly one: Game.SetHudCartMode! It makes the entire HUD disappear, which is a little more than I bargained for but the rest is collateral damage. Link to comment Share on other sites More sharing options...
KettleWitch Posted June 28, 2013 Share Posted June 28, 2013 (edited) 'KettleWitch' Number, just the name of the global that's holding menu alpha on/off to send to game engine. I prefix everthing I do with KW so it all lines up in the CK and I don't have to go looking for 'lost' entries. Oh also it's a custom function call in the utility script. it's just the way the game engine wants you to do thing rather then just put the script in with the main script. to do with passing vars outside of a script. It's the ck/.esp that holds the globals Sorry dude I should have mentioned it's SKSE scripting. http://www.creationkit.com/UI_Script has the names of the menus and (kinda) explains the _root thing for movies (menus are essentially a type of flash/.swf file) I dissasembled the tween (character) menu .swf file in Trillix and dug out the skyrim engine call backs. It does work :smile: You could probably do it with SkyUi scripts but I know very little about them. So anyway set up global Vars like telescope.esp does (open it in CK and look at the details thing that shows you what the mod is changing) set up a utility script. Scriptname KWUtilityScript Hidden Function setKWNumber(String element, String attribute, float value) GlobalUI.SetNumber("HUD Menu", element + "." + attribute, value)EndFunction then in your main script declare the global and import the utility script Import KWUtilityScriptGlobalVariable Property KWTweenAlphaOn AutoGlobalVariable Property KWTweenAlphaOff Auto turn menu 'off' (turn menu alpha to 0 ) setKWNumber("_root.HUD Menu _mc", "_alpha", KWTweenAlphaOff.getValue()) turn 'on' when your done. setKWNumber("_root.HUD Menu _mc", "_alpha", KWTweenAlphaOn.getValue()) Sorry for not putting that code into the proper forum format, still a ludite with posting. Edited June 28, 2013 by KettleWitch Link to comment Share on other sites More sharing options...
SeraphimKensai Posted June 28, 2013 Share Posted June 28, 2013 in the console you could type "TM". When you want it back open the console up again and type "TM" again and enter. Link to comment Share on other sites More sharing options...
Recommended Posts