Detect when an object reference has hit the ground?

Post » Sat Jun 28, 2014 8:06 pm

Is there an "event" that can tell the script a thing like a ball has hit the ground once it was thrown up?

I can do this via polling but as you know that is to be avoid by Skyrim modders if possible.

The falling oil lamp script below gave me no answers:

ScriptName TrapFallingOilLamp extends objectReferencemessage property DisarmMessage1 autosound property FallingSound autoweapon property FallingOilWeapon autoammo property FallingOilAmmo autoauto state waiting	event onActivate(objectReference triggerRef); 		debug.Trace(self + " has been activated by " + triggerRef)		goToState("Triggered")		fireTrap()	endEvent	event onHit(objectReference akAggressor, form akWeapon, projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)		;if self.getAV("Health") > 10			goToState("Triggered")			fireTrap()		;endif	endEvent		Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect)		;if self.getAV("Health") > 10			goToState("Triggered")			fireTrap()		;endif	endEvent	EndStatestate TriggeredEndStatefunction fireTrap(); 		;debug.Trace(self + " has fired trap, should fall and explode")		FallingSound.play(self)		self.DamageObject(1.0)		endFunctionevent onDeath()	goToState("Triggered")endEvent	event OnDestructionStageChanged(int aiOldStage, int aiCurrentStage); 	;debug.Trace(self + " has received destruction event #" + aiCurrentStage)	;if aiCurrentStage == 1		;utility.wait(0.0)		fallingOilWeapon.Fire(self, FallingOilAmmo)		DisableLinkChain()		;self.Disable()		;self.Delete()	;endifendEvent;/Function DisableLinkChain()	int LinkTotal = CountLinkedRefChain()	;Trace("DARYL - " + self + "Total links in the chain are " + LinkTotal)	While LinkTotal > 0		GetNthLinkedRef(LinkTotal).Disable()		;Trace("DARYL - " + self + "Disabling link number " + LinkTotal)		LinkTotal -= 1	endWhileendFunction/;
User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

Return to V - Skyrim