Go Back   Steam Users' Forums > Steam Game Discussions > Q - S > Skyrim, The Elder Scrolls V > Steam Workshop for Skyrim

Reply
 
Thread Tools Display Modes
Old 04-21-2012, 10:19 AM   #1
giskarduk
 
Join Date: Sep 2009
Reputation: 330
Posts: 1,462
Any modder got Show() to work ?

Hello all.

I have tried this several times now and I just cannot get show() to work inside an esp file. Beth use it for the doom stones and other such things and it works for them from their esm file. I have never seen it work inside a mod either as a trigger or a quest script or dialog result.

Here is an example trigger I was using to test it. Everything works except for the show command. No errors are given.

wowdarkroadsstorymessagebox01a is message I want to display, it was created so I have not forgotten that step.

wowdarkroadsstorymessagebox01a settings are messagebox ticked, then the message it self. Nothing else.

Here is the script. It works if I put the message in debug, but not if I use Show(). No errors are given from this script.

Scriptname wowdarkroadstriggerstory01 extends ObjectReference

Quest Property wowskilltree Auto
message Property wowdarkroadsstorymessagebox01a auto
int doonce

Event OnLoad()
if doonce != 1
;debug.messagebox("Onload works")
(wowskilltree as wowskilltreescript).wowdwemerskill()
(wowskilltree as wowskilltreescript).wowfalmerskill()
wowdarkroadsstorymessagebox01a.Show()
doonce = 1
endif
EndEvent
giskarduk is offline  
Reply With Quote
Old 04-21-2012, 09:07 PM   #2
superboyofmeat
 
Join Date: Apr 2011
Reputation: 158
Posts: 1,180
I have always defined my Message Boxes as ints when using them, and I always define them to .Show in their own separate functions.

Code:
Event OnActivate(ObjectReference akActionRef)

	MainMenu()
	
ENDEVENT

Function MainMenu()

	int ibutton = SkyRadioMB2.Show()

	If (ibutton == 0)
	endif
EndFunction
Even without any selectable menu options, the message box pops up fine.
I have only tried it like that though, not sure about any other types of messages.
superboyofmeat is offline   Reply With Quote
Old 04-22-2012, 06:15 AM   #3
giskarduk
 
Join Date: Sep 2009
Reputation: 330
Posts: 1,462
Thanks Super.

+ rep.

I'll try it your way and see if it works but looking at the example I see you declaring int, I see you checking int, but nothing that runs the message. Also I am not seeing how SkyRadioMB2.Show was declared, looks like a straight cut and paste from the wiki to me which is wrong most of the time or missing vital information such as this.

Message Property SkyRadioMB2 Auto.

Which should be needed for SkyRadioMB2 to be recognized by the above script as a message and not give an error. Knowing how Messages are declared by working examples might help me too since its the one thing the wiki treats as a trade secret and leaves the modder guessing which function has the desired command and whether its a property or not.

For all I know it might only work if I do this.

Int Property SkyRadioMB2 Auto

I have seen this in scripts that do work.

Message Property SkyRadioMB2 Auto

But it just does not work in an esp so far no matter what I try. Its like the game knows the command is valid but refuses to run it.
giskarduk is offline   Reply With Quote
Old 04-22-2012, 08:36 AM   #4
superboyofmeat
 
Join Date: Apr 2011
Reputation: 158
Posts: 1,180
hehe, sorry, I snipped out most of the script last night . Caused some confusion, it was pretty late DX.

Code:
Scriptname SkyRadioScript extends ObjectReference  

Message property SkyRadioMB2 Auto

Event OnActivate(ObjectReference akActionRef)

	MainMenu()
	
ENDEVENT

Function MainMenu()

	int ibutton = SkyRadioMB2.Show()

	If (ibutton == 0)
	endif
EndFunction
As far as I know, there is no need to define ints through properties as long as they are defined within the functions, so all you would need to define is the message property.

Now as to why its still not working,

I would try placing a Utility.Wait(0.1) in between your other functions and the message box. Sometimes I notice scripts get flooded with too much at once and seem to skip functions unless a Wait utility is there to give them a brief pause.

Also, if your debug message shows, that means its pretty much a problem with the .show() command. Have you actually defined the message property? Sometimes after editing scripts, it resets property values. Your may have to go back into your Scripts properties and assign it to point to the message you want manually.

If its not those things, my guess is that .show doesn't work too well from a OnLoad event. I have never tried so I can't say, but I know trying to call some functions through some events just does not work at all (animations through OnEquip for example, which is ANNOYING.)

Last edited by superboyofmeat: 04-22-2012 at 08:44 AM.
superboyofmeat is offline   Reply With Quote
Old 04-22-2012, 04:16 PM   #5
giskarduk
 
Join Date: Sep 2009
Reputation: 330
Posts: 1,462
NP about the missing info, just wanted to check its the same as mine. Thanks for the update Superboy.

Quote:
Originally Posted by superboyofmeat View Post
I would try placing a Utility.Wait(0.1) in between your other functions and the message box. Sometimes I notice scripts get flooded with too much at once and seem to skip functions unless a Wait utility is there to give them a brief pause.

Also, if your debug message shows, that means its pretty much a problem with the .show() command. Have you actually defined the message property? Sometimes after editing scripts, it resets property values. Your may have to go back into your Scripts properties and assign it to point to the message you want manually.

If its not those things, my guess is that .show doesn't work too well from a OnLoad event. I have never tried so I can't say, but I know trying to call some functions through some events just does not work at all (animations through OnEquip for example, which is ANNOYING.)
A wait is not something i have tried yet and I too have noticed this new skyrim script language skips things a lot when a lot is going on. Its not good, it may be the reason for so many random issues player experience. I know for a fact I had to dump down my quests because it already. Skyrims scripting language is just not reliably enough for anything complicated I found.

Good point about the script properties too, thats another thing I have seen, though this one I checked, its still there and still working.

Didnt know other things had problems with events too, thanks for that tip. I expect we will find a long list of "dont works" in skyrim that must be avoided.

I'll run some tests later and see if anything gets this working or not and post of it does.

Thanks again
giskarduk is offline   Reply With Quote
Old 04-23-2012, 12:48 PM   #6
giskarduk
 
Join Date: Sep 2009
Reputation: 330
Posts: 1,462
Superboy

I afraid its as I expected, your example does not work either and neither does variations on the function example. Show() is a no show.

So far it has been 100% none functional inside a mod.
giskarduk is offline   Reply With Quote
Old 04-23-2012, 04:47 PM   #7
giskarduk
 
Join Date: Sep 2009
Reputation: 330
Posts: 1,462
I converted some esps in to esms for fallout nv and found some scripted stuff stopped working in the esm but not in the esp. I think that is what we are seeing here for esps. Another new bug to suffer from.
giskarduk is offline   Reply With Quote
Reply

Go Back   Steam Users' Forums > Steam Game Discussions > Q - S > Skyrim, The Elder Scrolls V > Steam Workshop for Skyrim


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -7. The time now is 12:45 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site Content Copyright Valve Corporation 1998-2014, All Rights Reserved.