OsGetSitActiveRange

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Add exemple script)
Line 9: Line 9:
 
|permissions= true
 
|permissions= true
 
|delay=0
 
|delay=0
|ossl_example=
+
|ossl_example=<source lang="lsl">
 +
// Example of osSetSitActiveRange
 +
 
 +
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();
 +
            }
 +
        }
 +
    }
 +
}
 
|additional_info=This function was added in 0.9.2.0
 
|additional_info=This function was added in 0.9.2.0
 
}}
 
}}

Revision as of 06:43, 8 February 2020

{{osslfunc |function_syntax=float osGetSitActiveRange() |csharp_syntax= |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: 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: sits are disabled. Requests are silently ignored

|threat_level= None |permissions= true |delay=0

|ossl_example=
// Example of osSetSitActiveRange
 
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();
            }
        }
    }
}
|additional_info=This function was added in 0.9.2.0
}}
Personal tools
General
About This Wiki