Scriptname HelgenRandomSoundScript extends ObjectReference {While the player is in trigger, pick from locations to play these sounds} import debug import utility Sound property mySound01 auto {the sound to play} Sound property mySound02 auto {the sound to play} ObjectReference property mySoundOrigin01 auto {the reference to play the sound from} ObjectReference property mySoundOrigin02 auto {the reference to play the sound from} ObjectReference property mySoundOrigin03 auto {the reference to play the sound from} float property fCameraShake01 auto {camera shake intensity for close roar} float property fCameraShake02 auto {camera shake intensity for distant roar} float property fduration01 auto {camera shake duration for close roar} float property fduration02 auto {camera shake duration for distant roar} float property fLIntensity01 auto {shake left intensity for close roar} float property fLIntensity02 auto {shake left intensity for distant roar} float property fRIntensity01 auto {shake right intensity for close roar} float property fRIntensity02 auto {shake right intensity for distant roar} int property maxTimer = 30 auto {default - 30, max timer for how long to wait between sounds} int property minTimer = 20 auto {default - 20, min timer for how long to wait between sounds} bool inTrigger = false bool busy = false int iInTrigger = 0 ;************************************ auto State playSound Event onTriggerEnter (ObjectReference triggerRef) Actor actorRef = triggerRef as Actor if (actorRef == game.getPlayer()) ;inTrigger = true iInTrigger += 1 RegisterForSingleUpdate(0.5) endif endEvent Event onTriggerLeave (ObjectReference triggerRef) Actor actorRef = triggerRef as Actor if (actorRef == game.getPlayer()) ;inTrigger = false iInTrigger -= 1 endif endEvent endState ;************************************ Event onUpdate() ;while(inTrigger && !busy) while((iInTrigger > 0) && !busy) busy = true int myTimer = RandomInt(minTimer, maxTimer) int myOrigin = RandomInt(1,3) ; // PHILS CHANGE // ;int mySound = RandomInt(1,2) int mySound = 2 ; // PHILS CHANGE // if(myOrigin == 1) if(mySound == 1) mySound01.play(mySoundOrigin01) game.shakeCamera(NONE, fCameraShake01) game.shakeController(fLIntensity01, fRIntensity01, fduration01) elseif (mySound == 2) mySound02.play(mySoundOrigin01) game.shakeCamera(NONE, fCameraShake02) game.shakeController(fLIntensity02, fRIntensity02, fduration02) endif elseif(myOrigin == 2) if(mySound == 1) mySound01.play(mySoundOrigin02) game.shakeCamera(NONE, fCameraShake01) game.shakeController(fLIntensity01, fRIntensity01, fduration01) elseif (mySound == 2) mySound02.play(mySoundOrigin02) game.shakeCamera(NONE, fCameraShake02) game.shakeController(fLIntensity02, fRIntensity02, fduration02) endif elseif(myOrigin == 3) if(mySound == 1) mySound01.play(mySoundOrigin03) game.shakeCamera(NONE, fCameraShake01) game.shakeController(fLIntensity01, fRIntensity01, fduration01) elseif (mySound == 2) mySound02.play(mySoundOrigin03) game.shakeCamera(NONE, fCameraShake02) game.shakeController(fLIntensity02, fRIntensity02, fduration02) endif endif wait(mytimer as float) busy = false endWhile endEvent ;************************************