🧠 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
33 lines
No EOL
1.2 KiB
Text
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");
|
|
}
|
|
} |