OsSetSpeed

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (It's a float not a integer)
(Script change)
Line 5: Line 5:
 
|function_syntax= osSetSpeed(key ID, float SpeedModifier)
 
|function_syntax= osSetSpeed(key ID, float SpeedModifier)
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
 +
//
 +
// osSetSpeed Script Example
 +
//
 +
 +
integer switch;
 +
 
default
 
default
 
{
 
{
 
     state_entry()
 
     state_entry()
 
     {
 
     {
         osSetSpeed(llGetOwner(), 2.0);
+
         llSay(PUBLIC_CHANNEL, "Touch to see osSetSpeed usage.");
        // This doesn't work as of 0.7.1.1 - It will work on 0.7.2-dev or later
+
    }
         // osSetSpeed(llGetOwner(), 2.0);
+
 +
    touch_start(integer number)
 +
    {
 +
        if (switch = !switch)
 +
        {
 +
            osSetSpeed(llGetOwner(), 2.0);
 +
            llOwnerSay("Your speed in now set to 2.0");
 +
         }
 +
       
 +
        else
 +
        {
 +
            osSetSpeed(llGetOwner(), 1.0);
 +
            llOwnerSay("Your speed in now set to the default value (1.0)");
 +
        }
 
     }
 
     }
 
}
 
}

Revision as of 13:20, 24 November 2020

osSetSpeed(key ID, float SpeedModifier)
Implemented December 30, 2009 by Revolution in GIT# 87959464c9db8948bed89909913400bc2eb7524d - Rev 11850

This allows for users to speed themselves up. It multiplies the running, walking, rotating and flying of the avatar.

The default value for SpeedModifier is 1.0.

To be precise, it affects physical velocity. If you specify too large or too small number for SpeedModifier, the target will be unmovable, showing the following message in the region console:

[PHYSICS]: Got a NaN velocity from Scene in a Character

Note: As of 0.7.1.1, you can't apply float numbers to SpeedModifier (it will result in script compile error) due to the bug #5564. On 0.7.2-dev or later, you will able to do so.

Threat Level Moderate
Permissions ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Extra Delay 0 seconds
Example(s)
//
// osSetSpeed Script Example
//
 
integer switch;
 
default
{
    state_entry()
    {
        llSay(PUBLIC_CHANNEL, "Touch to see osSetSpeed usage.");
    }
 
    touch_start(integer number) 
    {
        if (switch = !switch)
        {
            osSetSpeed(llGetOwner(), 2.0);
            llOwnerSay("Your speed in now set to 2.0");
        }
 
        else
        {
            osSetSpeed(llGetOwner(), 1.0);
            llOwnerSay("Your speed in now set to the default value (1.0)");
        }
    }
}
Personal tools
General
About This Wiki