OsGetSitActiveRange
From OpenSimulator
(Difference between revisions)
(Created page with "{{osslfunc |function_syntax=float osGetActiveRange() |csharp_syntax= |description= returns the sit active range of the prim see osSetActiveRange * range > 0: if a avatar i...") |
(Fix Script Title) |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
| − | |function_syntax=float | + | |function_syntax=float osGetSitActiveRange() |
|csharp_syntax= | |csharp_syntax= | ||
| − | |description= returns the sit active range of the prim see [[ | + | |description= returns the sit active range of the prim see [[osSetSitActiveRange]] |
* range > 0: if a avatar if far from the prim by more than that value, a sit request is silent ignored | * range > 0: if a avatar if far from the prim by more than that value, a sit request is silent ignored | ||
* range == 0: disables this limit. Region default is used. Current that is unlimited if a sit target is set or physics can sit the avatar, otherwise 10m | * range == 0: disables this limit. Region default is used. Current that is unlimited if a sit target is set or physics can sit the avatar, otherwise 10m | ||
| Line 9: | Line 9: | ||
|permissions= true | |permissions= true | ||
|delay=0 | |delay=0 | ||
| − | |ossl_example= | + | |ossl_example=<source lang="lsl"> |
| + | // Example of osGetSitActiveRange | ||
| + | |||
| + | vector target = <0.0, 0.3, 0.55>; | ||
| + | vector rotate = <0.0, 0.0, 90.0>; | ||
| + | float active_range = 5.0; | ||
| + | key avatar; | ||
| + | |||
| + | debug(string name) | ||
| + | { | ||
| + | active_range = osGetSitActiveRange(); | ||
| + | llOwnerSay("active_range for avatar " + name + " is " + (string)active_range); | ||
| + | } | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llUnSit(llAvatarOnSitTarget()); | ||
| + | llSetClickAction(CLICK_ACTION_SIT); | ||
| + | llSitTarget(target, llEuler2Rot((rotate * DEG_TO_RAD))); | ||
| + | osSetSitActiveRange(active_range); | ||
| + | } | ||
| + | |||
| + | changed(integer change) | ||
| + | { | ||
| + | if (change & CHANGED_LINK) | ||
| + | { | ||
| + | key user = llAvatarOnSitTarget(); | ||
| + | |||
| + | if (user != NULL_KEY) | ||
| + | { | ||
| + | avatar = user; | ||
| + | debug(osKey2Name(avatar)); | ||
| + | } | ||
| + | |||
| + | else if (user == NULL_KEY) | ||
| + | { | ||
| + | debug(osKey2Name(avatar)); | ||
| + | avatar = NULL_KEY; | ||
| + | } | ||
| + | |||
| + | else | ||
| + | { | ||
| + | llResetScript(); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </source> | ||
|additional_info=This function was added in 0.9.2.0 | |additional_info=This function was added in 0.9.2.0 | ||
}} | }} | ||
Latest revision as of 05:46, 8 February 2020
float osGetSitActiveRange()
| |
returns the sit active range of the prim see osSetSitActiveRange
| |
| Threat Level | None |
| Permissions | Use of this function is always allowed by default |
| Extra Delay | 0 seconds |
| Example(s) | |
// Example of osGetSitActiveRange vector target = <0.0, 0.3, 0.55>; vector rotate = <0.0, 0.0, 90.0>; float active_range = 5.0; key avatar; debug(string name) { active_range = osGetSitActiveRange(); llOwnerSay("active_range for avatar " + name + " is " + (string)active_range); } default { state_entry() { llUnSit(llAvatarOnSitTarget()); llSetClickAction(CLICK_ACTION_SIT); llSitTarget(target, llEuler2Rot((rotate * DEG_TO_RAD))); osSetSitActiveRange(active_range); } changed(integer change) { if (change & CHANGED_LINK) { key user = llAvatarOnSitTarget(); if (user != NULL_KEY) { avatar = user; debug(osKey2Name(avatar)); } else if (user == NULL_KEY) { debug(osKey2Name(avatar)); avatar = NULL_KEY; } else { llResetScript(); } } } } | |
| Notes | |
| This function was added in 0.9.2.0 | |