Difference between revisions of "LlGetRegionDayOffset"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{LSL_Function |func=llGetRegionDayOffset|return_type=integer |func_desc=Return the number of seconds added to the current time before calculating the current environmental ti...")
 
(add an example script showing the current region time)
Line 2: Line 2:
|func=llGetRegionDayOffset|return_type=integer
|func=llGetRegionDayOffset|return_type=integer
|func_desc=Return the number of seconds added to the current time before calculating the current environmental time for the region.  [[llGetDayOffset ]] returns the value for the current parcel, [[llGetRegionDayOffset]] produces the same value for the entire region.
|func_desc=Return the number of seconds added to the current time before calculating the current environmental time for the region.  [[llGetDayOffset ]] returns the value for the current parcel, [[llGetRegionDayOffset]] produces the same value for the entire region.
|examples=
<source lang="lsl2">
// print the apparent time of day as HH:MM (%), just like the environment window in the viewer.
// Time of day is a fraction between 0 and 1, 0 is midnight, 0.5 is noon
string printTimeOfDay(float dayFraction) {
    integer hours = (integer)(dayFraction * 24);
    integer minutes = (integer)(dayFraction * 24 * 60) % 60;
    integer percent = (integer)(dayFraction * 100);
    return (string)hours + ":" + llGetSubString((string)(100+minutes), 1, 2) + " (" + (string)percent + "%)";
}
default {
    state_entry() {
        llSetTimerEvent(5);
    }
    timer() {
        float timeOfDay = (llGetUnixTime() + llGetRegionDayOffset()) % llGetRegionDayLength() * 1.0 / llGetRegionDayLength();
        llSetText(printTimeOfDay(timeOfDay), <1,1,0>, 1);
    }
}
</source>


|also_functions=
|also_functions=

Revision as of 21:29, 13 May 2020

Summary

Function: integer llGetRegionDayOffset( );

Return the number of seconds added to the current time before calculating the current environmental time for the region. llGetDayOffset returns the value for the current parcel, llGetRegionDayOffset produces the same value for the entire region.
Returns an integer

Examples

// print the apparent time of day as HH:MM (%), just like the environment window in the viewer.
// Time of day is a fraction between 0 and 1, 0 is midnight, 0.5 is noon
string printTimeOfDay(float dayFraction) {
    integer hours = (integer)(dayFraction * 24);
    integer minutes = (integer)(dayFraction * 24 * 60) % 60;
    integer percent = (integer)(dayFraction * 100);
    return (string)hours + ":" + llGetSubString((string)(100+minutes), 1, 2) + " (" + (string)percent + "%)";
}

default {
    state_entry() {
        llSetTimerEvent(5);
    }

    timer() {
        float timeOfDay = (llGetUnixTime() + llGetRegionDayOffset()) % llGetRegionDayLength() * 1.0 / llGetRegionDayLength();
        llSetText(printTimeOfDay(timeOfDay), <1,1,0>, 1);
    }
}

Deep Notes

Search JIRA for related Issues

Signature

function integer llGetRegionDayOffset();