// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Owned-object collision pulse // Not compiled or tested in-world // Setup: Use an already suitable collision-enabled root in a clear test area. Owner-touch arms/disarms. // Stop / restore: Owner-touch or choose Off as described; let finite pulses expire. Clear particles before removal. These examples cannot recover a pre-existing particle system. // Notes: Use an otherwise particle-free prim. Particle systems persist independently of scripts. Does not enable physics. Ignores avatar contacts and objects not owned by you; uses a two-second cooldown. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Not compiled or tested in-world. integer armed; float next; default { touch_start(integer n) { if(llDetectedKey(0)!=llGetOwner())return; armed=!armed; llParticleSystem([]); llSetTimerEvent(0.0); } collision_start(integer n) { if(!armed||llGetTime(),PSYS_PART_START_ALPHA,0.8,PSYS_PART_END_ALPHA,0.0,PSYS_PART_START_SCALE,<0.05,0.05,0.0>,PSYS_PART_END_SCALE,<0.01,0.01,0.0>,PSYS_PART_MAX_AGE,0.8,PSYS_SRC_BURST_RATE,0.1,PSYS_SRC_BURST_PART_COUNT,4,PSYS_SRC_BURST_SPEED_MIN,0.1,PSYS_SRC_BURST_SPEED_MAX,0.3,PSYS_SRC_MAX_AGE,0.1]); llSetTimerEvent(1.0); } timer() { llParticleSystem([]); llSetTimerEvent(0.0); } }