Difference between revisions of "Days in Month"
Jump to navigation
Jump to search
(Created page...) |
|||
Line 1: | Line 1: | ||
The following script is adaptable for use in any calendrical system, particularly pertaining to tier collection systems that need to do actual monthly billings, not just 28 day or 30 day billing cycles. | The following script is adaptable for use in any calendrical system, particularly pertaining to tier collection systems that need to do actual monthly billings, not just 28 day or 30 day billing cycles. | ||
<lsl> | |||
string date = ""; | string date = ""; | ||
list date_info; | list date_info; | ||
Line 85: | Line 86: | ||
} | } | ||
} | } | ||
</lsl> | |||
{{LSLC|Library|Days in Month}} |
Revision as of 23:46, 19 October 2008
The following script is adaptable for use in any calendrical system, particularly pertaining to tier collection systems that need to do actual monthly billings, not just 28 day or 30 day billing cycles.
<lsl> string date = ""; list date_info; integer month; integer day; string days; float year; list thirtydays = [4,6,9,11]; list thirtyonedays = [1,3,5,7,8,10,12]; integer index;
dayspeak()
{ llSay(0,days); index += 1; }
thirtytest()
{ do if (month = llList2Integer(thirtydays,index)) { days = "30"; dayspeak(); } while (index < 4); }
thirtyonetest()
{ do if (month = llList2Integer(thirtyonedays,index)) { days = "31"; dayspeak(); } while (index < 9); }
leapyeartest()
{ if (month = 2) { if ((integer)year / 4 == TYPE_INTEGER) { days = "29"; dayspeak(); } else { days = "28"; dayspeak(); } } else { llSay(0,"I'm sorry you are on the wrong planet."); } }
default {
state_entry() { llSay(0, "Touch to confirm the number of days in the current month!"); }
touch_start(integer total_number) { date = llGetDate(); date_info = llParseString2List(date,["-"],[" "]); year = llList2Float(date_info,0); month = llList2Integer(date_info,1); day = llList2Integer(date_info,2); integer index = 0; thirtytest(); thirtyonetest(); leapyeartest(); }
} </lsl>