Difference between revisions of "Dialog Message"

From Second Life Wiki
Jump to navigation Jump to search
m (lsl code tagging)
m (<lsl> tag to <source>)
 
Line 11: Line 11:
|}
|}


<lsl>
<source lang="lsl2">
integer channel = 1000;
integer channel = 1000;


Line 51: Line 51:
     }
     }
}
}
</lsl>
</source>


{{LSLC|Examples}}
{{LSLC|Examples}}

Latest revision as of 14:47, 24 January 2015

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;

string token;
string data;

default
{
    state_entry()
    {
        llListen(channel, "", "", "");
    }
    
    on_rez(integer start_param)
    {
        llResetScript();
    }
        
    sensor(integer num_detected)
    { 
        if(token == "dialog")
        {
            integer i = 0;
            for(; i < num_detected; ++i)
                llDialog(llDetectedKey(i), 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 );
        }
    }
}