OsSetTerrainTextureHeight

From OpenSimulator

Revision as of 02:47, 31 December 2023 by Manni (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
osSetTerrainTextureHeight(integer corner, float low, float high)
Set the terrain texture height for the estate. The corner values are: 0 (Southwest), 1 (Southeast), 2 (Northwest), 3 (Northeast). The values low and high are float values for the altitude measured in meters.
Threat Level High
Permissions ESTATE_MANAGER,ESTATE_OWNER
Extra Delay 0 seconds
Example(s)
// Default Terrain Textures by djphil 2018
 
default
{
    state_entry()
    {
        osSetTerrainTexture(0, "b8d3965a-ad78-bf43-699b-bff8eca6c975");
        osSetTerrainTextureHeight(0, 10.0, 60.0);
        osSetTerrainTexture(1, "abb783e6-3e93-26c0-248a-247666855da3");
        osSetTerrainTextureHeight(1, 10.0, 60.0);
        osSetTerrainTexture(2, "179cdabd-398a-9b6b-1391-4dc333ba321f");
        osSetTerrainTextureHeight(2, 10.0, 60.0);
        osSetTerrainTexture(3, "beb169c7-11ea-fff2-efe5-0f24dc881df2");
        osSetTerrainTextureHeight(3, 10.0, 60.0);
    }
}
// Terrain elevation animation
 
float gTimerInterval = 5.0;  // Timer interval in seconds
float gTimerDelay = 5.0;  // Start the timer after 5 seconds
float gMinHeight = 5.0;
float gMaxHeight = 55.0;
float gStep = 1.0;
integer gDirection = 1;  // 1 for ascent, -1 for descent
 
default
{
    state_entry()
    {
        llSetTimerEvent(gTimerDelay);
    }
 
    timer()
    {
        // Set the height of the current terrain texture
        osSetTerrainTextureHeight(0, gMinHeight, gMaxHeight);
        osSetTerrainTextureHeight(1, gMinHeight, gMaxHeight);
        osSetTerrainTextureHeight(2, gMinHeight, gMaxHeight);
        osSetTerrainTextureHeight(3, gMinHeight, gMaxHeight);
 
        // Change the min and max height for the next interval
        gMinHeight += gStep * gDirection;
        gMaxHeight += gStep * gDirection;
 
        // Check and change the direction upon reaching the maximum or minimum value
        if (gMinHeight <= 5.0 || gMaxHeight >= 65.0)
        {
            gDirection *= -1;  // Reverse the direction
            gMinHeight += gStep * gDirection;  // Correct the min and max height
            gMaxHeight += gStep * gDirection;
        }
 
        // Set the timer for the next interval
        llSetTimerEvent(gTimerInterval);
    }
}
Notes
This function was added in 0.7.4-post-fixes
General
About This Wiki