Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

archiv:opensim:downloads:scripts:binary_clock [2024/01/09 22:25] – Externe Bearbeitung 127.0.0.1archiv:opensim:downloads:scripts:binary_clock [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 +===== Binary Clock =====
 +
 +<code>
 +// Binary Clock Script
 +// By Fox Diller
 +// OMG INSANITY!
 + 
 +list bTime;
 +list oTime;
 + 
 +integer token;
 + 
 +string dec2bin(integer dec)
 +{
 +    if (dec == 0) return "0000";
 +    if (dec == 1) return "0001";
 +    if (dec == 2) return "0010";
 +    if (dec == 3) return "0011";
 +    if (dec == 4) return "0100";
 +    if (dec == 5) return "0101";
 +    if (dec == 6) return "0110";
 +    if (dec == 7) return "0111";
 +    if (dec == 8) return "1000";
 +    if (dec == 9) return "1001";
 +    return "0000";
 +}
 + 
 +BuildClock()
 +{
 +    integer shiftraw = (integer)llGetWallclock();
 + 
 +    integer hours = shiftraw / 3600;
 +    integer minutes = (shiftraw % 3600) / 60;
 +    integer seconds = shiftraw % 60;
 + 
 +    bTime = [hours   / 10, hours   % 10,
 +             minutes / 10, minutes % 10,
 +             seconds / 10, seconds % 10];
 + 
 +}
 + 
 +displayBDC()
 +{
 +    integer current_rowA = llList2Integer(bTime, 0);
 +    integer old_rowA = llList2Integer(oTime, 0);
 +    if (current_rowA != old_rowA)
 +    {
 +        string rowA = dec2bin(current_rowA);
 +        integer Acol0 = (integer)llGetSubString(rowA, 3, 3);
 +        integer Acol1 = (integer)llGetSubString(rowA, 2, 2); 
 +        llMessageLinked(2, Acol0, "", "");
 +        llMessageLinked(3, Acol1, "", "");
 +    } else if (!current_rowA) {
 +        llMessageLinked(2, 0, "", "");
 +        llMessageLinked(3, 0, "", "");
 +    }
 + 
 +    integer current_rowB = llList2Integer(bTime, 1);
 +    integer old_rowB = llList2Integer(oTime, 1);
 +    if (current_rowB != old_rowB)
 +    {
 +        string rowB = dec2bin(current_rowB);
 +        integer Bcol0 = (integer)llGetSubString(rowB, 3, 3);
 +        integer Bcol1 = (integer)llGetSubString(rowB, 2, 2);
 +        integer Bcol2 = (integer)llGetSubString(rowB, 1, 1);
 +        integer Bcol3 = (integer)llGetSubString(rowB, 0, 0); 
 +        llMessageLinked(4, Bcol0, "", "");
 +        llMessageLinked(5, Bcol1, "", "");
 +        llMessageLinked(6, Bcol2, "", "");
 +        llMessageLinked(7, Bcol3, "", "");
 +    } else if (!current_rowB) {
 +        llMessageLinked(4, 0, "", "");
 +        llMessageLinked(5, 0, "", "");
 +        llMessageLinked(6, 0, "", "");
 +        llMessageLinked(7, 0, "", "");
 +    }
 + 
 + 
 +    integer current_rowC = llList2Integer(bTime, 2);
 +    integer old_rowC = llList2Integer(oTime, 2);
 +    if (current_rowC != old_rowC)
 +    {     
 +        string rowC = dec2bin(current_rowC);
 +        integer Ccol0 = (integer)llGetSubString(rowC, 3, 3);
 +        integer Ccol1 = (integer)llGetSubString(rowC, 2, 2);
 +        integer Ccol2 = (integer)llGetSubString(rowC, 1, 1);
 +        llMessageLinked(8, Ccol0, "", "");
 +        llMessageLinked(9, Ccol1, "", "");
 +        llMessageLinked(10, Ccol2, "", "");
 +    } else if (!current_rowC) {
 +        llMessageLinked(8, 0, "", "");
 +        llMessageLinked(9, 0, "", "");
 +        llMessageLinked(10, 0, "", "");
 +    }
 + 
 +    integer current_rowD = llList2Integer(bTime, 3);
 +    integer old_rowD = llList2Integer(oTime, 3);
 +    if (current_rowD != old_rowD)
 +    {
 +        string rowD = dec2bin(current_rowD);
 +        integer Dcol0 = (integer)llGetSubString(rowD, 3, 3);
 +        integer Dcol1 = (integer)llGetSubString(rowD, 2, 2);
 +        integer Dcol2 = (integer)llGetSubString(rowD, 1, 1);
 +        integer Dcol3 = (integer)llGetSubString(rowD, 0, 0); 
 +        llMessageLinked(11, Dcol0, "", "");
 +        llMessageLinked(12, Dcol1, "", "");
 +        llMessageLinked(13, Dcol2, "", "");
 +        llMessageLinked(14, Dcol3, "", "");
 +    } else if (!current_rowD) {
 +        llMessageLinked(11, 0, "", "");
 +        llMessageLinked(12, 0, "", "");
 +        llMessageLinked(13, 0, "", "");
 +        llMessageLinked(14, 0, "", "");
 +    }
 + 
 +    integer current_rowE = llList2Integer(bTime, 4);
 +    integer old_rowE = llList2Integer(oTime, 4);
 +    if (current_rowE != old_rowE)
 +    {
 +        string rowE = dec2bin(current_rowE);
 +        integer Ecol0 = (integer)llGetSubString(rowE, 3, 3);
 +        integer Ecol1 = (integer)llGetSubString(rowE, 2, 2);
 +        integer Ecol2 = (integer)llGetSubString(rowE, 1, 1);
 +        llMessageLinked(15, Ecol0, "", "");
 +        llMessageLinked(16, Ecol1, "", "");
 +        llMessageLinked(17, Ecol2, "", "");
 +    } else if (!current_rowE) {
 +        llMessageLinked(15, 0, "", "");
 +        llMessageLinked(16, 0, "", "");
 +        llMessageLinked(17, 0, "", "");
 +    }
 + 
 +    integer current_rowF = llList2Integer(bTime, 5);
 +    integer old_rowF = llList2Integer(oTime, 5);
 +    if (current_rowF != old_rowF)
 +    {
 +        string rowF = dec2bin(current_rowF);
 +        integer Fcol0 = (integer)llGetSubString(rowF, 3, 3);
 +        integer Fcol1 = (integer)llGetSubString(rowF, 2, 2);
 +        integer Fcol2 = (integer)llGetSubString(rowF, 1, 1);
 +        integer Fcol3 = (integer)llGetSubString(rowF, 0, 0); 
 +        llMessageLinked(18, Fcol0, "", "");
 +        llMessageLinked(19, Fcol1, "", "");
 +        llMessageLinked(20, Fcol2, "", "");
 +        llMessageLinked(21, Fcol3, "", "");
 +    } else if (!current_rowF) {
 +        llMessageLinked(18, 0, "", "");
 +        llMessageLinked(19, 0, "", "");
 +        llMessageLinked(20, 0, "", "");
 +        llMessageLinked(21, 0, "", "");
 +    }
 + 
 +}
 + 
 +default
 +{
 +    touch_start(integer total_number)
 +    {
 +        if (!token && llDetectedKey(0) == llGetOwner())
 +        {
 +            oTime = [];
 +            bTime = [];
 +            llSetTimerEvent(1.0);
 +            token = 1;
 +            llOwnerSay("On!");
 +        }
 + 
 +        else if (token && llDetectedKey(0) == llGetOwner())
 +        {
 +            llSetTimerEvent(0);
 +            token = 0;
 +            llOwnerSay("Off!");
 +        }
 +    }
 + 
 +    timer()
 +    {
 +        bTime = oTime;
 +        BuildClock();
 +        displayBDC();
 +    }
 +}
 +</code>
  
Navigation

Alternative Startseite
Helpdesk
Links
Maps
Radio
Suchmaschine


Drucken/exportieren