|
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: 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: 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 } } } }
|