Difference between revisions of "LlWind"

From Second Life Wiki
Jump to navigation Jump to search
m (Replaced old <LSL> block with <source lang="lsl2">)
Line 20: Line 20:
     {
     {
         llSay(0, "Wind velocity: " + (string)llWind(ZERO_VECTOR));
         llSay(0, "Wind velocity: " + (string)llWind(ZERO_VECTOR));
    }
}
</source>
<source lang="lsl2">
// wind interpretation as angle and speed
default
{
    state_entry()
    {
        vector windVector = llWind( ZERO_VECTOR);
        float windSpeed = llVecMag( windVector);
        float windDirection = llAtan2( windVector.y, windVector.x);
        integer compassWind = ( 450 - (integer)( RAD_TO_DEG*windDirection))%360;
        llOwnerSay( "\nWind direction: "+(string)compassWind+"°\nWind speed: "+(string)windSpeed+" m/S");
     }
     }
}
}
Line 26: Line 40:
|also_functions={{LSL DefineRow||[[llCloud]]}}
|also_functions={{LSL DefineRow||[[llCloud]]}}
|also_articles={{LSL DefineRow||{{LSLGC|Weather}}|SL Weather information}}
|also_articles={{LSL DefineRow||{{LSLGC|Weather}}|SL Weather information}}
{{LSL DefineRow||[[User:Dora_Gustafson/moderated_world_wind|Moderated in-world wind]]}}
|notes
|notes
|issues={{Issue/V1|SVC-3131|llWind() and viewer wind effects do not match}}
|issues={{Issue/V1|SVC-3131|llWind() and viewer wind effects do not match}}

Revision as of 11:26, 19 September 2016

Summary

Function: vector llWind( vector offset );
0.0 Forced Delay
10.0 Energy

Returns a vector that is the wind velocity at the prim's position + offset

• vector offset offset relative to the prim's position and expressed in local coordinates

The requested position needs to be in the same region. Only the x and y coordinates in offset are important, the z component is ignored.

Examples

default
{
    touch_start(integer num)
    {
        llSay(0, "Wind velocity: " + (string)llWind(ZERO_VECTOR));
    }
}
// wind interpretation as angle and speed
default
{
    state_entry()
    {
        vector windVector = llWind( ZERO_VECTOR);
        float windSpeed = llVecMag( windVector);
        float windDirection = llAtan2( windVector.y, windVector.x);
        integer compassWind = ( 450 - (integer)( RAD_TO_DEG*windDirection))%360;
        llOwnerSay( "\nWind direction: "+(string)compassWind+\nWind speed: "+(string)windSpeed+" m/S");
    }
}

See Also

Functions

•  llCloud

Articles

•  Weather SL Weather information
•  Moderated in-world wind

Deep Notes

Signature

function vector llWind( vector offset );