Seite 1 von 1

Chatlog vom 21.07.13 Skript-Kurs

BeitragVerfasst: So 21. Jul 2013, 15:30
von Anette
Hier der Chatlog des heutigen Skript-Kurses. Für die bessere Lesbarkeit habe ich einige Zeilen entfernt und kleinere Tippfehler korrigiert.
Vielen Dank an Fuu für diesen Kurs und dafür, dass er ihn sogar auf deutsch gehalten hat - very appreciated :-)

[03:56] Fuu Barr: hello everybody
[03:56] Fuu Barr: come on, take off yer shoes and join me on the grass!
[03:57] Fuu Barr: please join me on the grass :) that way i'm certain everybody can hear me :)
[04:00] Fuu Barr: okay es seht aus das allen hier deutsch sprechen... also muss ich fragen wass besser ist: Gutes English oder Schlechtes Deutsch? :)
[04:00] Try Etzel: lieber schlechtes deutsch
[04:00] Scarlett Earp: schlechtes deutsch ..lacht ist besser als wie übersetzer deutsch
[04:01] Fuu Barr: okay - ich wirdt es auf deutsch versuchen, und ich verzeie mich schon uber namefalle, buchstaben usw.
[04:03] Fuu Barr: okay - fangen wir mal an!
[04:03] Fuu Barr: Also vielleicht sollte ich mich erstmal vorstellen
[04:04] Fuu Barr: ich bin Fu Barr. Seit 2007 Einwohner von SL->OSGrid->Metrogrid
[04:04] Fuu Barr: auf Metrogrid konnte ich nicht 'Fu' sein, also bin ich 'Fuu'
[04:04] Fuu Barr: :)
[04:05] Fuu Barr: keine frust... LOL
[04:05] Zak Spot: ah okay its no problem to change that later if you want to ^^
[04:05] Fuu Barr: Außerdem baue ich gerne.
[04:05] Fuu Barr: Insbesonders mit 'reinen Prims'.
[04:06] Fuu Barr: Also kein Mesh und Sculpties nur fur Bäume usw. organische Formen für den Garten.
[04:06] Fuu Barr: Dass heißt nicht dass ich mich nicth in Blender auskenne, aber ich mag das Bauen 'in World' sehr.
[04:08] Fuu Barr: Also das ist im kurzen mein Hintergrund.
[04:08] Fuu Barr: So, was werden wir im diesen Kurs tun?
[04:08] Fuu Barr: 1. Basis begreifen im Programmieren
[04:09] Fuu Barr: 2. einige Beispiele
[04:09] Fuu Barr: 3. und viel Übung
[04:10] Fuu Barr: Vielleicht ist es besser, ich rede weniger und wir fangen mit einem kleinen Beispiel an...
[04:10] Fuu Barr: Bitte rezzen sie alle einen Würfel.
[04:11] Fuu Barr: Okay - ich werde auch einen Würfel rezzen und wir werden danach etwas lesen und sehen uber Skripte.
[04:12] Fuu Barr: 1. Alle Skripte in OpenSim oder SL sind an einen Prim gekoppelt
[04:12] Fuu Barr: ohne Prims gibt is keine skripte.
[04:13] Fuu Barr: 2. Skripte 'leben' in dem Prim in dem sie gespeichert sind
[04:13] Fuu Barr: 3. Wenn man den Prim wegnimmt... ist es auch aus mit dem Skript.
[04:16] Fuu Barr: Okay - also jetzt sollte klar sein, dass es ohne einen Prim kein Skript gibt. Zeit unser erstes Skript mal anzusehen
[04:16] Fuu Barr: Öffnet bitte den 'Inhalt' Tab in dem 'Baumenü'
[04:16] Fuu Barr: Da seht ihr einen Knopf 'Neues Script'
[04:17] Fuu Barr: Bitte drücken, und das erstellte Skript öffnen
[04:18] Fuu Barr: Okay - ich nehme an, wir haben jetzt alle den Editor offen, und sehen das 'Basis' Skript.: default { etc etc.
[04:19] Fuu Barr: Gut. also jetzt werden wir das Skript 'lesen' - für die Nicht-Programmierer unter uns: denkt, es ginge um ein Gedicht.
[04:19] Fuu Barr: So wie bei allen Gedichten gibt es es 'Form' und 'Inhalt'
[04:19] Fuu Barr: Zum Beispiel, ein Haiku hat 15 Worte und 3 Zeilen. Haiku = japanische Gedichtform (Anm. d. Redaktion)
[04:21] Zak Spot: Wikipedia sagt: Der Haiku gilt zusammen mit dem Senryū als die kürzeste Gedichtform der Welt. Formal sind die beiden Formen identisch. Während das Haiku aber mehr der Natur zugewandt ist, befasst sich das Senryū mehr mit dem Persönlichen, dem Emotionalen.
[04:20] Fuu Barr: So hat auch LSL, die Sprache die wir zum Skripten benutzen, auch eine 'Form'
[04:21] Fuu Barr: In LSL hat das 'Gedicht' die Form von Kapiteln
[04:21] Fuu Barr: Jedes Kapitel heißt ein 'state'
[04:22] Fuu Barr: Ein langes LSL 'Gedicht' (Programm) hat mehrere states
[04:23] Fuu Barr: Aber so wie bei ein Buch, kann man nur EINEN state zur Zeit lesen
[04:23] Fuu Barr: ein Kapitel, oder ein folgendes Kapitel, aber nie zwei gleichzeitig
[04:24] Fuu Barr: Dennoch, weil das Skript in ein Fenster geschrieben wird.... werden die Kapitel meistens hineinander aufgeschrieben.
[04:25] Fuu Barr: Also mehrere states können in einem Skript aufgezeichnet sein, aber das heißt nicht, dass sie alle zugleich 'laufen' im Rechner.
[04:25] Fuu Barr: Nun - Zeit um uns innerhalb eines 'state' umzusehen.
[04:26] Fuu Barr: Die Leute bei Linden Lab hatten nicht soviel Fantasie also nannten sie den Anfangs-state: "default"
[04:27] Fuu Barr: Und LSL hat die Form, dass alle states mit einer 'geschweiften Klammer' (Bracket) anfangen und enden...
[04:27] Fuu Barr: Also ist der einfachste state in lsl:
[04:27] Fuu Barr: default { }
[04:28] Fuu Barr: Und wenn ich dazu einen zweiten state mache:
[04:28] Fuu Barr: default {}
state2 {}
[04:29] Fuu Barr: Letztes Beispiel:
[04:29] Fuu Barr: default { }
state2 { }
state3 {}
[04:30] Fuu Barr: Ich hoffe, dass die Schreibweise der 'states' deutlich ist...
[04:30] Fuu Barr: Name Klammern
[04:30] Fuu Barr: default { }
[04:30] Fuu Barr: Okay... jetzt müssen wir uns fragen was nun?
[04:31] Fuu Barr: Sehr schön, dass wir Kapitel haben, aber wir möchten auch eine Story 'lesen'
[04:31] Fuu Barr: Wie wäre es mit einer Handlung?
[04:32] Fuu Barr: Also - hier ist meine Handlung fur meine Story: Ein Prim wird in der Welt gerezzt.
[04:33] Fuu Barr: Wie alle guten 'Regisseure' muss ich meinen Schauspielern im Text Hinweise und Anweisungen geben.
[04:33] Fuu Barr: Prim = Schauspieler
[04:34] Fuu Barr: Erste Hinweis: Beim Anfang des Stücks sage, dass du bereit bist.
[04:35] Fuu Barr: Und jetzt ist klar, was im Skript steht:
[04:35] Fuu Barr: Am Anfang des state, sag: "Script running"
[04:36] Fuu Barr: Es fällt uns auf, dass auch diese Zeilen umgeben sind mit 'Klammern'
[04:36] Fuu Barr: Also einmal zuruck zu der Gedicht Metapher: Klammern {}, () und ; sind FORM
[04:37] Fuu Barr: default state_entry und llSay sind Anweisungen vom Regisseur und 0 und Script running ist INHALT
[04:40] Fuu Barr: Innerhalb eines states muss der Regisseur = Skripter zwei Arten von Hinweisen geben
[04:40] Fuu Barr: 1. wie das Skript in einem bestimmten state mit 'events' umgeht
[04:41] Fuu Barr: 2. was das Skript 'tut'
[04:42] Fuu Barr: Es hört sich blöd an, aber es ist sehr wichtig am dieser Stelle zu begreifen
[04:42] Fuu Barr: LSL programming = Handling Events
[04:42] Fuu Barr: Also sehen wir uns mal einige 'events' an:
[04:43] Fuu Barr: Ein state fängt an:
[04:43] Fuu Barr: state_entry()
[04:43] Fuu Barr: ich drücke auf den Prim:
[04:43] Fuu Barr: touch_end()
[04:43] Fuu Barr: den prim hört etwas im chat:
[04:43] Fuu Barr: listen()
[04:44] Fuu Barr: usw. gibts es ein ganze liste von 'events'
[04:44] Fuu Barr: Prim hat sich geändert:
[04:44] Fuu Barr: changed()
[04:45] Fuu Barr: In diesen einfachen Beispielen haben wir nur einige events nötig: touch_end() und state_entry()
[04:45] Fuu Barr: Also soweit im Moment zu den events...
[04:45] Fuu Barr: Jetzt das letzte Teil des Puzzles: functions
[04:46] Fuu Barr: Functions sind die Anweisungen vom Skripter
[04:46] Fuu Barr: an den Prim und sie stehen in dem Skript
[04:47] Fuu Barr: so ist llSay() die Anweisung etwas zu 'sagen'
[04:47] Fuu Barr: oder llListen() die Anweisung zu zu hören
[04:47] Fuu Barr: Und eine besonders hilfreiche Function ist: llOwnerSay()
[04:47] Fuu Barr: Bitte ändern sie alle das llSay in llOwnerSay
[04:48] Fuu Barr: Der Effekt ist, dass nur der Owner eines Skriptes das Gesagte hören kann.
[04:48] Fuu Barr: Oder genauer: nur der Owner des Prims
[04:49] Fuu Barr: Aus llSay(0, "blabla") wird: llOwnerSay("blabla");
[04:49] Fuu Barr: Und hier ein Frage an alle - wohin ist denn die '0' verschwunden?
[04:49] Fuu Barr: llSay(0... llOwnerSay(...
[04:50] Fuu Barr: weil llSay die generelle Anweisung ist etwas zu sagen, muss die Funktion auch wissen in welchem Kanal sie 'sprechen' soll
[04:51] Fuu Barr: llOwnerSay weiss gleich, wer den Text 'hören' soll - nur der Owner, also ist es unnötig den Kanal mit anzugeben
[04:52] Fuu Barr: Sachen wie 0 und 'script running' heißen beim Programmieren 'parameter'
[04:53] Fuu Barr: Wenn eine Funktion Daten benötigt um gut zu funktionieren, übergibt man die Daten an die Funktion mittels einer 'Parameter Liste'
[04:53] Fuu Barr: etwa so:
[04:53] Fuu Barr: llSay( parameter1, parameter2)
[04:53] Fuu Barr: llSay(kanal, text)
[04:53] Fuu Barr: llSay(0, "Script is running")
[04:54] Fuu Barr: Bitte beachten: Zahlen haben KEINE Anführungszeichen "", aber Text BENÖTIGEN "".
[04:54] Fuu Barr: 2 3 4 5 6 798 - Ziffern
[04:54] Fuu Barr: "2" "3" "4" "5" "6" "798" - Text
[04:55] Fuu Barr: 2 * 2 = 4 gut
[04:55] Fuu Barr: "2"x"2"="4" falsch
[04:55] Fuu Barr: Letzer Hinweis fur diese Sitzung:
[04:56] Fuu Barr: Jede Anweisung wird mit einem Semikolon beendet:
[04:56] Fuu Barr: ;
[04:56] Fuu Barr: llSay(0, "bla bla"):
[04:56] Fuu Barr: ;
[04:56] Fuu Barr: ;
[04:56] Fuu Barr: ;
[04:56] Fuu Barr: ;
[04:56] Fuu Barr: Ohne ; kann der Prim nicht begreifen, wo das Ende der Anweisung ist
[04:57] Fuu Barr: Zwischen den Parameter einer Parameter Liste steht dagegen ein Komma
[04:57] Fuu Barr: ,
[04:57] Fuu Barr: ,
[04:57] Fuu Barr: ,
[04:57] Fuu Barr: ,
[04:57] Fuu Barr: Okay - soweit für heute - ich muss in 3 Minuten zu einem RL-Treffen
[04:57] Fuu Barr: aber ich bin später wieder in World - please feel free to friend me and to ask me questions in IM.

Re: Chatlog vom 21.07.13 Skript-Kurs

BeitragVerfasst: Mo 29. Jul 2013, 19:38
von Anette
Hallo,
ich setze noch mal das Script dafür mit ein.
Code: Alles auswählen
default
{
    state_entry()
    {
        llSay(0, "Script running");
    }
}

Gruß
Anette