Difference between revisions of "Talk:Bethesda Tutorial Scenes"
imported>Lmstearn m (→Extra Credit) |
imported>Lmstearn (→Waiting After Scene Start: new section) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
Values 0 and 24 would both come back as midnight. Also if you use 25 you get 1am, 26 2am ect. --[[User:SoaringChris137|SoaringChris137]] 16:53, 3 March 2012 (EST) | Values 0 and 24 would both come back as midnight. Also if you use 25 you get 1am, 26 2am ect. --[[User:SoaringChris137|SoaringChris137]] 16:53, 3 March 2012 (EST) | ||
:: | ::Thinking of a custom made function using [[http://www.creationkit.com/Function_for_Time_of_Day this]] we try: | ||
Scriptname GreetingScript extends Quest | |||
string Function GetGreeting() | |||
string Greet = "" | string Greet = "" | ||
float Time = Utility.GetCurrentGameTime() | float Time = Utility.GetCurrentGameTime() | ||
Time -= Math.Floor(Time) ; Remove "previous in-game days passed" bit | Time -= Math.Floor(Time) ; Remove "previous in-game days passed" bit | ||
;From MSDN math.floor returns the largest integer less than or equal to the specified decimal number | |||
Time *= 24 ; Convert from fraction of a day to number of hours | Time *= 24 ; Convert from fraction of a day to number of hours | ||
if Time < 13 | if Time < 13 | ||
Line 30: | Line 32: | ||
EndFunction | EndFunction | ||
but it turned out to be a fruitless foray across the back country of Elsewyr as opposed to using the condition function GetCurrentTime above. We created a variable in the Papyrus script box at the beginning of the scene: | |||
GreetingScript myvariable = GetOwningQuest() as GreetingScript | |||
Debug.MessageBox myvariable.getgreeting() | |||
Whoopee. This turns out to be quite useless unless the script is modified with: | |||
ScriptName Greetingscript extends ObjectReference Conditional | |||
String Property Greet Auto Conditional | |||
using it as a condition, but we are really jumping ahead as all this stuff is covered in scripting and [[Papyrus_Introduction#Writing_Custom_Functions]] | |||
--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-01-27T07:21:07 (EST) | --[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-01-27T07:21:07 (EST) | ||
== "Game is smart enough to figure out the necessary voice types" == | |||
Heh, followed this through so carefully, checked and double checked- but still ended up with 67 extra unwanted sound folders containing ''all'' the scene dialogue from both actors.--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-01-31T10:20:53 (EST) | |||
== More on Lmstearns Alternative Addition == | |||
One has to be wary of the pitfalls in adding scripts to scenes. [http://forums.bethsoft.com/topic/1513630-removeitem-additem-npcs/?p=23886073 See here for more info]--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-04T05:29:04 (EST) | |||
== Idle Preview Animation NoGo == | |||
Edit a scene package, select the Idles tab, click "Use Specific Idles", right click empty list and select "New", select GSQBenduOlo and get a preview of him- motionless, regardless of what idle in the LH pane is. Anyone know how to (hotkey?) an animated preview of the selected idle?--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-04T06:49:59 (EST) | |||
== Waiting After Scene Start == | |||
Another engine bug where waiting any number of hours in-game just after a scene is started will "extend" the duration of the scene to the number of hours waited. The scene concludes immediately the wait has terminated.--[[User:Lmstearn|Lmstearn]] ([[User talk:Lmstearn|talk]]) 2015-02-04T21:51:13 (EST) |
Latest revision as of 21:51, 4 February 2015
Extra Credit[edit source]
Can someone hint without too much spoilers how to make Bendu greet Gilfre different depending on time of day? Guess one way is placing timer check with GetCurrentTime, but would require 3 different phases in the scene which seems wrong? Another way I guess might be with a scene where the greet only trigger if they should come within a specific distance (with package template of some kind). --Nemesis 09:16, 15 February 2012 (EST)
- I would like to know this as well. GetCurrentTime does seem like the way to go, but it is unclear to me what the range is of the variable that is returned. Is time a number between 1-24? 0-1? And should the function be ran on Subject? --Mr6 10:22, 16 February 2012 (EST)
- GetCurrentTime should return a value between 0 and 24, although I'm not sure which of those two values should be returned at midnight. It's not a reference function, so it doesn't need to be called on anything.
- -- Cipscis 15:52, 16 February 2012 (EST)
Values 0 and 24 would both come back as midnight. Also if you use 25 you get 1am, 26 2am ect. --SoaringChris137 16:53, 3 March 2012 (EST)
- Thinking of a custom made function using [this] we try:
Scriptname GreetingScript extends Quest string Function GetGreeting() string Greet = "" float Time = Utility.GetCurrentGameTime() Time -= Math.Floor(Time) ; Remove "previous in-game days passed" bit ;From MSDN math.floor returns the largest integer less than or equal to the specified decimal number Time *= 24 ; Convert from fraction of a day to number of hours if Time < 13 Greet = "Good Morning" elseif Time > 17 Greet = "Good Evening" else Greet = "Good Afternoon" endif Return Greet EndFunction
but it turned out to be a fruitless foray across the back country of Elsewyr as opposed to using the condition function GetCurrentTime above. We created a variable in the Papyrus script box at the beginning of the scene:
GreetingScript myvariable = GetOwningQuest() as GreetingScript Debug.MessageBox myvariable.getgreeting()
Whoopee. This turns out to be quite useless unless the script is modified with:
ScriptName Greetingscript extends ObjectReference Conditional String Property Greet Auto Conditional
using it as a condition, but we are really jumping ahead as all this stuff is covered in scripting and Papyrus_Introduction#Writing_Custom_Functions --Lmstearn (talk) 2015-01-27T07:21:07 (EST)
"Game is smart enough to figure out the necessary voice types"[edit source]
Heh, followed this through so carefully, checked and double checked- but still ended up with 67 extra unwanted sound folders containing all the scene dialogue from both actors.--Lmstearn (talk) 2015-01-31T10:20:53 (EST)
More on Lmstearns Alternative Addition[edit source]
One has to be wary of the pitfalls in adding scripts to scenes. See here for more info--Lmstearn (talk) 2015-02-04T05:29:04 (EST)
Idle Preview Animation NoGo[edit source]
Edit a scene package, select the Idles tab, click "Use Specific Idles", right click empty list and select "New", select GSQBenduOlo and get a preview of him- motionless, regardless of what idle in the LH pane is. Anyone know how to (hotkey?) an animated preview of the selected idle?--Lmstearn (talk) 2015-02-04T06:49:59 (EST)
Waiting After Scene Start[edit source]
Another engine bug where waiting any number of hours in-game just after a scene is started will "extend" the duration of the scene to the number of hours waited. The scene concludes immediately the wait has terminated.--Lmstearn (talk) 2015-02-04T21:51:13 (EST)