Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Help - whisper on sit?

Xia DeCuir
Registered User
Join date: 1 Jul 2008
Posts: 3
03-22-2009 12:17
Hi. I want to be able to whisper a message to an avatar when it sits on an object. I can find lots of help on touch but not on sitting. Assume this is easy. Just not a script person.

Thanks so much.
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
03-22-2009 12:21
you need to use the changed() event

From: lslwiki.net

// When an avatar sits on the object containing this script,
// the object will say "Get off!" and then force the avatar to stand up.
default {
state_entry() {
llSitTarget(<0, 0, 0.1>, ZERO_ROTATION); // needed for llAvatarOnSitTarget to work
}

changed(integer change) { // something changed
if (change & CHANGED_LINK) { // and it was a link change
// llSleep(0.5); // llUnSit works better with this delay
key av = llAvatarOnSitTarget();
if (av) { // somebody is sitting on me
llSay(0, "Get off!";); // say in chat when person is remove from prim
llUnSit(av); // unsit him
}
}
}
}
Xia DeCuir
Registered User
Join date: 1 Jul 2008
Posts: 3
03-22-2009 12:25
Wow. that was fast. TYVM. Will go off and try.
Dora Gustafson
Registered User
Join date: 13 Mar 2007
Posts: 779
03-22-2009 12:31
in the script you may find a changed event handler, something like this:
CODE

changed(integer change)
{
if (change & CHANGED_LINK)
{
key sitter = llAvatarOnSitTarget() ;
if(sitter != NULL_KEY) llRequestPermissions(sitter , PERMISSION_TRIGGER_ANIMATION);
else if ( llGetPermissions() & PERMISSION_TRIGGER_ANIMATION ) llStopAnimation( wantedAnim );
}
}
add a whisper thing:
CODE

changed(integer change)
{
if (change & CHANGED_LINK)
{
key sitter = llAvatarOnSitTarget() ;
if(sitter != NULL_KEY)
{
llWhisper( PUBLIC_CHANNEL,"I tell you no lies");
llRequestPermissions(sitter , PERMISSION_TRIGGER_ANIMATION);
}
else if ( llGetPermissions() & PERMISSION_TRIGGER_ANIMATION ) llStopAnimation( wantedAnim );
}
}
}
_____________________
From Studio Dora
Xia DeCuir
Registered User
Join date: 1 Jul 2008
Posts: 3
03-22-2009 12:42
This is what I ended up using in case someone else needs it:


// When an avatar sits on the object containing this script,
// the object will whisper "your message" .
default {
state_entry() {
llSitTarget(<0.1, 0, 0.0>, ZERO_ROTATION); // needed for llAvatarOnSitTarget to work adjust numbers as needed.
}

changed(integer change) { // something changed
if (change & CHANGED_LINK) { // and it was a link change
key av = llAvatarOnSitTarget();
if (av) { // somebody is sitting on me
llWhisper(0, "your message here";); // say in chat
}
}
}
}