Difference between revisions of "LlUnSit"
Jump to navigation
Jump to search
(l20n) |
|||
Line 1: | Line 1: | ||
{{LSL_Function/avatar | {{LSL_Function/avatar|id|sim=*}}{{LSL_Function | ||
|func_id=220|func_sleep=0.0|func_energy=10.0 | |func_id=220|func_sleep=0.0|func_energy=10.0 | ||
|sort=UnSit|func=llUnSit | |sort=UnSit|func=llUnSit | ||
|p1_type=key|p1_name=id | |p1_type=key|p1_name=id | ||
|func_footnote | |func_footnote | ||
|func_desc= | |func_desc=If the agent identified by '''id''' is sitting on the object the script is attached to or is over land owned by the object's {{LSLGC|Owner|owner}}, the agent is forced to stand up. | ||
|return_text | |return_text | ||
|spec | |spec | ||
Line 10: | Line 10: | ||
|constants | |constants | ||
|examples= | |examples= | ||
<lsl>//Unsit on Sit | <lsl>//Unsit on Sit, requires a sit target | ||
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); // | llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); //needed for llAvatarOnSitTarget to work. The vectors components must not all be set to 0. | ||
} | } | ||
changed(integer change) // | changed(integer change) //event changed | ||
{ | { | ||
if (change & CHANGED_LINK) // | if (change & CHANGED_LINK) //event changed and it has something to do with linking or avatar sitting | ||
{ | { | ||
key user = llAvatarOnSitTarget(); | key user = llAvatarOnSitTarget(); | ||
if (user) // | if (user) //the changed event is an avatar sitting | ||
llUnSit(user); // | llUnSit(user); //unsit the avatar on the sit target | ||
} | } | ||
} | } | ||
}</lsl> | }</lsl> | ||
<lsl>//Unsit on Sit | <lsl>//Unsit on Sit, does not use a sit target | ||
default | default | ||
{ | { | ||
changed(integer change) // | changed(integer change) //event changed | ||
{ | { | ||
if (change & CHANGED_LINK) // | if (change & CHANGED_LINK) //event changed and it has something to do with linking or avatar sitting | ||
{ | { | ||
integer link = llGetNumberOfPrims(); | integer link = llGetNumberOfPrims(); | ||
Line 42: | Line 42: | ||
}</lsl> | }</lsl> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow | |also_functions={{LSL DefineRow||[[llAvatarOnSitTarget]]|}} | ||
{{LSL DefineRow | {{LSL DefineRow||[[llSitTarget]]|}} | ||
|also_events={{LSL DefineRow | |also_events={{LSL DefineRow||[[changed]]|}} | ||
|also_articles | |also_articles | ||
|also_tests | |also_tests |
Revision as of 15:53, 9 August 2009
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llUnSit( key id );220 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
If the agent identified by id is sitting on the object the script is attached to or is over land owned by the object's owner, the agent is forced to stand up.
• key | id | – | avatar UUID that is in the same region |
Caveats
Examples
<lsl>//Unsit on Sit, requires a sit target default {
state_entry() { llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); //needed for llAvatarOnSitTarget to work. The vectors components must not all be set to 0. } changed(integer change) //event changed { if (change & CHANGED_LINK) //event changed and it has something to do with linking or avatar sitting { key user = llAvatarOnSitTarget(); if (user) //the changed event is an avatar sitting llUnSit(user); //unsit the avatar on the sit target } }
}</lsl> <lsl>//Unsit on Sit, does not use a sit target default {
changed(integer change) //event changed { if (change & CHANGED_LINK) //event changed and it has something to do with linking or avatar sitting { integer link = llGetNumberOfPrims(); key id; while(llGetAgentSize(id = llGetLinkKey(link--))) llUnSit(id); } }}</lsl>