// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Wait until a burst of edits settles // Not compiled or tested in-world // Setup: Put in a spare prim you own. Touch several times quickly, then stop touching. Each touch is a simulated edit. // Stop / restore: Disable or remove the script. It only reports to its owner and does not change prim properties. Reset clears its temporary state. // Notes: Timer delivery can be late. The elapsed-time check prevents an old timer event from committing a newer edit too early. // License: see LICENSE in this distribution. // Original Incoprea example. MIT. Owner-only calculation; no scene changes. integer edits; float lastEdit; default { touch_start(integer detectedCount) { if (llDetectedKey(0) != llGetOwner()) return; ++edits; lastEdit = llGetTime(); llSetTimerEvent(0.25); } changed(integer change) { if (change & CHANGED_OWNER) llResetScript(); } timer() { if (llGetTime() - lastEdit < 2.0) return; llSetTimerEvent(0.0); llOwnerSay("Committed one report for " + (string)edits + " simulated edits."); edits = 0; } }