88 lines
3.6 KiB
Text
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");
|
|
}
|
|
}
|