This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Resetfester Besucherzähler mit Einmal Soundausgabe pro AVA
#1
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
Zitieren


Gehe zu:


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