De DigiWiki.
integer listener;
// this is a user-function, it doesn't have a return type
remove_listener()
{
llListenRemove(listener);
}
default
{
touch_start(integer total_number)
{
key id = llDetectedKey(0);
remove_listener();
integer randomChannel = ~(integer)llFrand(1000.0);
listener = llListen(randomChannel, "", NULL_KEY, "");
llTextBox(id, "Some info text for the top of the window...", randomChannel);
}
listen(integer channel, string name, key id, string message)
{
// PUBLIC_CHANNEL has the integer value 0
llSay(PUBLIC_CHANNEL, "You wrote: " + message);
remove_listener();
}
}