Sunday, 17 October 2010

COUNTDOWN SCRIPT - Second Life®

// Specify time and date in UTC

string Date = "2011.06.21"; // YYYY.MM.DD
string Time = "00:00:01"; // hh:mm:ss

string  TEXT     = "The end of the world will come in"; // Additional text defining the event
string  FINISHED = "uh oh..."; // Text displayed when event happened
vector  COLOR = <1,1,1>;     // Color of the displayed text 


string myGMTTime;
integer SECONDS;

countdown()
{
    llSetText(TEXT+"\n"+(string)(SECONDS/86400)+" days, "
        +(string)((SECONDS%86400)/3600)+" hours, "
        +(string)(((SECONDS%86400)%3600)/60)+" minutes, "
        +(string)(((SECONDS%86400)%3600)%60)+ "seconds.",COLOR,1);
}



default
{
    state_entry()
    {
        myGMTTime = Date +"."+Time;
        string toUnix = "http://www.iwebtool.com/tool/tools/unix_time_converter/unix_time_converter.php?year="
        + llGetSubString(myGMTTime,0,3) + "&mon=" + llGetSubString(myGMTTime,5,6) + "&day="
        + llGetSubString(myGMTTime,8,9) + "&hour=" + llGetSubString(myGMTTime,11,12) + "&min="
        + llGetSubString(myGMTTime,14,15) + "&sec=" + llGetSubString(myGMTTime,17,18);
        SECONDS = llGetUnixTime();
        llHTTPRequest(toUnix,[HTTP_METHOD,"GET"],"");
    }


    http_response(key request_id,integer status, list metadata, string body)
    {
        body = llGetSubString(body, 50, -9);
        SECONDS = (integer)body + 18000 - (2 * llGetUnixTime()) + SECONDS;
        llSetTimerEvent(1);
    }

    timer()
    {
        if (SECONDS > 0)
        {
            SECONDS = SECONDS - 1;
            countdown();
        }
        else
        {
            llSetText(FINISHED, COLOR,1);
            llSetTimerEvent(0);
        }
    }

}
do not forget your donation

No comments:

Post a Comment