Difference between revisions of "LlGetDayOffset"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{LSL_Function |func=llGetDayOffset|return_type=integer |func_desc=Return the number of seconds added to the current time before calculating the current environmental time for...")
 
(Formatting update, add new related function.)
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
|func=llGetDayOffset|return_type=integer
|func=llGetDayOffset|return_type=integer
|func_desc=Return the number of seconds added to the current time before calculating the current environmental time for the parcel.  [[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 parcel.  [[llGetDayOffset ]] returns the value for the current parcel, [[llGetRegionDayOffset]] produces the same value for the entire region.
|examples=
<syntaxhighlight 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() + llGetDayOffset()) % llGetDayLength() * 1.0 / llGetDayLength();
        llSetText(printTimeOfDay(timeOfDay), <1,1,0>, 1);
    }
}
</syntaxhighlight>


|also_functions=
|also_functions=
* [[llGetDayLength]]
{{LSL DefineRow||[[llGetEnvironment]]}} Newer function that consolidates many environment-based settings.
* [[llGetDayOffset]]
{{LSL DefineRow||[[llGetDayLength]]}}
* [[llGetMoonDirection]]
{{LSL DefineRow||[[llGetDayOffset]]}}
* [[llGetMoonRotation]]
{{LSL DefineRow||[[llGetMoonDirection]]}}
* [[llGetSunDirection]]
{{LSL DefineRow||[[llGetMoonRotation]]}}
* [[llGetSunRotation]]
{{LSL DefineRow||[[llGetSunDirection]]}}
* [[llGetRegionDayLength]]
{{LSL DefineRow||[[llGetSunRotation]]}}
* [[llGetRegionDayOffset]]
{{LSL DefineRow||[[llGetRegionDayLength]]}}
* [[llGetRegionMoonDirection]]
{{LSL DefineRow||[[llGetRegionDayOffset]]}}
* [[llGetRegionMoonRotation]]
{{LSL DefineRow||[[llGetRegionMoonDirection]]}}
* [[llGetRegionSunDirection]]
{{LSL DefineRow||[[llGetRegionMoonRotation]]}}
* [[llGetRegionSunRotation]]
{{LSL DefineRow||[[llGetRegionSunDirection]]}}
{{LSL DefineRow||[[llGetRegionSunRotation]]}}
}}
}}

Latest revision as of 07:44, 23 August 2022

Summary

Function: integer llGetDayOffset( );

Return the number of seconds added to the current time before calculating the current environmental time for the parcel. 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() + llGetDayOffset()) % llGetDayLength() * 1.0 / llGetDayLength();
        llSetText(printTimeOfDay(timeOfDay), <1,1,0>, 1);
    }
}

See Also

Functions

•  llGetEnvironment Newer function that consolidates many environment-based settings.
•  llGetDayLength
•  llGetDayOffset
•  llGetMoonDirection
•  llGetMoonRotation
•  llGetSunDirection
•  llGetSunRotation
•  llGetRegionDayLength
•  llGetRegionDayOffset
•  llGetRegionMoonDirection
•  llGetRegionMoonRotation
•  llGetRegionSunDirection
•  llGetRegionSunRotation

Deep Notes

Signature

function integer llGetDayOffset();