v3.2.6 SENTINEL 7.0: Deployed denial-handshake protocol for 100% accurate land diagnostics
This commit is contained in:
parent
82a176a106
commit
9f872134af
2 changed files with 19 additions and 15 deletions
|
|
@ -13,6 +13,11 @@ All notable changes to Peril Dice will be documented in this file.
|
|||
- **Auto-Cleanup Handshake**: Uses `llDetachFromAvatar()` to instantly purge temporary HUDs upon game end or reset without inventory clutter.
|
||||
- **Root-Key Unification**: All channel calculations now use the **Root Link Key** (`llGetLinkKey(1)`), preventing "Signal Drift" between scripts in different prims.
|
||||
|
||||
### 🛡️ **Experience Sentinel (Diag Prototype)**
|
||||
- **Key-Scoped Diagnostic (v6.1)**: Replaced agent-based probes with definitive **`llAgentInExperience(EXPERIENCE_ID)`** verification, ensuring the board detects land-readiness for 'Final Girlz I.N.C.' instantly.
|
||||
- **Direct-Denial Capture**: Implemented the `experience_permissions_denied` event handler to catch and report `XP_ERROR_NOT_PERMITTED_LAND` error codes with clear "To-Fix" instructions for owners.
|
||||
- **Touch-to-Diagnose**: Owners can now touch the board at any time to force a fresh Sentinel check, bypassing inventory rez-lag.
|
||||
|
||||
## [3.2.0] - 2026-04-05
|
||||
|
||||
### 🛡️ **Sync Sanctity (Engine Core)**
|
||||
|
|
|
|||
|
|
@ -184,21 +184,19 @@ checkMemoryUsage(string context) {
|
|||
|
||||
// Experience Sentinel - Functional probe to check if Experience is allowed on land
|
||||
checkExperience() {
|
||||
dbg("🔍 [Peril Dice] Experience Sentinel: Starting key-based diagnostic...");
|
||||
llOwnerSay("🛡️ [Peril Dice] Experience Sentinel: Verifying Land-Scope permissions for 'Final Girlz I.N.C.'...");
|
||||
dbg("🔍 [Peril Dice] Experience Sentinel: Starting functional diagnostic...");
|
||||
llOwnerSay("🛡️ [Peril Dice] Experience Sentinel: Pinging land connectivity for 'Final Girlz I.N.C.'...");
|
||||
|
||||
// THE "KEY" CHECK: Uses the Experience UUID directly to verify land readiness.
|
||||
// This is the definitive check to see if the Experience is allowed on this parcel.
|
||||
if (!llAgentInExperience(EXPERIENCE_ID)) {
|
||||
llOwnerSay("⚠️ [Peril Dice] SYSTEM WARNING: Experience Features are BLOCKED on this land.");
|
||||
llOwnerSay("🛡️ [Peril Dice] TO FIX: Open 'About Land' -> 'Experiences' -> 'Add' and search for 'Final Girlz I.N.C.'");
|
||||
return;
|
||||
}
|
||||
|
||||
// Functional Handshake (KVP Read) to confirm secondary connectivity
|
||||
// THE "PING" PROBE: We attempt a KVP Read. If the land is not configured,
|
||||
// it will trigger the experience_permissions_denied event below.
|
||||
currentTimerMode = TIMER_XP_CHECK;
|
||||
llSetTimerEvent(3.0);
|
||||
sentinelQueryID = llReadKeyValue("_SENTINEL_PING_");
|
||||
|
||||
if (sentinelQueryID == NULL_KEY) {
|
||||
llOwnerSay("⚠️ [Peril Dice] SYSTEM WARNING: This script is NOT associated with an Experience.");
|
||||
llOwnerSay("🛡️ [Peril Dice] TO FIX: Edit Board -> Scripts -> Experiences... -> Select 'Final Girlz I.N.C.'");
|
||||
}
|
||||
}
|
||||
|
||||
// Send status message to scoreboard using link messages
|
||||
|
|
@ -1322,14 +1320,15 @@ default {
|
|||
|
||||
experience_permissions_denied(key agent_id, integer reason) {
|
||||
// This event fires if an Experience function fails (like our Sentinel Ping)
|
||||
// Reason 17 = XP_ERROR_NOT_PERMITTED_LAND
|
||||
if (reason == 17 || reason == 1) { // 1 = XP_ERROR_NOT_EXPERIENCE
|
||||
// reason 17 = XP_ERROR_NOT_PERMITTED_LAND
|
||||
// reason 1 = XP_ERROR_NOT_EXPERIENCE
|
||||
if (reason == 17 || reason == 1) {
|
||||
sentinelQueryID = NULL_KEY;
|
||||
llSetTimerEvent(0);
|
||||
currentTimerMode = TIMER_IDLE;
|
||||
|
||||
llOwnerSay("⚠️ [Peril Dice] SYSTEM WARNING: Experience Features are BLOCKED on this land.");
|
||||
llOwnerSay("🛡️ [Peril Dice] TO FIX: Open 'About Land' -> 'Experiences' -> 'Add' -> 'Final Girlz I.N.C.'");
|
||||
llOwnerSay("⚠️ [Peril Dice] SYSTEM WARNING: Experience features are BLOCKED on this land.");
|
||||
llOwnerSay("🛡️ [Peril Dice] TO FIX: Open 'About Land' -> 'Experiences' -> 'Add' and search for 'Final Girlz I.N.C.'");
|
||||
} else {
|
||||
dbg("⚠️ [Peril Dice] Experience Denial (Code " + (string)reason + ") for agent " + (string)agent_id);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue