Jump to content

Anyone know how to disable UI bars without taking away control? (Papyr


EnaiSiaion

Recommended Posts

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

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

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

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

 

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

'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) Global

UI.SetNumber("HUD Menu", element + "." + attribute, value)

EndFunction

 

 

then in your main script declare the global and import the utility script

 

Import KWUtilityScript

GlobalVariable Property KWTweenAlphaOn Auto

GlobalVariable 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 by KettleWitch
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...