Peril_Dice/XyzzyText_Debug.lsl

88 lines
3.6 KiB
Text

// XyzzyText Debug Helper
// This script helps debug issues with XyzzyText display
// Constants for XyzzyText communication
integer DISPLAY_STRING = 204000;
integer DISPLAY_EXTENDED = 204001;
integer RESCAN_LINKSET = 204008;
// Communication channel from scoreboard
integer LEADERBOARD_CHANNEL = -12346;
default {
state_entry() {
// Listen for messages from scoreboard
llListen(LEADERBOARD_CHANNEL, "", "", "");
llOwnerSay("XyzzyText Debug Helper started");
// Check linkset info
integer numPrims = llGetNumberOfPrims();
llOwnerSay("DEBUG: Linkset has " + (string)numPrims + " prims");
// List all prim names to verify XyzzyText setup
integer i;
for (i = 1; i <= numPrims; i++) {
string primName = llGetLinkName(i);
llOwnerSay("DEBUG: Prim " + (string)i + " name: '" + primName + "'");
}
// Trigger a rescan of the linkset for XyzzyText
llOwnerSay("DEBUG: Triggering XyzzyText rescan");
llMessageLinked(LINK_SET, RESCAN_LINKSET, "", "");
// Send test text to each bank
llSleep(1.0); // Wait for rescan to complete
llOwnerSay("DEBUG: Sending test text to banks");
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST0", "0"); // Bank 0 (left)
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST1", "1"); // Bank 1 (middle)
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST2", "2"); // Bank 2 (right)
}
listen(integer channel, string name, key id, string message) {
if (channel == LEADERBOARD_CHANNEL) {
llOwnerSay("DEBUG: Received message on channel " + (string)channel + ": " + message);
if (llSubStringIndex(message, "LEFT_TEXT|") == 0) {
string leftText = llGetSubString(message, 10, -1);
llOwnerSay("DEBUG: Got LEFT text: " + leftText);
llMessageLinked(LINK_SET, DISPLAY_STRING, leftText, "0");
}
else if (llSubStringIndex(message, "MIDDLE_TEXT|") == 0) {
string middleText = llGetSubString(message, 12, -1);
llOwnerSay("DEBUG: Got MIDDLE text: " + middleText);
llMessageLinked(LINK_SET, DISPLAY_STRING, middleText, "1");
}
else if (llSubStringIndex(message, "RIGHT_TEXT|") == 0) {
string rightText = llGetSubString(message, 11, -1);
llOwnerSay("DEBUG: Got RIGHT text: " + rightText);
llMessageLinked(LINK_SET, DISPLAY_STRING, rightText, "2");
}
}
}
touch_start(integer total_number) {
// When touched, refresh debug info and test displays
llOwnerSay("--- XyzzyText Debug Refresh ---");
// Check linkset info
integer numPrims = llGetNumberOfPrims();
llOwnerSay("DEBUG: Linkset has " + (string)numPrims + " prims");
// List all prim names
integer i;
for (i = 1; i <= numPrims; i++) {
string primName = llGetLinkName(i);
llOwnerSay("DEBUG: Prim " + (string)i + " name: '" + primName + "'");
}
// Trigger rescan and test displays
llOwnerSay("DEBUG: Triggering XyzzyText rescan");
llMessageLinked(LINK_SET, RESCAN_LINKSET, "", "");
llSleep(1.0);
llOwnerSay("DEBUG: Sending test text to banks");
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST0", "0");
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST1", "1");
llMessageLinked(LINK_SET, DISPLAY_STRING, "TEST2", "2");
}
}