DONTSITONME
From OpenSimulator
(Difference between revisions)
m (Indentation) |
|||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Quicklinks}} | {{Quicklinks}} | ||
+ | |||
+ | Statement: This script defines an object in the OpenSim environment that sends warning messages to the public chat channel when avatars attempt to sit on it. | ||
+ | It sets a sit target for avatars, sets a timer event to periodically send warning messages, and triggers a warning message when an avatar sits on the object. | ||
<source lang="lsl"> | <source lang="lsl"> | ||
+ | // This script defines an object that will send warning messages when sat upon. | ||
+ | |||
+ | // Define default state | ||
default | default | ||
{ | { | ||
+ | // State entry function called when the script starts or resets | ||
state_entry() | state_entry() | ||
{ | { | ||
+ | // Set a timer event to trigger every 25 seconds | ||
llSetTimerEvent(25.0); | llSetTimerEvent(25.0); | ||
+ | |||
+ | // Set the sit target for avatars to sit on | ||
llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>); | llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>); | ||
− | llSay(PUBLIC_CHANNEL, " | + | |
+ | // Send a message to the public chat channel | ||
+ | llSay(PUBLIC_CHANNEL, "Don't sit on me!"); | ||
} | } | ||
+ | // Changed event handler called when something about the object changes | ||
changed(integer how) | changed(integer how) | ||
{ | { | ||
+ | // Check if the change involves a link | ||
if ((how & CHANGED_LINK) != 0) | if ((how & CHANGED_LINK) != 0) | ||
{ | { | ||
+ | // Check if an avatar is sitting on the sit target | ||
if (llAvatarOnSitTarget() != "") | if (llAvatarOnSitTarget() != "") | ||
{ | { | ||
+ | // Send a warning message to the public chat channel | ||
llSay(PUBLIC_CHANNEL, "ACK! GET OFF !!!"); | llSay(PUBLIC_CHANNEL, "ACK! GET OFF !!!"); | ||
} | } | ||
Line 23: | Line 39: | ||
} | } | ||
+ | // Timer event handler called when the timer event triggers | ||
timer() | timer() | ||
{ | { | ||
+ | // Send a periodic warning message to the public chat channel | ||
llSay(PUBLIC_CHANNEL, "Please don't sit on me"); | llSay(PUBLIC_CHANNEL, "Please don't sit on me"); | ||
} | } |
Latest revision as of 02:54, 5 March 2024
Statement: This script defines an object in the OpenSim environment that sends warning messages to the public chat channel when avatars attempt to sit on it. It sets a sit target for avatars, sets a timer event to periodically send warning messages, and triggers a warning message when an avatar sits on the object.
// This script defines an object that will send warning messages when sat upon. // Define default state default { // State entry function called when the script starts or resets state_entry() { // Set a timer event to trigger every 25 seconds llSetTimerEvent(25.0); // Set the sit target for avatars to sit on llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>); // Send a message to the public chat channel llSay(PUBLIC_CHANNEL, "Don't sit on me!"); } // Changed event handler called when something about the object changes changed(integer how) { // Check if the change involves a link if ((how & CHANGED_LINK) != 0) { // Check if an avatar is sitting on the sit target if (llAvatarOnSitTarget() != "") { // Send a warning message to the public chat channel llSay(PUBLIC_CHANNEL, "ACK! GET OFF !!!"); } } } // Timer event handler called when the timer event triggers timer() { // Send a periodic warning message to the public chat channel llSay(PUBLIC_CHANNEL, "Please don't sit on me"); } }