Ergebnis 1 bis 20 von 36

Thema: G.E.C.K. Tutorial - Einführung in das Skripten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    ich hab 2 Lichtquellen in meinem Raum, Einmal ein Großes Fenster nach draußen (Sonnenlicht) und 6 Lampen (künstliches Licht). Da die Leute von Vault Tec sehr sparsam mit Energie umgehen, geht ein NPC um 5 Uhr Morgens zum Schalter und macht die 6 Lichter aus, soweit ist das mein Problem. Ich hätte gern, dass mein Sonnenlicht, Ebenfalls den Raum erfüllt, und zwar nicht permanent auch wenn es draußen dunkel ist sondern wie meine WastelandSkyplane,eine rechteckige Fläche die den Wastelandhimmel in Interiorbereichen nachahmt.

    hab die Lösung selber gefunden, es gibt eine Lichquelle die "Sunlight" heisst, bei der kann man unter dem reiter emittance unter Exterior Light einen Himmel auswählen

    Geändert von Shatra (17.03.2009 um 19:34 Uhr)

  2. #2
    Es ist nur ein REF nötig, wenn es eine Kette aus Lichtern wird, die alle gleichzeitig an oder aus gehen sollen. Der XMarker ist elegant, aber nicht unbedingt nötig.

    Ein beliebiges Licht als REFerenz reicht auch, der Rest der Lichterkette wird als Enabled Parent mit dieser Referenzlichtquelle verbunden.

    Das REFerenz-Licht wird dann vom Schalter enabled oder disabled.

    Die Abfrage in den SKRIPTS ist oft nur für die REFerenz, wodurch man diese nicht extra bennen muss, weil man den Schalter mit der Lichtquelle direkt verlinkt.

    Das SKRIPT fragt dann ab, welcher REFERENZ-Punkt mit dem Schalter verbunden (Linked) ist. Der Schalter muss dieses SKRIPT integriert haben.

    Einen ganz einfachen Lichtschalter kann man auch über ein Terminal machen. Die if Abfrage ist eigentlich nur bei einem Schalter nötig, da der nur eine Funktion aktivieren hat und das SKRIPT entscheiden muss, ob das Licht gerade an oder aus ist. Bei einem Terminal kann man beliebige Menü-Punkte machen, zwei reichen aus.

    1. Einfach eine Lichtquelle als z.b. LichtREF benennen.
    2. Die anderen Lichtquellen, die auch ein und aus gehen sollen mit dieser Lichtquelle (LichtREF) über Enabled Parent verbinden.
    3. Ein Terminal als Kopie anlegen.
    4. Einen Punkt - "Licht an" nennen und in die SKRIPT-Spalte eintragen: LichtREF.enable
    5. Einen Punkt - "Licht aus" nennen und in die SKRIPT-Spalte eintragen: LichtREF.disable

    Wenn man jetzt das Terminal im Spiel aktiviert, müssen die beiden MenüPunkte Licht an und Licht aus auftauchen. Wenn man dann den jeweiligen MenüPunkt anklickt, sollte das Licht an oder aus gehen.

    Will man das Licht erst mal aus haben, klickt man bei der Lichtquelle, die man LichtREF benannt hat, noch den Punkt disabled an, wodurch das Licht erst mal deaktiviert ist. Alle weiteren Lichtquellen, die über Enabled Parent mit LichtREF verbunden sind, machen genau das, was diese Lichtquelle macht. Ist sie aus, sind die anderen auch aus. Ist sie an, sind die anderen auch an.

    Lampen kann man auch über den Befehl enable oder disable verschwinden oder auftauchen lassen. Will man zwischen verschiedenen Lampen wechseln, kann man beliebige weitere Punkte anfügen. z.b.

    Licht an:
    LichtREF.enable
    LampenaltREF.disable
    LampenneuREF.enable

    oder

    Licht aus:
    LichtREF.disable
    LampenaltREF.enable
    LampenneuREF.disable

    Es sollte natürlich verschiedene Lampen-Grafiken für an und aus vorhanden sein, die Standardlichtquellen sind glaube ich alle an (so ganz dunkel werden sie nicht wirklich). Die Lampen müssen im Editor übereinander geschoben werden, was im Spiel keine Grafikfehler erzeugt, wenn die LampenneuREF im Item-Menü auf disabled steht (damit nur eine Grafik z.b. LampenaltREF zu sehen ist). Dann kann man noch Sound anfügen mit playsound.xxxxx usw...


    Kleine Hilfe oder Erklärung der üblichen SKRIPTS:

    ref myself
    ref light
    short toggle

    begin onactivate
    if myself == 0
    set myself to this
    endif
    if light == 0
    set light to myself.getlinkedref
    endif

    Hier wird nur abgefragt ob eine Referenz gesetzt ist. Wenn nicht, wird die mit dem Schalter verlinkte Lichtquelle für das SKRIPT als REF benannt. Damit ist der Schalter beliebig einsetzbar, weil man jede Lichtquelle, die man damit steuern will, immer direkt verlinkt.

    Mit so einem Universallskript kann man einen Schalter mit einer Lichtquelle verlinken, den Schalter kopieren und mit der nächsten Lichtquelle verlinken usw... Die Lichtquellen müssen dazu nicht extra benannt werden, der Link zwischen Schalter und Lichtquelle reicht.

    Mit dem Terminal-Beispiel kann man nur die Lichtquelle, die sich LichtREF nennt ein und aus machen. Dafür muss man das Terminal nicht mit der Lichtquelle verlinken, weil das Spiel/SKRIPT den genauen Namen der REF (Lichtquelle) ja kennt.

    Geändert von EMOD (29.03.2009 um 03:35 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •