Skip to content
lsl.devlsl.devLSL Dev

llGetRegionDayLength

function
Function syntax
integer llGetRegionDayLength();
Returns
integer
Energy
10

Return the number of seconds in the day cycle applied to the current region. llGetDayLength returns the number of seconds for the current parcel, llGetRegionDayLength is the number of seconds in the day cycle applied to the entire region.

How to use
integer result = llGetRegionDayLength();
Example 1
13 collapsed lines
// 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);
}
}

Newer function that consolidates many environment-based settings.

Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.