Allgemein
TES V: Skyrim DLC Dawnguard DLC Hearthfire DLC Dragonborn Mods & PlugIns zu Skyrim
The Elder Scrolls Online
TES IV: Oblivion Shivering Isles Mods & PlugIns
TES III: Morrowind
Tamriel


Global Scripts

translated from cs.elderscrolls.com


Wenn du mit dem Skripten in The Elder Scrolls III: Morrowind vertraut bist, wird dir ein Konzept namens "Global Scripts" bekannt vorkommen.

In Oblivion müssen alle Skripte an irgendeine Art Objekt gehängt werden. Hierdurch entsteht natürlich ein Problem: Wie kann man ein Objekt erstellen, dass immer in der Memory vorhanden ist und das Skript immer wieder laufen lässt? Die Antwort ist: Eine Quest erstellen, anschließend das Skript als Quest-Skript definieren.


1. Was ist ein Global Script?


Ein Global Script ist ein Skript, dass immer während des Spiels laufen muss, um erweiterte Skripttechniken ausführen zu können. Es gibt viele Dinge, für die sie benutzt werden, unter anderem: Änderung des Ortes von Objekten innerhalb oder außerhalb der Havok Physics Engine; dynamische Platzierung von Kreaturen und Objekten; und größere Veränderungen von NPCs (wie beispielsweise jeden einzelnen NPC im Spiel in Flammen aufgehen zu lassen...).


2. Sollte ich ein Global Script benutzen?


Wenn du schon so fragst: Nein!
Global Scripts sind uneffizient und nicht die empfohlene Lösung für die meisten deiner Probleme. Wenn du dich bei der Erarbeitung eines Global Scripts wiederfindest, sollte du versuchen einen Weg zu finden, den Umfang deines Skripts irgendwie zu reduzieren - wenn dein Skript beispielsweise nur NPCs in einer bestimmten Taverne betrifft, könntest du genauso gut ein Skript nutzen, das an einen Activator gehängt wird und diesen Activator schließlich in der Taverne platzieren.
Global Scripts müssen die ganze Zeit laufen - egal, ob sie bei jedem Frame Kalkulationen durchführen, was allerdings bedeutet, dass sie viele Ressourcen deines Computer fressen, die besser in die hübsche Grafik von Oblivion investiert worden wären.


3. Anleitung - Schritt für Schritt


a) Erstelle eine Quest
Bevor du dein Skript schreiben kannst, musst du eine Quest schreiben, der du es anhängen kannst. Im Menü gehst du einfach auf "Character" -> "Quests" und landest im Quest-Fenster. Nun machst du einen Rechtsklick auf die Liste auf der linken Seite des Fensters und wählst "New" aus, um eine neue Quest zu erstellen. Wähle einen guten Namen für die Quest aus und klicke auf OK.
Nachdem du die Quest fertig hast, klickst du im Quest-Fenster neben "Script" auf den Button "...". Hierdurch öffnet sich der Skript-Editor.


b) Das Skript erstellen
Das ist eine simple Programmierangelegenheit. Sieh' dir die Skriptartikel für alle nötigen Informationen an. Du wirst float fQuestDelayTime in deinem Skript definieren müssen. Gib' ihm einen geringen Wert (bspw. set fQuestDelayTime to 0.001), damit dein Skript jeden Frame durchgearbeitet wird.

Wenn du den Inhalt des Skripts fertig hast, wählst die im Dropdown-Menü "Script Type" "Quest" aus und speichere das Skript. Hier würden dir schwerwiegendere Fehler sofort aufgezeigt. Sollte das passieren, musst du die Fehler erst korrigieren. Nun kannst du das Skript an die Quest anhängen!


c) Beispiel für ein Global Script

scriptname DerSkriptNameKommtHierHin

float fQuestDelayTime
;Ist diese Variable definiert, kann man einstellen, wie schnell Oblivion
;das Quest-Skript durcharbeiten soll. Wenn du ein Global Script hast, dass
;präzise ausgeführt werden muss, ist diese Variable sehr wichtig.

;Alle anderen Skript-Variablen kommen hierhin.
;***SKRIPT-VARIABLEN***


begin GameMode
;Voraussetzungen, unter denen das Skript nicht ausgeführt werden soll, kommen hier hin
;Benutze den "if ( condition )"-Befehl und dann den "return"-Befehl.
;***VORAUSSETZUNGEN ABBRECHEN***

set fQuestDelayTime to 0.001
;Hierdurch geben wir an, dass wir wollen, dass das Skript jede Milisekunde ausgeführt wird
;Da kein Computer Oblivion bei 1000 Frames pro Sekunde abspielen kann, bedeutet
;das hier, dass das Skript einmal pro Frame ausgeführt wird (normalerweise
;etwas länger als eine Milisekunde).
;Passe diesen Wert deinem Skript an. Vergiss' nicht, dass die schnellste
;Möglichkeit, ein Skript abzuspielen, einmal pro Frame ist. Schneller geht
;es nicht.

;Der tatsächliche Inhalt deines Skript kommt hierhin.
;***SKRIPT-INHALTE***


end GameMode


d) Das Skript an die Quest anhängen
Nun, da du dein Skript fertig gestellt hast, kannst du es der Quest anhängen. Wähle dein Skript einfach im Script-Dropdown-Menü im Quest-Fenster aus und klick' anschließend auf OK.
Gratulation! Du hast nun ein Global Script.


Zurück

geschrieben von Katan


Login


Passwort vergessen?
Noch nicht registriert?
PotM
Umfrage
Werdet ihr euch ESO: Summerset kaufen?



(Ergebnis anzeigen)

Umfragenarchiv
Shop
Statistik
Online seit Januar 2007
7.784.073 Besucher
43.519.764 Klicks
225 Besucher heute
681 Klicks heute
1.262 News
697 Artikel
5 Besucher online

News-Feeds:

RSS 0.91
RSS 1.0
RSS 2.0
Atom 1.0

Twitter
Folge uns auf Twitter, um stets auf dem Laufenden zu sein.
WoESde @ Twitter
World of Players Netzwerk


Kein Kopieren von Inhalten oder Bildern ohne Genehmigung
Powered by Frogsystem 2 © 2007 - 2014 Frogsystem-Team