Textbox2Hovertext: Difference between revisions
Jump to navigation
Jump to search
Ackley Bing (talk | contribs) to avoid unnecessary discussion about listening, as this is not a study in llListen |
Ackley Bing (talk | contribs) No edit summary |
||
| Line 28: | Line 28: | ||
Here is a further improved and corrected version by Omei Qunhua, removing the confusion between toucher and owner, and simplifying the listen removal. | Here is a further improved and corrected version by Omei Qunhua, removing the confusion between toucher and owner, and simplifying the listen removal. | ||
:I have updated my script to avoid any confusions about listeners and non-owner touches. Your version is slightly different and works just as well but is it really necessary to have duplicated information on the same page? --[[User:Ackley Bing|Ackley Bing]] 10:51, 13 February 2013 (PST) | |||
<lsl> | <lsl> | ||
integer listenhandle; | integer listenhandle; | ||
Revision as of 11:51, 13 February 2013
<lsl> // Textbox2Hovertext.LSL by Ackley Bing . January 2013 // A simple script to allow object owners to change the "hovertext" // on their prims using a text entry box (llTextBox).
default {
touch_start(integer num)
{
if(llDetectedKey(0)==llGetOwner())
{
llSetTimerEvent(60.0); // Time to input text until script closes listener
llListen(1, "", llGetOwner(), ""); // channel 1 for simplicity
llTextBox( llGetOwner(), "Set Hovertext", 1); // channel 1 for simplicity
}
}
listen(integer channel, string name, key id, string message)
{
llSetText(message, <1.0,1.0,1.0>, 1.0);
}
timer()
{
llListenRemove(1);
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.
- I have updated my script to avoid any confusions about listeners and non-owner touches. Your version is slightly different and works just as well but is it really necessary to have duplicated information on the same page? --Ackley Bing 10:51, 13 February 2013 (PST)
<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>