Deutsches Second Life LSL: HomePage/FunctionCategories/Dataserver ...

Home Page | Seiten Index | Letzte Aenderungen | Letzte Kommentare | Benutzer | Registrierung | Anmeldung:  Passwort:  

dataserver




dataserver(key queryid, string data)


Dieses Event tritt ein, wenn die angeforderten Daten an das Script zurückgesandt wurden. Daten können über die llGetNotecardLine, llGetNumberOfNotecardLines, llRequestAgentData, llRequestInventoryData, und llRequestSimulatorData? Funktion angefordert werden.


Der queryid Parameter ist der Schlüssel, welcher bei jeder Anforderung mitgeliefert wird. Er dient der eindeutigen Identifizierung. Der data Parameter ist die entsprechend angeforderte Information (siehe dazu die Bescheibung zur Anforderung von Informationen und wie diese interpretiert werden). Das Datenserver event wird für alle Scripte des Prims behandelt. Daher ist es unbedingt notwendig die queryid zu überprüfen.


Antworten des Datenservers müssen nicht in der selben Reihenfolge zurückgeliefert werden, in welcher sie angefordert wurden. Wenn also mehrere Anfragen gestellt wurden, solltest du unbedingt die queryid vergleichen, um die entsprechend richtigen Daten zu bekommen. Wenn aber nur eine Anfrage gestellt wurde und nur ein Script des Prims das Datenserver event benutzt, entsteht dieses Problem nicht.


Notiz: Datenserver Anforderungen behandeln alle Datenserver events in allen Scripten des selben Prims, von welchem die Anfrage gestellt wurde. Datenserver events die in Scripten von anderen Prims vorkommen und mit dem selben Objekt verknüpft sind, werden nicht behandelt. Daher muss dir vorher die Frage klar sein, ob das Prim der Ursprung oder nur ein Knoten ist.


Denk dran: Fehlgeschlagene Anfragen werden ohne jegliche Fehlerantworten unter den Tisch fallen gelassen.
Die timer()-Funktion könnte dieses Problem beheben, indem nach einer bestimmten Zeit geprüft wird, ob der Dataserver eine Antwort geliefert hat.
Weiterhin solltest du daran denken, dass das Datenserver Handling eine sehr langsame Funktion darstellt.


Funktionen:

FunktionBeschreibung
llGetNotecardLineFordert den Inhalt einer Zeile einer Notecard an.
llGetNumberOfNotecardLinesFordert die Anzahl der Zeilen einer Notecard an.
llRequestAgentDataFordert den Online-Status, den Namen, Datum der Accounterstellung oder Bewertung eines Avatars an.
llRequestInventoryDataZurzeit auf das Herausfinden der Position einer Landmarke beschränkt.
llRequestSimulatorData?Fordert Status, Position oder Bewertung einer Sim an.

Beispiel:

key Request;

default 
{
    state_entry() 
    {
        Request = llRequestAgentData(llGetOwner(), DATA_BORN); // fordert das Datum der Accounterstellung an
    }
    
    dataserver(key queryid, string data) 
    {
        if(Request == queryid)
            llSay(0, "Du wurdest am " + data + " geboren.");
    }
}




Home | Funktionen | Events


Zu dieser Seite gibt es keine Dateien. [Zeige Dateien/Upload]
Kein Kommentar. [Zeige Kommentare]