Jump to content

Message box not opening until menu closes.


littleork

Recommended Posts

So I have a mod that has a message with 2 choices that opens when you read a letter. I have the mod on both Oldrim and SSE. In Oldrim, the message appears when the letter opens no problem. On SSE, I have to open the letter, close it and get out of the menu before it comes up which just doesn't work for me as there is multiple letters that do the same script and the user could end up with 5 menu opening without knowing which one they are responding too. Is that a normal behavior in SSE or am I missing something?

 

This is my code

event onread()
if boslvl1job1.getstage()==20
boslvl1job1.stop()
endif

boslvl1job1.start()
boslvl1job1.setstage(5)

int aiButton = boscanceljob.Show() ; Shows your menu.
	If aiButton == 0 
		boslvl1job1.setstage(25)
		game.getplayer().removeitem(boslvl1jobnote1,1)
	
	ElseIf aiButton == 1 

EndIf



endevent



QUEST Property BOSLvl1Job1  Auto  

Message Property boscanceljob  Auto  

Book Property BOSLVL1JobNote1  Auto  

Link to comment
Share on other sites

Opening a MessageBox with a book open still works just fine in SE. But I see your script is calling SetStage and Start on a quest. Check any code in the quest fragment functions for those stages and the OnInit event. If any of those have a function that only runs in game mode then the script will block while the book is open.

 

You might need to force the menu closed. This will close the book menu and the inventory window if the book is read from inventory but can't close the container menu.

	Game.DisablePlayerControls(false, false, false, false, false, true, false, false)
	Utility.Wait(0.01)
	Game.EnablePlayerControls(false, false, false, false, false, true, false, False)
Link to comment
Share on other sites

  • 2 weeks later...

 

Opening a MessageBox with a book open still works just fine in SE. But I see your script is calling SetStage and Start on a quest. Check any code in the quest fragment functions for those stages and the OnInit event. If any of those have a function that only runs in game mode then the script will block while the book is open.

 

You might need to force the menu closed. This will close the book menu and the inventory window if the book is read from inventory but can't close the container menu.

	Game.DisablePlayerControls(false, false, false, false, false, true, false, false)
	Utility.Wait(0.01)
	Game.EnablePlayerControls(false, false, false, false, false, true, false, False)

 

It's the quest.Start() that's halting it. Start doesn't run while in a menu. SetStages do provided they don't call anything that would cause it to halt due to a menu.

 

Quick excerpt from the wiki "Quests started with this command while the game is in menu mode will not initialize until the menu has been exited." In the notes section https://www.creationkit.com/index.php?title=Start_-_Quest

Link to comment
Share on other sites

  • Recently Browsing   0 members

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