-- Script to handle an nyc fire hydrant -- -- This object will -- o Create a fire hydrant smashing object -- o Trigger a 'water' particle effect for 10 seconds when the hydrant is smashed function InitNYHydrant () print("Initing NYHydrant") end function CreateNYHydrant (id) return coroutine.create(UpdateNYHydrant) end function UpdateNYHydrant(myID) local dt=0 local reason=0 local spewing=false local time=0 Object.CreateParticleEffect(myID,0,"Hydrant_Spray") local px,py,pz=Object.GetPosition(myID) py=py+1 Object.SetParticleEffectPosition(myID,0,px,py,pz) Object.SetParticleEffectOrientationLookUp(myID,0,Object.GetLookUpVector(myID)) Object.SetParticleEffectActive(myID,0,false) Object.LoadSmasher(myID,"firehydrant") Object.UpdateOnReceiveMessage(myID,true) while true do dt,reason = coroutine.yield() if spewing == false and reason == 8 then Object.SetCollected(myID,0) Object.SetParticleEffectActive(myID,0,true) Object.UpdateOnReceiveMessage(myID,false) Object.SetUpdateRate(myID,5) spewing=true elseif spewing == true and reason == 0 then time = time + dt if time > 10 then Object.SetParticleEffectActive(myID,0,false) Object.Deactivate(myID) Object.SetUpdaterate(0) end end end end