OsSetStandTarget

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 2: Line 2:
 
|function_syntax=osSetStandTarget(vector feetTarget)
 
|function_syntax=osSetStandTarget(vector feetTarget)
 
|csharp_syntax=
 
|csharp_syntax=
|description= Sets a position, relative to prim local frame, where to place the feet of a standing avatar. The final position may not be exactly that.
+
|description= Sets a position, relative to prim local frame, where to place the feet of a avatar on stand. The final position may not be exactly that.
 
Setting it to <0,0,0> disables it, default stand offset and login are used.
 
Setting it to <0,0,0> disables it, default stand offset and login are used.
 
This vector is stored on the prim, even if the script is removed
 
This vector is stored on the prim, even if the script is removed
Line 8: Line 8:
 
|permissions= true
 
|permissions= true
 
|delay=0
 
|delay=0
|ossl_example=
+
|ossl_example=<source lang="lsl">
 +
// Example of osSetStandTarget
 +
 
 +
vector target = <0.0, 0.3, 0.55>;
 +
vector rotate = <0.0, 0.0, 90.0>;
 +
vector stand_target = <1.0, -1.0, 1.0>;
 +
key avatar;
 +
 
 +
debug(string name)
 +
{
 +
    stand_target = osGetStandTarget();
 +
    llOwnerSay("stand_target for avatar " + name + " is " + (string)stand_target);
 +
}
 +
 
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llUnSit(llAvatarOnSitTarget());
 +
        llSetClickAction(CLICK_ACTION_SIT);
 +
        llSitTarget(target, llEuler2Rot((rotate * DEG_TO_RAD)));
 +
        osSetStandTarget(stand_target);
 +
    }
 +
 
 +
    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 16:31, 21 November 2021

osSetStandTarget(vector feetTarget)
Sets a position, relative to prim local frame, where to place the feet of a avatar on stand. The final position may not be exactly that.

Setting it to <0,0,0> disables it, default stand offset and login are used. This vector is stored on the prim, even if the script is removed

Threat Level None
Permissions Use of this function is always allowed by default
Extra Delay 0 seconds
Example(s)
// Example of osSetStandTarget
 
vector target = <0.0, 0.3, 0.55>;
vector rotate = <0.0, 0.0, 90.0>;
vector stand_target = <1.0, -1.0, 1.0>;
key avatar;
 
debug(string name)
{
    stand_target = osGetStandTarget();
    llOwnerSay("stand_target for avatar " + name + " is " + (string)stand_target);
}
 
default
{
    state_entry()
    {
        llUnSit(llAvatarOnSitTarget());
        llSetClickAction(CLICK_ACTION_SIT);
        llSitTarget(target, llEuler2Rot((rotate * DEG_TO_RAD)));
        osSetStandTarget(stand_target);
    }
 
    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
Personal tools
General
About This Wiki