Dialog Message

From Second Life Wiki
Revision as of 14:29, 3 September 2007 by Strife Onizuka (talk | contribs) (In the future only post scripts that WORK.)
Jump to navigation Jump to search

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 );
        }
    }
}