• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Mitteilung bei Entering Chatrange

Nea Narstrom

Aktiver Nutzer
Da ich seit neuestem mit dem Firestorm ständig abschmiere, bleibt mir wohl in Zukunft nur noch der Linden Viewer.
Aber ich finde keine Option, bei der ich einstellen kann, dass ich Mitteilung erhalte, sobald jemand in meinen Chatrange kommt.

Für's Rollenspiel finde ich das total wichtig.
Weiß jemand ob es geht und wenn ja, wie?

Herzlichen Dank fürs Lesen

Nea
 
Wenn du wirklich nur wissen willst, wer deine Chatrange betritt, dann kann das ein simples Script erledigen. Sammle per Sensor die UUIDs der Avatare im Umkreis von 20 Metern. Halte sie in einer Liste fest, damit du nicht pausenlos dieselben Namen gemeldet bekommst. Und über die UUID kannst du bei Bedarf weitere Informationen über den jeweiligen Avatar erhalten, und dich per Sound auf das Erscheinen bestimmter Avatare aufmerksam machen lassen, den niemand anderes hört, wenn du das Attachment als HUD trägst.
 
Im LL-Viewer gibt es diese Funktion nicht. Bleibt nur ein entsprechender TPV oder eben ein Zusatztool, wie schon vorgeschlagen.

Igelchen
 
In dem Viewer mit dem CHUI oder wie das heisst, sollten die Leute in der Liste links auftauchen, sobald die Leute in die Chatrange auftauchen. Also ab Viewer 3.5.x sollte das so sein. Aber kein Sound o.ä. Du kannst dann noch bestimmen, wie die sortiert werden, nach Name und nach Aktivität.
 
Cool VL zeigt mir Avatare und deren Distanz über den Punkt "Radar" an.

Plus einige Zusatzinfos/-funktionen:

iiiijkj4e35.jpg
 
Zuletzt bearbeitet:
@ Durandir

In den Optionen deines Radars kannst du noch den Intervall einstellen, wie oft der Radar die Region nach Avataren absucht.
Grundeinstellung ist 4 mal pro secunde, also bei gescripteten Radar's sind alle am meckern, wenn der Sensor zu schnell laeuft. Bei dem Viewer ist es nicht anders, drum habe ich ihn auf 1 mal pro secunde gestellt. Das ist zwar spuerbar langsamer (wenn man darauf achtet) aber es belastet die Region gleich 75% weniger als vorher.

LG
Dae
 
/me seufzt

Übel!
Gibt es irgendwo eine List mit 3rd Party Viewern, die eine Mac Version bieten UND in ZUkunft das Serverside Baking hinbekommen?
 
Du kannst es als HUD tragen. Ich kann dir eine Alarmfunktion einbauen, wie oben schon erwähnt. Wenn du etwas scripten kannst, habe ich ich schnell fertig gestellt. Dann kannst du es an deine Bedürfnisse anpassen.
 
Null. Ich kann null scripten.
Also der Firestorm sagt mir im open chat fenster - xy entering chatrange und xy has left chatrange. damit bin ich voll zufrieden.
So weiß ich im RP wer mich noch hört und wer nicht mehr.
 
Ich bastel dir erstmal was und dann sehen wir ja, ob das ok ist. Im Grunde ist es nichts besoderes.

Ich kann es hier posten oder dir auch inworld geben. Ich mach mich mal an die Arbeit ;-)
 
Vielen Dank!

Kannst es ruhig posten, dann haben andere auch was davon. Solange ich es so eins zu eins in das Scriptteil reinfügen kann.
 
Hier ist das Gerüst. Auf die Schnelle konnte ich kein Fehlverhalten feststellen.

In state-entry kannst du in alarmlisteIDL die Keys der Avatare eintragen, bei deren
Erscheinen / Verschwinden du akustisch informiert werden willst.

Ich habe drei Sounds vorgsehen. Die Namen (die du nat. ändern kannst) sind:

alarmsound_neu : Wenn Avatar erscheint
alarmsound_weg : Wieder verschwindet
alarmsound_leer : Niemand mehr im Bereich ist

In der Var. reichweite kannst du den Bereich einstellen.





Code:
// Avatarscanner-Demo von argus Portal



list avatare_UUIDs_neueTPL;
list avatare_UUIDsL;
list alarmlisteIDL;

integer an;

float reichweite;





verwaltung(integer gefunden)
{
    integer neuindex;
    key bestandID;
    key neuID;

    integer len;
    integer i;

    
    
    // Scan auf bereits erfasste Avatare

    len = llGetListLength(avatare_UUIDsL);

    for (i=0;i < len;i++)
    {
        bestandID = llList2Key(avatare_UUIDsL,i);

        neuindex = llListFindList(avatare_UUIDs_neueTPL,[bestandID]);

        if (neuindex == -1)
        {   // Name war da; jetzt nicht mehr
            llOwnerSay("verschwunden: " + llKey2Name(bestandID));
            avatare_UUIDsL = llDeleteSubList(avatare_UUIDsL,i,i);
            len--;

            if (llListFindList(alarmlisteIDL,[bestandID]) != -1)
            {
                llPlaySound("alarmsound_weg",1);
            }
        }
    }


    // Scan auf neue Avatare
    for (i=0;i < gefunden;i++)
    {
        neuID = llList2Key(avatare_UUIDs_neueTPL,i);

        if (llListFindList(avatare_UUIDsL,[neuID]) == -1)
        {   // Avatar ist neu

            llOwnerSay("erschienen: " + llKey2Name(neuID));
            avatare_UUIDsL += [neuID];

            if (llListFindList(alarmlisteIDL,[neuID]) != -1)
            {
                llPlaySound("alarmsound_neu",1);
            }

        }
    }

}





default
{
    state_entry()
    {
        an = FALSE;
        reichweite = 20.0;

        // Dies hier ggf. auskommentieren und die Zeilen 
        // hierdrunter freischalten
        alarmlisteIDL = [];
        
        
        // alarmlisteIDL = [(key)"hier key eintragen"];
        // alarmlisteIDL += [(key)"hier key eintragen"];
        // usw.

    }

    on_rez(integer s)
    {
        llResetScript();
    }

    touch_start(integer nr)
    {
        if (an == FALSE)
        {
            an = TRUE;
            avatare_UUIDsL = [];
            llSetText("an",<1,1,1>,1);

            llSensorRepeat("",NULL_KEY,AGENT,reichweite,PI,1.0);
        }
        else
        {
            an = FALSE;
            llSetText("",<1,1,1>,1);
            llSensorRemove();
        }
    }

    sensor(integer nr)
    {
        integer i;

        avatare_UUIDs_neueTPL = [];

        // Temp.Liste füllen

        for (i=0;i!= nr;i++)
        {
            avatare_UUIDs_neueTPL += [llDetectedKey(i)];
        }

        verwaltung(nr);
    }

    no_sensor()
    {
        if (llGetListLength(avatare_UUIDsL) != 0)
        {
            avatare_UUIDsL = [];
            llOwnerSay("Niemand mehr in Reichweite");
            
            if (llGetListLength(alarmlisteIDL) != 0)
            {
                llPlaySound("alarmsound_leer",1);
            }
        }
    }

}


Wenn du noch Fragen hast, helfe ich gerne.
 
Also das hier:
In state-entry kannst du in alarmlisteIDL die Keys der Avatare eintragen, bei deren
Erscheinen / Verschwinden du akustisch informiert werden willst.

Ich hätte gern, dass alle Avatare gemeldet werden. Nicht nur bestimmte.
 

Users who are viewing this thread

Zurück
Oben Unten