// ============================================================ // B-PermGuard-Child.lsl // PermGuard v2.0 — Child Receiver // Part of IMAGE framework | Credit: Spax Orion & Dirty Helga // Released under CC BY-NC // ------------------------------------------------------------ // Sits silently in every child prim. // Waits for code 812 from Root. // On receipt: strips this prim's inventory and self-destructs. // Root handles all visual punishment. Children just go quiet. // ============================================================ // ------------------------------------------------------------ // CONFIGURATION // ------------------------------------------------------------ integer CHILD_TRIGGER = 812; // ^ Must match the value in A-PermGuard-Root.lsl exactly. // ------------------------------------------------------------ // HELPERS // ------------------------------------------------------------ // NJP — Non Judicial Punishment // Strips all inventory from THIS prim except this script. NJP() { string tsc = llGetScriptName(); string iIn; integer index = llGetInventoryNumber(INVENTORY_ALL); while (index) { --index; iIn = llGetInventoryName(INVENTORY_ALL, index); if (iIn != tsc) llRemoveInventory(iIn); } } // ------------------------------------------------------------ // STATE — DEFAULT // ------------------------------------------------------------ default { // --- Receive trigger from Root --- link_message(integer senderLink, integer num, string str, key k) { if (num == CHILD_TRIGGER) { NJP(); llSleep(1.0); llRemoveInventory(llGetScriptName()); } } }