Difference between revisions of "User:Daemonika Nightfire/Scripts/Liste"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
==Einfache Beispiele fuer die Verarbeitung von Listen==
==Einfache Beispiele fuer die Verarbeitung von Listen==
Du wirst bemerken, das alle Beispiele eine Owner Abfrage besitzen und das Object umbenennen. Das dient dem zweck die Beispiele Inworld moeglichst unkompliziert zu unterscheiden und zu erkennen wem das entsprechende Object gehoert.
Du wirst bemerken, das alle Beispiele eine Owner Abfrage besitzen und das Object umbenennen. Das dient dem zweck die Beispiele Inworld moeglichst unkompliziert zu unterscheiden und zu erkennen wem das entsprechende Object gehoert.
Im ersten Beispiel sehen wir welche Art Variablen wir in einer Liste eintragen und verarbeiten koennen.
Dabei wird dir auffallen, das eine Variable Fehlt.
Wir koennen zwar Listen zu einer Liste hinzufuegen, jedoch nur die Inhalte und nicht die Liste selbst als ganzes.
{| class="sortable" width="100%" {{Prettytable}}
|- {{Hl2}}
! '''Liste 01'''
|-
||<source lang="lsl2">
key owner;
list everything = [
                    "text",                                // string  (Text)
                    1,                                      // integer  (Ganzzahl)
                    1.0,                                    // float    (Kommazahl)
                    <1.00000,1.00000,1.00000>,              // vector  (Koordinate, Farbe, Offset)
                    <0.00000, 0.00000, 0.00000, 1.00000>,  // rotation (Quaternion)
                    "61ee201a-81cf-4322-b9a8-a5eb8da777c2"  // key      (UUID)
                  ];
default
{
    state_entry()
    {
        owner = llGetOwner();
        llSetObjectName("Listen 01 " + llKey2Name(owner));
    }
    touch_start(integer total_number)
    {
        // Die Nummerierung am Ende der einzelnen Zeilen entspricht dem Index (Stellenwert) in der Liste.
        string Text = llList2String(everything, 0);
        integer Ganzzahl = llList2Integer(everything, 1);
        float Kommazahl = llList2Float(everything, 2);
        vector KFO = llList2Vector(everything, 3);
        rotation Q = llList2Rot(everything, 4);
        key UUID = llList2Key(everything, 5);
       
        llSay(0, "\nText = " + Text +
                "\nGanzzahl = " + (string)Ganzzahl +
                "\nKommazahl = " + (string)Kommazahl +
                "\nKoordinate = " + (string)KFO +
                "\nQuaternion = " + (string)Q +
                "\nUUID = " + (string)UUID);
    }
   
    on_rez(integer Dae)
    {
        llResetScript();
    }
}
</source>
|-
|}

Revision as of 18:58, 30 December 2019

Einfache Beispiele fuer die Verarbeitung von Listen

Du wirst bemerken, das alle Beispiele eine Owner Abfrage besitzen und das Object umbenennen. Das dient dem zweck die Beispiele Inworld moeglichst unkompliziert zu unterscheiden und zu erkennen wem das entsprechende Object gehoert.

Im ersten Beispiel sehen wir welche Art Variablen wir in einer Liste eintragen und verarbeiten koennen.
Dabei wird dir auffallen, das eine Variable Fehlt.
Wir koennen zwar Listen zu einer Liste hinzufuegen, jedoch nur die Inhalte und nicht die Liste selbst als ganzes.
Liste 01
key owner;

list everything = [
                    "text",                                 // string   (Text)
                    1,                                      // integer  (Ganzzahl)
                    1.0,                                    // float    (Kommazahl)
                    <1.00000,1.00000,1.00000>,              // vector   (Koordinate, Farbe, Offset)
                    <0.00000, 0.00000, 0.00000, 1.00000>,   // rotation (Quaternion)
                    "61ee201a-81cf-4322-b9a8-a5eb8da777c2"  // key      (UUID)
                  ];

default
{
    state_entry()
    {
        owner = llGetOwner();
        llSetObjectName("Listen 01 " + llKey2Name(owner));
    }

    touch_start(integer total_number)
    {
        // Die Nummerierung am Ende der einzelnen Zeilen entspricht dem Index (Stellenwert) in der Liste.
        string Text = llList2String(everything, 0);
        integer Ganzzahl = llList2Integer(everything, 1);
        float Kommazahl = llList2Float(everything, 2);
        vector KFO = llList2Vector(everything, 3);
        rotation Q = llList2Rot(everything, 4);
        key UUID = llList2Key(everything, 5);
        
        llSay(0, "\nText = " + Text +
                 "\nGanzzahl = " + (string)Ganzzahl +
                 "\nKommazahl = " + (string)Kommazahl +
                 "\nKoordinate = " + (string)KFO +
                 "\nQuaternion = " + (string)Q +
                 "\nUUID = " + (string)UUID);
    }
    
    on_rez(integer Dae)
    {
        llResetScript();
    }
}