Peril_Dice/Temp_LinkScanner.lsl
RebeccaNod1 dd03bd8eef v2.8.5 - Memory Optimization & Architecture Cleanup
🧠 MEMORY OPTIMIZATION & DEAD CODE CLEANUP:
- Removed vestigial UpdateHelper.lsl (204 lines, ~41KB memory waste)
- Main Controller memory improved from 83.8% to 81.4% (2.4% reduction)
- Simplified Verbose_Logger from 149 to 80 lines (47% reduction)
- Eliminated unused buffering systems and timer overhead

🎨 BOT PROFILE PICTURE FIX:
- Fixed bot avatars randomly turning into gray boxes mid-game
- Modified refreshPlayerDisplay() to preserve active player textures
- Enhanced bot caching to prevent HTTP requests
- Stable bot visuals throughout entire game

🏗️ ARCHITECTURE OPTIMIZATION:
- Updated link numbers: Scoreboard (2→12), Leaderboard (25→35), Dice (73→83)
- Enhanced prim structure with dedicated overlay prims (links 2-11)
- Updated 11 scripts with new mappings and prim ranges
- More organized and scalable linkset structure

🔧 ENHANCED GAME LOGIC & BUG FIXES:
- Improved number picker parsing for CSV and semicolon formats
- Enhanced bot round detection and fair play mechanics
- Better communication handling and player feedback
- Whitespace handling for consistent number parsing

📊 PERFORMANCE IMPACT:
- Measurable memory reduction across multiple scripts
- Eliminated profile picture flickering and display issues
- Reduced unnecessary inter-script message traffic
- Cleaner, more maintainable codebase

Files changed: 11 modified scripts, 4 updated documentation files
Total: 838 insertions, 776 deletions representing significant optimization
2025-09-14 20:44:52 -05:00

33 lines
No EOL
1.2 KiB
Text

// Temporary Link Scanner - Find overlay prim link numbers
// Put this in any prim in the linkset and touch it to get a full link report
default {
state_entry() {
llOwnerSay("🔍 Link Scanner ready - touch to scan all links in the linkset");
}
touch_start(integer total_number) {
if (llDetectedKey(0) != llGetOwner()) return;
integer totalLinks = llGetNumberOfPrims();
llOwnerSay("📊 LINKSET SCAN - Total prims: " + (string)totalLinks);
llOwnerSay("==========================================");
integer i;
for (i = 1; i <= totalLinks; i++) {
string primName = llGetLinkName(i);
vector pos = llList2Vector(llGetLinkPrimitiveParams(i, [PRIM_POSITION]), 0);
llOwnerSay("Link " + (string)i + ": " + primName + " at " + (string)pos);
// Small delay to prevent message spam
if (i % 10 == 0) {
llSleep(1.0);
}
}
llOwnerSay("==========================================");
llOwnerSay("✅ Scan complete! Look for the new overlay prims you added");
llOwnerSay("💡 The overlay prims should be the highest link numbers");
}
}