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/;