Using current weather as a property or variable

Post » Mon Feb 25, 2013 8:35 pm

Greetings

I'm trying to determine how to code a weather variable for use later in the script. I need to find what the current weather is on entry of a trigger box (Weather.GetCurrentWeather()), change the weather while in the box, and force the weather variable back in upon leaving the box (weathervariable.ForceActive(True)). Currently I have it set up to release any weather overrides on exiting the TB, but that is not giving consistent results.

So I'm looking for an alternative to assign the current weather to a variable and forcing that weather back in on box exit.

Can someone post an example of how I can do this?

Here is my code. Thanks for any assistance.

Spoiler
Scriptname GetShelterTBScript extends ObjectReference  import gameimport utilityActor Property PlayerREF AutoWeather Property VanillaRain1 AutoWeather Property VanillaRain2 AutoWeather Property VanillaRain3 AutoWeather Property VanillaRain4 AutoWeather Property VanillaRain5 AutoWeather Property VanillaRain6 AutoWeather Property VanillaRain7 AutoWeather Property VanillaRain8 AutoWeather Property VanillaRain9 AutoWeather Property VanillaRain10 AutoWeather Property VanillaRain11 AutoWeather Property VanillaRain12 AutoWeather Property CurrentWeather AutoWeather Property CoTRainNP1 AutoWeather Property CoTRainNP2 AutoWeather Property CoTRainNP3 AutoWeather Property CoTRainNP4 AutoWeather Property CoTRainNP5 AutoWeather Property CoTRainNP6 AutoWeather Property CoTRainNP7 AutoWeather Property CoTRainNP8 AutoWeather Property CoTRainNP9 AutoWeather Property CoTRainNP10 AutoWeather Property CoTRainNP11 AutoWeather Property CoTRainNP12 AutoWeather Property CoTRainNP13 AutoWeather Property CoTRainNP14 AutoWeather Property CoTRainNP15 Autoobjectreference property rainsoundfx1 Autoobjectreference property rainsoundfx2 AutoEvent OnTriggerEnter(ObjectReference Somebody)  Actor Player = PlayerREF  If Somebody == Player    If Weather.GetCurrentWeather() == (Game.GetForm(0x0000CE10))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain1.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A23D))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain2.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A231))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain3.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A238))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain4.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A242))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain5.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A7A6))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain6.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x000C8220))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain7.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A23C))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain8.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0010A241))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain9.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00005F40))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain10.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00D4886))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain11.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0002E7AB))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  VanillaRain12.ForceActive(True)    EndIf    If Weather.GetCurrentWeather() == (Game.GetForm(0x00000801))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP1.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000800))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP10.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000802))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP11.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000803))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP12.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000804))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP13.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000805))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP14.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000806))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP15.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000807))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP2.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000808))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP3.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x00000809))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP4.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0000080A))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP5.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0000080B))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP6.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0000080D))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP7.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0000080E))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP8.ForceActive(True)    ElseIf Weather.GetCurrentWeather() == (Game.GetForm(0x0000080C))	  rainsoundfx1.Enable()	  rainsoundfx2.Enable()	  CoTRainNP9.ForceActive(True)    EndIf  EndIfEndEventEvent OnTriggerLeave(ObjectReference Somebody)  Actor Player = PlayerREF  If Somebody == Player    Weather.ReleaseOverride()    If Weather.GetCurrentWeather().GetClassification() == 2	  rainsoundfx1.Disable()	  rainsoundfx2.Disable()    EndIf    Utility.wait(0.5)    rainsoundfx1.Disable()    rainsoundfx2.Disable()  EndIfEndEvent
User avatar
Crystal Birch
 
Posts: 3416
Joined: Sat Mar 03, 2007 3:34 pm

Return to V - Skyrim