Dialog Message

From Second Life Wiki
Revision as of 16:38, 30 March 2008 by Uzume Grigorovich (talk | contribs) (lsl code tagging)
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

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

} </lsl>