A simple script thats lets anyone say a messages over a dialog instead of using llSay or llShout.
Usage: /channel dialog message
| • integer
|
channel
|
–
|
channel number the script is listening on
|
|
| • string
|
message
|
–
|
message to display
|
|
integer channel = 1000;
list keys;
string token;
string data;
default
{
state_entry()
{
llListen(channel, "", "", "");
}
on_rez(integer start_param)
{
llResetScript();
}
sensor(integer num_detected)
{
list keys = [];
integer i = 0;
for (; i < num_detected; ++i)
keys += llDetectedKey(i);
if(token == "dialog")
{
integer len = llGetListLength(names);
for(s = 0; s < len; ++s)
llDialog(llList2Key(keys, s), data, [], channel );
}
}
listen(integer chan, string name, key id, string command)
{
integer s = llSubStringIndex(command," ");
if (~s)
{
token = llDeleteSubString(command, s, -1);
data = llDeleteSubString(command, 0, s);
if(token == "dialog")
llSensor( "", "", AGENT, 32, PI );
}
}
}