OsMessageObject
From OpenSimulator
(Difference between revisions)
Line 69: | Line 69: | ||
Sends a message to to object identified by the given UUID, a script in the object must implement the dataserver function the dataserver function is passed the UUID of the calling prim and a string message. | Sends a message to to object identified by the given UUID, a script in the object must implement the dataserver function the dataserver function is passed the UUID of the calling prim and a string message. | ||
<div style="background-color:#FFA500; padding:10px; padding-bottom:5px; border: 1px #FF544F solid"> | <div style="background-color:#FFA500; padding:10px; padding-bottom:5px; border: 1px #FF544F solid"> | ||
− | This is incompatible with the normal use of dataserver event on scripts the receiving prim.<br> | + | This is incompatible with the normal use of dataserver event on scripts on the receiving prim.<br> |
− | the dataserver | + | the dataserver query_id argument should be a unique id of a request. This function just uses it as a sender id. A normal request may trigger the event on several scripts of the prim. The target one can compare the query_id and validate it, other scripts can not tell if it is a normal request for other script, or a message |
</div> | </div> | ||
| | | | ||
}} | }} |
Revision as of 12:44, 27 October 2021
osMessageObject(key objectID, string message)
| |
Where objectID = the UUID of the object you are messaging.
Where message = The String of data you want to send. Sends a message to to object identified by the given UUID, a script in the object must implement the dataserver function the dataserver function is passed the UUID of the calling prim and a string message. This is incompatible with the normal use of dataserver event on scripts on the receiving prim. | |
Threat Level | Low |
Permissions | ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
This example consists of a sender script, and a reciever script.
// ---------------------------------------------------------------- // Example / Sample Script to show function use. // // Script Title: osMessageObject.lsl // Script Author: // Threat Level: Low // Script Source: SUPPLEMENTAL http://opensimulator.org/wiki/osMessageObject // // Notes: See Script Source reference for more detailed information // This sample is full opensource and available to use as you see fit and desire. // Threat Levels only apply to OSSL & AA Functions // See http://opensimulator.org/wiki/Threat_level // ================================================================ // Inworld Script Line: osMessageObject(key objectUUID, string message); // // Example of osMessageObject // // SPECIAL NOTE // send a message to to object identified by the given UUID, // a script in the Receiving object must implement the dataserver function // the dataserver function is passed the UUID of the calling prim and a string message // Dataserver event is only raised in the root prim of the linkset // // default { state_entry() { llSay(0, "Touch me to use osMessageObject to message an object"); } touch_end(integer total_num) { key kTargetObj = "UUID"; //INSERT A VALID Object UUID here string sSentence = "This message sent from a Sending object using osMessageObject"; osMessageObject(kTargetObj,sSentence); } }
// Place this script in the Receiver prim. default { state_entry() { llSay(0, "osMessageObject Receiver Ready\nPlease replace UUID in osMessageObject Script (line 31) kTargetObj = "+(string)llGetKey()); } dataserver(key query_id, string data) { llSay(0, "RECEIVER: The message received.\n\t query_id = "+(string)query_id+"\n\t msg = "+data); } } |