Textbox2Hovertext
<lsl> // Textbox2Hovertext.LSL by Ackley Bing . January 2013 // A simple script to allow hovertext to be set with a dialog text box
integer listenhandle;
default {
touch_start(integer num) { key target = llGetOwner();// or llDetectedKey(0) llSetTimerEvent(30.0); listenhandle = llListen(1, "", target, ""); llTextBox( target, "Set Hovertext", 1 ); } listen(integer channel, string name, key id, string message) { llSetText(message, <1.0,1.0,1.0>, 1.0); } timer() { if (listenhandle) llListenRemove(listenhandle--); else llSetTimerEvent(0.0); }
} </lsl>
Here is a further improved and corrected version by Omei Qunhua, removing the confusion between toucher and owner, and simplifying the listen removal.
<lsl> integer listenhandle;
default {
touch_start(integer num) { key target = llDetectedKey(0);
// remove this 'if' and the 'return' to allow anyone to change the hover text if (target != llGetOwner() ) return;
// Avoid possible multiple active listeners, if different people click within 30 seconds llListenRemove(listenhandle);
llSetTimerEvent(30.0);
// Reduce the chance of picking up unrelated chat, by using a large negative channel // We could get even more secretive here if desired, but this'll do for now listenhandle = llListen(-12345, "", target, ""); llTextBox( target, "Set Hovertext", -12345 ); } listen(integer channel, string name, key id, string message) { llSetText(message, <1.0,1.0,1.0>, 1.0); } timer() { llListenRemove(listenhandle); llSetTimerEvent(0.0); }
} </lsl>