Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ampel.lsl
#3
Licht erweitert für Lichtorgeln und so´n Zeugs.
PHP-Code:
// Farbwechsler, Lichorgel, Psycho
// Variablen für den Farbwechsel
float redValue = 0.0;
float greenValue = 0.0;
float blueValue = 0.0;
float mytime = 0.1;
float helligkeit = 0.1;
float transparenz = 1.0;

// Variablen für Licht Helligkeit und Reichweite etc.
integer anaus = TRUE; // TRUE Ein, FALSE Aus     
vector lichtfarbe =  <1.0, 1.0, 1.0>; // Lineare Farbe in RGB <R, G, B> (<0.0, 0.0, 0.0> = black, <1.0, 1.0, 1.0> = white) Zufall <redValue, greenValue, blueValue>   
float  intensiv = 1.0; // Einstellbereich 0.0 to 1.0     
float  radius = 20.0; // Einstellbereich 0.1 to 20.0     
float  abfallwert = 0.1; // Einstellbereich 0.01 to 2.0 



// Flag, ob der Farbwechsel aktiv ist
integer isColorCycling = FALSE;

// Funktion, um die Farbe zufällig zu setzen
setRandomColor() {
    
// Zufällige Werte für Rot, Grün und Blau im Bereich von 0.001 bis 1.000
    
redValue = llFrand(0.999) + 0.001;   // Zufälliger Wert für Rot im Bereich 0.001 bis 1.000
    
greenValue = llFrand(0.999) + 0.001; // Zufälliger Wert für Grün im Bereich 0.001 bis 1.000
    
blueValue = llFrand(0.999) + 0.001;  // Zufälliger Wert für Blau im Bereich 0.001 bis 1.000
    
    // Setzt die zufällige Farbe
    
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_COLOR, ALL_SIDES, <redValue, greenValue, blueValue>, transparenz, PRIM_GLOW, ALL_SIDES, helligkeit ]);
    
// Licht an
    
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_POINT_LIGHT, anaus, <redValue, greenValue, blueValue>, intensiv, radius, abfallwert ]);
}

default {
    
state_entry() {
        
// Initiale Farbe auf Schwarz setzen (alle Farben 0.0)
        
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_COLOR, ALL_SIDES, <0.0, 0.0, 0.0>, transparenz, PRIM_GLOW, ALL_SIDES, helligkeit ]);
        
// Licht aus
        
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_POINT_LIGHT, FALSE, <0.0, 0.0, 0.0>, intensiv, radius, abfallwert ]);
    }

    
touch_start(integer total_number) {
        
// Umschalten des Farbwechselmodus
        
isColorCycling = !isColorCycling;

        if (
isColorCycling) {
            
// Zufällige Farbe sofort setzen
            
setRandomColor();
            
llSetTimerEvent(mytime);  // Timer für kontinuierliche Farbänderung
        
} else {
            
llSetTimerEvent(0.0);  // Timer stoppen
            // Zurück auf schwarze Farbe setzen, wenn der Wechselmodus gestoppt wird
            
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_COLOR, ALL_SIDES, <0.0, 0.0, 0.0>, transparenz, PRIM_GLOW, ALL_SIDES, helligkeit ]);
            
// Licht aus
            
llSetLinkPrimitiveParamsFast(LINK_ROOT, [ PRIM_POINT_LIGHT, FALSE, <0.0, 0.0, 0.0>, intensiv, radius, abfallwert ]);
        }
    }

    
timer() {
        
// Wenn der Farbwechselmodus aktiv ist, setze alle Farben zufällig
        
if (isColorCycling) {
            
setRandomColor(); // Zufällige Farbe setzen
        
}
    }
} 
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren


Nachrichten in diesem Thema
Ampel.lsl - von Manfred Aabye - 14.11.2024, 17:27
RE: Ampel.lsl - von Manfred Aabye - 14.11.2024, 19:03
RE: Ampel.lsl - von Manfred Aabye - 14.11.2024, 20:36

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste