55 lines
1.4 KiB
Plaintext
55 lines
1.4 KiB
Plaintext
list buttons = ["anim start", "anim stop", "step", "verbose on", "verbose off", " "];
|
|
string dialogInfo = "\nPlease make a choice.";
|
|
|
|
key ToucherID;
|
|
integer dialogChannel;
|
|
integer listenHandle;
|
|
integer commandChannel;
|
|
|
|
default
|
|
{
|
|
state_entry()
|
|
{
|
|
dialogChannel = -1 - (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) );
|
|
commandChannel = -2001;
|
|
}
|
|
|
|
touch_start(integer num_detected)
|
|
{
|
|
ToucherID = llDetectedKey(0);
|
|
llListenRemove(listenHandle);
|
|
listenHandle = llListen(dialogChannel, "", ToucherID, "");
|
|
llDialog(ToucherID, dialogInfo, buttons, dialogChannel);
|
|
//llSetTimerEvent(60.0); // Here we set a time limit for responses
|
|
}
|
|
|
|
listen(integer channel, string name, key id, string message)
|
|
{
|
|
if (message == "-")
|
|
{
|
|
llDialog(ToucherID, dialogInfo, buttons, dialogChannel);
|
|
return;
|
|
}
|
|
|
|
llListenRemove(listenHandle);
|
|
// stop timer since the menu was clicked
|
|
llSetTimerEvent(0);
|
|
|
|
//llOwnerSay("Sending message " + message + " on channel " + (string)commandChannel);
|
|
llRegionSay(commandChannel, message);
|
|
}
|
|
|
|
timer()
|
|
{
|
|
// stop timer
|
|
llSetTimerEvent(0);
|
|
|
|
llListenRemove(listenHandle);
|
|
//llWhisper(0, "Sorry. You snooze; you lose.");
|
|
}
|
|
}
|
|
|
|
// Local Variables:
|
|
// shadow-file-name: "$SW_HOME/axon/scripts/testing/lsl/axon_test_region_driver.lsl"
|
|
// End:
|