Silberwelten Forum

Normale Version: Resetfester Besucherzähler mit Einmal Soundausgabe pro AVA
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
P429 Resetfester Userzaehler mit  EinmalSound pro AVA

Hier eine Variante des Gruss Bot Scriptes der anstelle der Textausgabe einmalig einen Sound ausspielt.

Bitte die Detailierte Anleitung des Gruß Bots hier lesen wenn ihr mehr Info braucht:
https://service-silberwelten.de/showthre...482#pid482

Ansonsten einen transparenten phantom Primwürfel erstellen.
Nun die Sounddatei hinein werfen, und dann das Script rein. Fertig.


Code:
// P429 Resetfesten Besucherzähler der einmal pro Ava einen Sound abspielt    by Tron 09/11/2021   V1.0
// Der dauerhafte BesucherZähler ist im Beschreibungsfeld des Prims untergebracht.
// Bei Scritptstart wird dieses ausgelesen, und bei jedem neuen Besucher wieder um 1 erhöht zurückgeschrieben.
// Das Script merkt sich nur den jeweils letzen User um diesen nicht doppelt zu Grüßen und Zählen.

string  lastuser;
integer usercounter = 0;
float   lautstaerke = 1.0;  // Werte 0.1 bis 1. In Opensim aber scheinbar ohne Funktion.

default
{
    state_entry()
    {
        if (llGetInventoryNumber(INVENTORY_SOUND) < 1) llOwnerSay("es wurde kein Soundfile im Prim erkannt");
        llVolumeDetect(TRUE);
        usercounter  = (integer)llGetObjectDesc();                   // Prim Beschreibungsfeld auslesen und in Zahl wandeln
        if (!usercounter) {llSetObjectDesc( (string)usercounter );}  // Prim Beschreibungsfeld mit 0 initialisieren wenn kein gültiger Eintrag vorhanden
    }


    collision_start(integer total_number)
    {
        string user = llDetectedKey(0);
        string name = llGetDisplayName(user);

        if(name != lastuser)
        {
            usercounter++;
            llSetObjectDesc( (string)usercounter );
            llTriggerSound( llGetInventoryName(INVENTORY_SOUND, 0), lautstaerke); // es wird das 1. Soundfile im Inventar gespielt das gefunden wird.
            lastuser = name;
        }
    }
}

Dieses Script läuft in Opensim und SL. In Sl solte auch die Lautstärke Regelung gehen.
Für Opensim gäbe es auch eine OSSL Variante aber die würde wiederum nur auf Grids laufen die den OSSL Befehl freigeschalten und berechtigt haben.


Viel Spaß damit Lukas!

Gruß Tron