Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 15 von 15

Thema: Tutorials für das Construction Set

  1. #1

    Tutorials für das Construction Set

    Hier soll eine Liste mit Tutorials folgen, die den Umgang mit dem TES IV Construction Set erläutern. In diesem Thread wird nicht diskutiert. Posts, die kein Tutorial darstellen, werden umgehend gelöscht.

    Link zur Tutorial-Sektion

    1. Mein erster Dungeon / derzeit nicht verfügbar
    2. Skripten
    3. Ein Haus bauen
    4. Anfängertutorial "monströse Schlammkrabbe"
    5. Anleitung zur Generierung eigener Rassen
    6. Wentis dickes Zauber-Tutorial
    7. Wegpunkte - "Edit Cell Path Grid" und "Path Grid Generation"
    8. Wie verändere ich Texturen?
    9. Texturing - Vom Stahlkürass zum Templer-Harnisch <- Auf Wunsch von Lazarus entfernt, da es einige Fehler enthielt.
    10. Modelliertutorial
    11. NPC-Gesicht für Charakter / Charakter-Gesicht für NPC
    12. Quests & Dialoge für Mods & Pros
    13. 2D-Tutorial: Growlfs GIMP-Texturenkochbuch für n00bs
    14. Tutorial zur Landschaftsgestaltung von Trebron
    15. MaxikingWolke22's Tutorial für euer eigenes Sternzeichen-Gleichgewicht
    16. Verwenden verschiedener Sprachen ohne Einsatz meherer *.esp-Dateien
    17. Chucks Tutorial zum erstellen eigener Icons in ~10 Minuten


    Weitere Tutorials:
    1. Growlfs Texturen-Tutorial für GIMP


    Danke an alle, die sich die Mühe machen, mit anderen ihr Wissen zu teilen.

    EDIT/GreyWolf, 14.02.2007: Quest-Mod-Tutorial von ~Ryan~ verlinkt.
    EDIT/GreyWolf, 29.07.2007: Texturen-Tutorial von Growlf verlinkt.
    EDIT/GlasMond, 29.11.2007: Tutorial zur Landschaftsgestaltung von Trebron verlinkt.
    EDIT/Low Post, 27.08.2008: MaxikingWolke22's Tutorial für euer eigenes Sternzeichen-Gleichgewicht von maxiking verlinkt.
    EDIT/Low Post, 19.12.2008: Verwenden verschiedener Sprachen ohne Einsatz meherer *.esp-Dateien von Low Post verlinkt.
    EDIT/Low Post, 30.12.2008: Chucks Tutorial zum erstellen eigener Icons in ~10 Minuten von Chuck Norris (hier geschrieben von SirTroy) verlinkt
    EDIT/Schattenläufer, 15.02.2012: Growlfs Tutorial für Texturen in GIMP hinzugefügt
    Geändert von Schattenläufer (15.02.2012 um 19:22 Uhr)

  2. #2
    Skripten?

    Hiermit möchte ich euch Tutorial präsentieren, welches euch ein wenig in die Welt des Skriptens einführt.

    Zunächst einmal stellt sich die Frage nach dem Sinn und Zweck des Skriptens. Wozu braucht man das? Zunächst einmal sind fast alle Quests in Oblivion durch Skripts gesteuert. Dann eröffnen sich durch das Skripten auch nochmal unzählige Möglichkeiten seine Ideen wahr werden zu lassen. Ihr wollt eine Armee von Ratten um euch scharen? Lernt skripten. Ihr wollt das Wetter beeinflussen? Lernt skripten. Ihr wollt ein unendliches Inferno an Special-Effects in einem einzigen Zauber abfeuern? Lernt skripten.

    Da nun jeder von der Wichtigkeit des Skriptens überzeugt sein sollte, wenden wir uns der Materie zu.
    Je mehr man schon mit Programmiersprachen ,wie VB, PHP oder C++, zu tun gehabt hatte, desto leichter fällt einem auch der Einstieg.

    Für die, die bisher noch nicht in "Kontakt" mit einer der oben genannten Programmiersprachen gekommen ist, hier ein Crashkurs. (Erfahrenere Modder springen zum nächsten Abschnitt)

    Crashkurs


    In der Welt des einfachen Skriptens (in der ich mich zur Zeit auch noch bewege) gibt es ein paar elementare Dinge, die man wissen sollte. Zum Beispiel was Variablen und if-Funkionen sind.

    Mit Variablen sollten die meisten schon einmal in Mathematik zu gehabt haben. Wer es nicht mehr weiß: In Variablen kann man Daten speichern. Man muss sich eine Variable wie einen Container vorstellen, in den man aber nur eine Sache legen gleichzeitig kann. Mit Variablen lassen sehr einfach bestimmte Daten speichern und wieder aufrufen.

    If-Funktionen dienen zum Vergleich. Eine If-Funktion vergleicht zwei Werte miteinander. Da sich das nur schwer erklären lässt, gebe ich hier ein Beispiel.

    Code:
    If x == 1
    	Message "Die Variable X ist 1"
    elseif x != 1
    	Message "Die Variable X ist nicht 1"
    Hier seht ihr, dass durch das If geprüft wird, ob x (eine Variable) gleich 1 ist. Es gibt dabei mehrere Vergleichsmethoden.

    1.== steht für den direkten Vergleich zweier Werte. Also wird die Funktion, die unter der If-Bedingung steht, nur ausgeführt, wenn – wie in unserem Beispiel – x gleich 1 ist.
    2.!= steht für ungleich. Die Funktionen nach dem If werden nur ausgeführt, wenn x ungleich 1 ist.
    3.< Die Funktion wird nur ausgeführt, wenn x kleiner als 1 ist.
    4.> Die Funktion wird nur ausgeführt wenn x größer als 1 ist.
    5.<= Die Funktion wird nur ausgeführt, wenn x kleiner oder gleich 1 ist.
    6.>= Die Funktion wird nur ausgeführt, wenn x größer oder gleich 1 ist.

    Mit && könnt ihr eine zweite Bedingung an die If-Schleife hängen, mit || eine alternative Bedingung.
    Am Anfang war der Name

    So, nun starten wir durch: Öffnet das CS, ladet die Oblivion.esm rein und ruft das Skriptfenster auf (Das Icon ganz rechts).
    Geht nun auf Script, New. Die Fläche in der Mitte wird weiß, und ihr habt auch neue Schaltflächen zur Verfügung. Uns interessieren jetzt erstmal nur die zwei Icons links.

    Zunächst solltet ihr auswählen, als was euer Skript verwendet wird. Gehört es zu einem Objekt (zum Beispiel einer Statue oder einem NPC), zu einem Quest oder soll das Skript als Magieeffekt dienen (dazu später mehr)?

    Wir entscheiden uns für den Magieeffekt (Magic Effect). Wir wollen nämlich ein Wetteramulett bauen.

    Zuerst einmal müssen wir dem Skript einen Namen geben. Deshalb schreiben wir in die erste Zeile:

    Code:
    scn wetteramulett
    scn steht für Scriptname und gibt eurem Skript einen Namen.
    Dann stellt sich die Frage, was das Amulett können soll. Da es Wetteramulett heißt, liegt es nahe, ihm die Kraft über das Wetter zu geben. Und wie soll der User auswählen können, welches Wetter er haben will? Hm. Vielleicht durch eine Textbox? Ja, das ist eine gute Idee.
    Wie wir oben schon gelernt haben, kann man in Variablen bestimmte Werte speichern. Wenn wir also eine Variable erschaffen, die speichert welches Wetter der Spieler haben will und es dann ans Spiel weiterleitet, wären wir schon einen Schritt weiter. Also gebt dies als nächstes ein:
    Code:
    short wetter
    Es gibt beim CS vier Arten von Variablen: short, long, float, ref.
    Short: Können Zahlen von -32768 bis 32767 erfassen
    Long: Können Zahlen von -2147483648 bis 2147483647 erfassen
    Float: Können verdammt viele Zahlen erfassen (von 1.18 x 10-38 bis 3.40 x 1038)

    Mit Ref-Variablen könnt ihr um einiges mehr speichern, als mit den "normalen" Variablen. Da die Erklärung dafür zu ausschweifend wären, hier mal ein Link zum (englischen) CS-Wiki.
    http://cs.elderscrolls.com/constwiki...ence_variables

    Nun haben wir also unsere Variable gesetzt. Fehlt noch die Textbox.
    Um eine Textbox, oder MessageBox wie sie im CS genannt wird, zu erstellen, müsst ihr den Befehl zur Ausgabe einer Textbox (MessageBox) schreiben und ausführen lassen.

    Zunächst aber müssen wir festlegen, wann unser Skript mit was "beginnen" soll. Wenn es im normalen Spiel ist, oder im Menü, oder erst, wenn ein bestimmter Gegenstand aufgenommen bzw. abgelegt wurde?
    Das kann man alles mit Begin einstellen. Im Folgenden sind die wichtigsten Einstellungen für Begin.

    GameMode: Das Skript führt die Funktion in jedem Frame im laufenden Spiel aus
    MenuMode: Das Skript führt die Funktion in jedem Frame im Menü aus
    OnActivate: Sobald der Gegenstand, auf dem das Skript liegt, aktiviert wurde, wird das Skript ausgeführt
    OnAdd: Sobald ein bestimmer Gegenstand in einen bestimmten "Container", z.B. in das Inventar des Spielers, aufgenommen wird, wird das Skript ausgeführt (Beispiel: Begin OnAdd wetteramulett player)
    OnDrop: Dasselbe wie bei OnAdd, nur wird das Skript ausgeführt, wenn ein bestimmter Gegenstand fallen gelassen wird.
    ScriptEffectStart, ScriptEffectUpdate und ScriptEffectFinish: Können nur von "Magic Effect"-Skripts benutzt werden.
    OnEquip: Das Skript wird beim Ausrüsten des "beskripteten" Gegenstandes aktiviert.
    OnUnequip: Das Skript wird beim Ausziehen des "beskripteten" Gegenstandes aktiviert.

    Da die Skripts im CS in sogenannten Blocks geschrieben und jeder Anfang ein Ende hat, muss man nach dem letzten Befehl eines Blocks ein End setzen. So weiß das Spiel, dass dieser Block zu Ende ist.

    Wir schreiben also dann einige Zeilen unter der Deklarierung der Variablen. Da wir einen neuen "Magic Effect" erstellen, benutzen wir dafür ScriptEffectStart; für die meisten Scripts wird GameMode genommen. Wir schreiben also:

    Code:
    Begin ScriptEffectStart
    Dann brauchen wir die Textbox. Der Befehl für die Textbox ist folgendermaßen aufgebaut.

    MessageBox "Hier stehen immer Anführungsstrichen", Variable,"Auswahlmöglichkeiten"

    In unserem Fall würde da so aussehen:

    MessageBox "Welches Wetter wollt Ihr haben?", "Klar", "Wolkig", "Nebel", "Regen", "Schnee" , "Normaler Wetterverlauf"

    Im Spiel sieht das dann so aus:



    Das reicht nun für diesen Block, also schreiben wir eine Zeile darunter ein End hin und beginnen einen neuen Block. Euer Script sollte nun so aussehen:




    Nun soll ausgelesen werden, was der Spieler gewählt hat. Dafür benutzen wir unsere Variable, in die wir den Wert des gedrückten Buttons speichern und dann später wieder auslesen lassen. Da der Rest des Skriptes im normalen Spielmodus ausgeführt werden soll, schreiben wir:

    Code:
    Begin GameMode
    Nun müssen wir den Wert der Variable auf den Wert des gedrückten Buttons setzen. Das geht Setzen übernimmt der Befehl Set. Und der Wert des gedrückten Buttons wird durch GetButtonPressed ermittelt. Das Ganze sieht dann so aus:

    Code:
    Set wetter to GetButtonPressed
    Nun hat die Variable wetter den Wert des gedrückten Buttons. Jetzt lassen wir sie von einer If-Funktion auslesen. Das sieht dann so aus:

    Code:
    If wetter == 0
    Wie wir oben schon gelernt haben wird jetzt verglichen, ob der gedrückte Button der erste in der Auswahl war (in der MessageBox ist die erste Auswahl die 0, die zweite die 1, die dritte die 2, usw.). Wenn dem so ist, wird folgendes ausgeführt:

    Code:
    SetWeather Clear 1
    Mit dem SetWeather-Befehl wird das aktuelle Wetter verändert, bzw. der Verlauf des Wetters. Der erste Befehl nach SetWeather, Clear, gibt an, in welches Wetter sich das Wetter umformen soll, mit der 1 nach dem Clear wird festgelegt, dass sich das Wetter dann auch nicht mehr ändert. Das erweitern wir nun auf alle Auswahlmöglichkeiten, so dass es am Ende so aussieht:
    Code:
    		if wetter == 0
    			;Auswahl 1 Klar
    			SetWeather Clear 1
    		elseif wetter == 1
    			;Auswahl 2 Wolkig
    			SetWeather Cloudy 1
    		elseif wetter == 2
    			;Auswahl 3 Nebel
    			SetWeather Fog 1
    		elseif wetter == 3
    			;Auswahl 4 Regen
    			SetWeather Rain 1
    		elseif wetter == 4 
    			;Auswahl 5 Schnee
    			SetWeather Snow 1
    		elseif wetter == 5
    			;Auswahl 6 Normal
    			ReleaseWeatherOverride
    		endif
    Mit ReleaseWeatherOverride legen wir fest, dass sich das Wetter wieder von alleine ändern "darf."
    Mit EndIf beenden wir unsere If-Funktion, die ebenfalls immer in Blöcken geschrieben werden.

    Jetzt noch ein End dranfügen, und nun sollte euer Fenster so aussehen:



    Speichert jetzt das Skript ab. Herzlichen Glückwunsch! Ihr habt nun euer erstes Skript geschrieben. Da wir es als "Magic Effect"-Skript erstellt haben, liegt es nahe, einen neuen Zauber zu erschaffen, der genau dieses Skript benutzt.

    Wir klicken dazu im Object Window unter Magic > Spell > Zauber rechts auf die Liste mit den bisher vorhandenen Zaubern und wählen New. Ein neues Fenster öffnet sich, in dem ihr die verschiedenen Parameter des neuen Zaubers eingeben müsst. Unter ID gebt ihr die individuelle Zauber-ID ein, mit der ihr z.B. den Zauber in Skripts aufrufen könnt. Im Names-Feld gebt ihr dem Zauber einen Namen. Unter Type könnt ihr zwischen den einzelnen Typen von Effekten auswählen, also ob es ein Zauber, eine Krankheit, eine Fähigkeit, eine Eigentschaft oder einfach nur ein An/Aus-Schalter ist. Da wir einen Zauber erstellen wollen, wählen wir in dem Drop-Down-Menü "Zauber" aus.

    Nachfolgend noch die Erklärungen für die Checkboxen:

    Disallow Spell Absorb/Reflect: Der Zauber kann nicht absorbiert/reflektiert werden
    Script Effect Always Applies: (noch unbekannt)
    Area Effect Ignores LOS: Der Zauber durchdringt auch massive Gegenstände wie Wände.
    Immune to Silence: Dieser Zauber kann auch gesprochen werden, wenn der Spieler "schweigt".
    PC Start Spell: Der Spieler hat diesen Zauber von Anfang an.

    Für unseren Zauber ist keiner dieser Einstellung von großer Bedeutung, weswegen wir nichts ankreuzen. Im Effects-Feld klickt ihr wieder mit einem Rechtsklick und wählt New, wodurch sich wieder ein neues Fenster öffnet, in dem ihr einen Zaubereffekt bestimmt.

    Unter Effect wählt ihr "Skript-Effekt", wodurch eine neue Schaltfläche freigegeben wird, in der ihr das Skript, den Effektnamen, die Zauberschule und die visuellen Effekte des Zaubereffekts auswählen könnt.

    Bei der Zauberschule müsst ihr allerdings aufpassen, da die Übersetzer Mist gebaut haben. Es stehen zwar die deutschen Namen da, allerdings wird nach wie vor im englischen ausgewählt, weshalb ihr folgende Liste zu Hilfe nehmen solltet.

    Zauberschulen
    Im Editor = Tatsächliche Schule
    Beschwörung = Veränderung (Alteration)
    Illusion = Beschwörung (Conjuration)
    Mystik = Zerstörung (Destruction)
    Veränderung = Illusion (Illusion)
    Wiederherstellung = Mystik (Mysticism)
    Zerstörung = Wiederherstellung (Restoration)

    An sich ist es unwichtig, welche Schule der Zauber benutzt, aber wir wollen es ja authentisch machen. Da der Zauber das Wetter verändert, liegt es nahe die Schule der Veränderung als Zauberschule auszuwählen.

    In der "Effect Is Hostile"-Box könnt ihr auswählen, ob der Skript-Effekt primär gegen Feinde gerichtet ist, oder eher ein verstärkender Zauber sein soll.

    Bei der "Range" solltet ihr "Selbst" auswählen, da wir den Effekt auf uns selber ausführen. Bei Duration ist es anzuraten, eine Zeitspanne von 10 Minuten auszuwählen (in Sekunden; sprich: 600).

    Wer will kann auch den Haken bei Auto-Calculate im Effects-Fenster entfernen und den Zauberlevel sowie seine Magickakosten einstellen. Nach dem Klick auf OK haben wir also unseren ersten Zauber erschaffen. Dieser Zauber soll jetzt noch auf ein neues Amulett gelegt werden, so dass der Spieler, sobald er das Amulett trägt, den Zauber auch ausführen kann.

    Erstellt also unter Items > Clothing ein neues Item. Zunächst müssen wir wieder die ID und den Namen des Amuletts auswählen. Unter Weight und Value könnt ihr das Gewicht bzw. den Wert des Amuletts bestimmen,
    bei Enchantment dem Amulett eine Verzauberung verpassen. Die Checkboxen bestimmen, ob das Amulett ein Questitem ist, ob es die Ringe und Amulette am Körper des Spielers verschwinden lässt, und ob es vom Spieler angelegt werden kann.

    Unter Biped Object wählen wir Amulet aus. Mit Biped Object können wir festlegen, welches Körperteil durch dieses Kleidungsstück belegt wird. Um die NIF-Files hinzufügen zu können, müsst ihr leider die kompletten Oblivion – Meshes.bsa und Oblivion - Textures – Compressed.bsa mit dem TES4BSA-Entpacker (http://www34.brinkster.com/ghostwheel/) entpacken.

    Um mit dem TES4BSA-Entpacker arbeiten zu können, ladet ihn herunter und entpackt die exe-Datei in das Data-Verzeichnis des Oblivion-Ordners.

    Betätigt die Windows-Taste + R und gebt ihm "Ausführen"-Feld cmd ein und steuert euch im DOS-Fenster zum Oblivion/Data-Order.
    Hier die wichtigsten DOS-Befehle:

    cd Change Directory, Wechselt in einen anderen Ordner (auch Vorwärts). Um in einen übergeordneten Ordner zu wechseln, müsst ihr z.B. "cd .." eingeben.
    dir Listet den Inhalt des aktuellen Verzeichnisses aus.

    Falls ihr Oblivion auf einer anderen Partition installiert habt (z.B. auf der Festplatte D), dann gebt ihr einfach den Laufwerksbuchstaben mit anschließedem Doppelpunkt ein, um das Laufwerk zu wechseln.

    Im Oblivion-Ordner angekommen, gebt ihr
    tes4bsa unpack " Oblivion – Meshes.bsa"
    und bestätigt mit Enter. Nach dem Entpack-Vorgang gebt:
    tes4bsa unpack " Oblivion - Textures – Compressed.bsa"
    ein, um auch diesen Ordner zu entpacken.

    Wenn ihr das geschafft habt, könnt ihr endlich die NIF-Files verwenden. Wie ihr seht gibt es für beide Geschlechter verschiedene Models, bei Amuletten sind sie aber immer gleich. Wählt also für das Biped Model und World Model immer das gleiche. Unter Clothes > Amulet sind alle NIF-Files für die Amulette gespeichert. NIF-Files mit einem _gnd-Suffix sind übrigens ausschließlich für die World-Models gedacht. Unter Icon Image sucht ihr euch ein passendes Icon für eure Amulett aus.

    Kommen wir nun zum wichtigsten Teil des Amuletts: Dem Skript. Klickt auf die Schaltflächte neben dem Script-Feld und erstellt im neuen Fenster ein neues Skript.

    Wir nennen es "wetteramulettscript". Jetzt müssen wir festlegen, dass das Skript auf eine Object gelegt, und dass der Spieler einen bestimmen Zauber erhält, wenn er das Amulett anlegt. Wir wählen also unter Script Type Object.

    Wie wir (hoffentlich) noch wissen, steht am Anfang eines Blocks immer ein Begin. Und da der Spieler den Zauber erhalten soll, wenn er das Amulett ausrüstet. Also schreiben wir (Ich habe meinem Zauber die ID wetterzauber gegeben, ihr müsst dann folglich eure ID eintragen):

    Code:
    	scn wetteramulettscript
    
    	Begin OnEquip
    	player.AddSpell wetterzauber
    	End
    Mit AddSpell können wir – wie der Name schon sagt, dem Objekt, welches das Skript ausführt, einen Zauber zur Zauberliste hinzufügen. Da es in diesem Fall allerdings das Amulett wäre, müssen wir noch ein player. davor setzen, um diesen Befehl auf den Spieler auszuführen. Mit End beenden wir den Block wieder.

    Da der Spieler den Zauber aber wieder verlieren soll, wenn er das Amulett auszieht, setzen wir noch folgenden Block darunter:

    Code:
    	Begin OnUnequip
    	player.RemoveSpell wetterzauber
    	End
    Mit RemoveSpell kann man einen Zauber wieder aus der Zauberliste entfernen. Das Skript sollte nun so aussehen:



    Speichert das Script ab, drückt im Item-Fenster OK, und ruft euer Item noch einmal auf, um nun im Drop-Down-Menü euer Skript auszuwählen. Fertig!


    Wir haben nun also das Wetteramulett erschaffen. Aber wie soll der Spieler das Amulett erhalten? Am besten durch einen Quest, oder? Also gehen wir ins Quest-Fenster und rechtsklicken auf die Liste und wählen New, um einen neuen Quest zu erstellen. Nennen wir ihn "Das Wetteramulett". Ein richtig toller Name, was?

    Auf der rechten Fensterhälfte erscheinen viele neue Felder, die ihr ausfüllen könnt. Ich erkläre hier kurz ihre Funktionen.

    Reiter Quest Data
    Quest Name: Eigentlich selbstverständlich, dass man dem Quest einen Namen gibt.
    Priority: Setzt die Priorität des Quests. 1 ist für Tutorials, 10 für questlose Dialoge, 20 für Haus- und Pferdequests, 40 für Vampirquests, 50 für sonstige Quests, 60 für Gildenquests, 85 für die Hauptquest reserviert.
    Script: Zur Auswahl eines Skriptes.
    Start Game Enabled: Der Spieler startet das Spiel mit diesem Quest.
    Allow Repeated Conversation Topics: Normalerweise verschwinden bestimmte Themen nach der Erfüllung ihrer Pflicht wieder, aber wenn diese Funktion aktiviert wird, bleiben sie erhalten.
    Allow Repeated Stages: Siehe oben.
    Add Icon Image: Hier könnt ihr ein Icon für eure Quest einfügen.
    Quest Conditions: Die Bedingungen, unter denen der Quest angenommen werden kann.

    Reiter Quest Stages
    Index: Hier tragt ihr die verschienden "Stages" der Quest ein. Dazu später mehr.
    Log Entry: Der Eintrag, der in eurem Ingame-Logbuch erscheint.
    Result Script: Skript, das aktiviert wird, wenn der Quest in diesem Stage wechselt.
    Conditions: Siehe oben.

    Reiter Quest Targets
    Hier tragt ihr ein, wo eure Kompassnadel hinzeigen soll.

    Reiter Topics
    Relativ kompliziert, deshalb machen wir das im Tutorial.


    So, nach dieser langen Reihe von Fakten, begeben wir uns mal ans Praktische. Zunächst legen wir also fest, dass unser Quest "Das Wetteramulett" heißt, die Priorität 50 hat und nur von spielbaren Rassen angenommen werden kann. Dazu Rechtsklick auf das Conditionsfeld, New und wählt dann unten "GetIsPlayableRace" aus.

    Im Quest Stages-Reiter legen wir fest, wieviele Stages, oder auch Stufen, unsere Quest haben soll. Sagen wir mal, dass uns ein Auftraggeber damit beauftragt das Wetteramulett zu holen, um es ihm zu bringen. Als Belohnung macht er eine Kopie davon (er will es Cyrodiil-weit vermarkten) und gibt sie dem Spieler. Das wären also: Annahme des Quests, Suchen des Amuletts und Rückkehr zum Auftraggeber. 1, 2, 3 Stages.
    Klickt also rechts auf das Index-Feld und weist den Stages eine Zahl zwischen 0 und 255 zu. Ihr könnt zwar jede Zahl zwischen diesen beiden benutzen, allerdings ist es – übersichtshalber – anzuraten die Stages in Zehnerschritten zu benennnen.
    Erstellt also 3 Stages: 0, 10, 20 und 30. Warum 0 auch noch eingefügt werden sollte, erkläre ich später.

    Ihr könnt die Log Entrys nun ausfüllen. Lasst eurer Fantasie dabei freien Lauf.

    Bei Quest Targets müssen wir jetzt ein wenig nachdenken. Was soll alles durch den Kompass angezeigt werden? Der Standort des Amuletts und der Standort des Auftraggebers vielleicht? Ja, ich glaub, dass wäre gut. Platziert eure Amulett also irgendwo in die Pampa rein und legt einen Xmarker darauf (WorldObjects > Static). Klickt auf den Marker doppelt und tragt bei ReferenceID "wetteramulettMarker" ein. Zurück im Quest Targets-Fenster, erstellt ihr ein neue Target und wählt mit "Select Reference in Render Window" den Xmarker aus. Da dieser Marker nur in der zweiten Phase, der Suche nach dem Amulett, angezeigt werden soll, wählt ihr unter den Conditions noch "GetStage". Hier müsst ihr ein bisschen aufpassen, denn es wird nicht die aktuelle Stage ausgegeben, sondern nur die zuletzt erfüllte. Da wir bis jetzt aber noch nichts gemacht haben, setzen wir den Value der Condition auf 0. Erstellt außerdem einen NPC, auf den ihr ebenfalls ein Quest Target setzt, allerdings mit der Condition "GetStage wetteramulettquest 10"

    Im Topics-Reiter, dem mitunter wichtigsten Teil eines Quests, können wir die Dialoge zusammenstellen. Anfangs brauchen wir eine Begrüßung für den NPC. Wählt also unter "Add Topic"(rechtsklick auf das linke Feld) GREETING aus. In dem nun weißen Feld tragt ihr den Text des NPCs ein. Wie auch bei sovielem, spielen die Conditions eine wichtige Rolle. Hier sollten folgende Conditions gewählt werden:

    Code:
    	GetIsplayableRace == 1
    	GetIsID == QuestNPC (hier die ID des NPCs einfügen)
    	GetStage (QuestID) (Stagenummer, Erklärung siehe oben) < 10
    Damit wird festgelegt, dass nur der dafür bestimmte NPC diesen Dialog von sich gibt, und auch nur, falls die Stage nicht größer als 10 ist.
    Der NPC bittet uns also das Amulett zu finden. Wir fügen nun zwei Choices ein. Dafür müssen wir aber erstmal zwei neue Topics erstellen. Klickt rechts auf das Choices-Feld und dann Add Topic. In diesem Fenster klickt ihr nochmal rechts und wählt New und gebt eurem neuen Topic einen Namen.

    Wählt dieses Topic jetzt durch nochmaliges "Add Topic" aus. Nun habt ihr zwei Antwortmöglichkeiten; z.B. Ja und Nein. Dieses werden dann im Spiel angezeigt. Gebt dem NPC, je nach Antwort des Spielers, weiteren Text. Bei Nein könntet ihr allerdings auch gar nichts hinschreiben.

    Sollte der Spieler den Quest angenommen haben, muss der Quest in die Stage 10 springen, damit der Marker aktiviert wird. Also schreiben wir unter "Result Script" folgende Zeile rein:

    Code:
    	SetStage wetteramulett 10
    Damit wird die Stage des Quests "wetteramulettquest" auf den Wert 10 gesetzt, was den Marker aktiviert. Für die spätere Nutzung solltet ihr übrigens noch ein Topic für die Belohnung erstellen. Wenn der Spieler den NPC darauf anspricht, wird dieser ihm sagen, dass er das Amulett erst holen soll (GetStage wetteramulett 0), sollte der Spieler das Amulett aber schon haben, wird der NPC ihm die Belohnung geben.

    Damit aber der Zeiger wieder umspringt, wenn wir das Amulett aufnehmen, müssen wir noch ein kleines Skript schreiben, welches ihr auf das Amulett legt.

    Das Skript muss so aussehen:
    Code:
    	scn wetteramulettscript
    	
    	Begin OnAdd wetteramulett player
    		SetStage wetteramulett 20
    	End
    Dadurch wird die Stage auf den Wert 20 gesetzt, sobald der Spieler das Amulett aufnimmt. Nun sollte der Spieler den NPC auf die Belohnung ansprechen, woraufhin er eine Belohnung erhält. Um das zu realisieren muss das Skript, welches ihr unter "Result Script" reinschreibt, so aussehen:

    Code:
    	player.RemoveItem wetteramulett 1
    	player.AddItem Gold001 200
    	Player.AddItem wetteramulett 1
    	SetStage wetteramulettquest 30
    Setzt noch im Quest Stages-Reiter, bei der Stage 30, einen Haken bei "Complete Quest", damit die Quest nach Erhalt der Belohnung abgeschlossen ist. Genauso wie dieses Tutorial.


    Written by Lakos


    Download: http://lakos-networx.de/tes4/skript-tutorial.pdf (Mit Rechtsklick > Ziel speichern unter runterladen)
    Mirror: http://lakosweb.de/skript-tutorial.pdf (Mit Rechtsklick > Ziel speichern unter runterladen)

    Link zum Original-Thread

  3. #3
    Haus bauen?

    So, nach meinem Skript-Tutorial war mir mal wieder langweilig, weshalb ich mich entschlossen habe ein Tutorial zum Einreichten eines Hauses zu schreiben.

    Keine Angst, ihr müsst euch nicht wieder durch die Textmassen kämpfen, weil euch Bethesda die Arbeit sozusagen abgenommen hat: Ihr könnt aus verschiedenen vorgefertigten Häusern wählen!

    Doch zunächst brauchen wir eine neue Zelle. Öffnet also das CS und ladet die Oblivion.esm hinein. Springt zum Cell View-Fenster und klickt auf eine Zelle, die mit einem Namen ausgestatt ist, mit der rechten Maustaste und klickt auf Duplicate Cell. Wählt die soeben duplizierte Zelle aus (Achtet darauf, dass es auch wirklich die kopierte Zelle ist!) und löscht sämtlichen Inhalt darin. So, nun haben wir eine leere Zelle. Allerdings hat die noch eine komische ID, weshalb wir diese ebenfalls umbennen: Klickt zweimal auf die ID und verharrt dort 2 Sekunden mit der Maustaste, bis sich die ID in ein Textfeld verwandelt, in der ihr die ID verändern könnt.

    Nachdem wir also unsere neue Zelle haben, brauchen wir zunächst die Grundmauern. Ich habe dafür BrumaHouseMiddle02Interior genommen (Zu finden unter: Object Window > WorldObjects > Static > Architecture > Bruma). Zieht das Haus also per Drag & Drop-Verfahren in das Render View-Fenster.

    Ein bisschen dunkel was? Mit A könnt ihr das Geschehen ausleuchten, was euch einen besseren Überblick verschafft.

    Bevor wir weitermachen, solltet ihr euch mit der Bewegung im Render-Fenster beschäftigen. Wenn ihr mit gedrückter Umschalt-Taste im Fenster herumfahrt, könnt ihr eure Ansicht rotieren. Mit gedrückter Leertaste dagegen, könnt ihr den Bildausschnitt verschieben. Mit dem Scrollrad zoomt ihr in das Geschehen ein und aus. Wenn ihr T drückt, während ihr ein Objekt ausgewählt habt, dann zentriert sich euer Blick auf genau diese Objekt.

    So, nachdem dass nun geschafft ist, können wir unser Haus ja nach Belieben einrichten. Wählt zum Beispiel CupboardFoodUpper (Object Window > WorldObjects > Container > Furniture > upperclass). Zieht den Schrank – wie das Haus vorher – in das Render-Fenster. Um das Objekt zu verschieben, wählt es einfach aus, haltet die linke Maustaste gedrückt und schiebt es einfach rum. Ihr könnt es allerdings so nur auf horizontaler Ebene verschieben; für die vertikale Ebene haltet beim Schieben einfach Z gedrückt. Falls der Schrank schief steht, könnt ihr ihn mit der rechten Maustaste um seine Achse rotieren lassen. Mit gedrückter Z-Taste lasst ihr Achse des Schrankes rotieren.

    Falls euch das Rotieren zu ungenau/schnell sein sollte, könnt ihr auch "Snap to angle" (achter Knopf von links) aktivieren. Damit rotiert ein Gegenstand nur noch in 45°-Intervallen.

    Platziert also euren Gegenstand irgendwo im Haus. Wenn ihr eine geeignete Stelle gefunden habt, drückt F, um den Gegenstand auf den nächsten "Boden" zu platzieren.

    So könnt ihr mit allen Einrichtungsgegenständen verfahren, die ihr findet.

    Wenn ihr alles nach eurem Gusto platziert habt, fehlt nur noch eines: Die Beleuchtung. Wenn ihr nochmal A drückt, werdet ihr feststellen, dass man von eurer Einrichtung nicht viel sieht, da das Licht fehlt.

    Unter Object Window > WorldObjects > Light > Lights findet ihr eine Auflistung an Lichtern, die ihr verwenden könnt. Für die richtige Platzierung der Lichter gibt es kaum gute Ratschläge, deswegen nur ein paar Hinweise:

    - Zu viel des Guten kann auch schlecht sein; übertreibt es nicht mit euren Lichtern.
    - Platziert nur geeignete Lichter; eine Fackel in einem Holzhaus sieht ein wenig unlogisch aus

    Da wir jetzt unsere Inneneinrichtung eingerichtet (was für'n Satz) haben, brauchen wir noch einen Eingang dafür. Zunächst laden wir also die Stadt, in die wir das Haus setzen wollen, z.B. Bruma. Wählt dazu im Drop Down-Menü "BrumaWorld" aus und ladet sie in das Render-Fenster. Wählt einen geeigneten Platz für das Haus aus und wählt euch das Pendant zu eurem Interior (in meinem Fall: BrumaHouseUpper01) aus, und platziert es, wie ihr es gewohnt seid.

    Jetzt brauchen wir noch funktionierende Türen. Wählt euch unter WorldObjects > Doors > Architecture eine geeignete Tür aus, und platziert sie dort, wo die "ursprüngliche" Tür des Models ist und verdeckt sie komplett. Tut das gleiche mit eurer Interior-Zelle. Klickt nun doppelt auf eure Außentür und wählt unter dem Reiter Teleport die Tür eurer Innentür. Ihr werdet sehen, dass zwei neue Marker gesetzt wurden. Verschiebt diese noch so, dass sie nicht mehr in den Türen stecken, um den Bau eures Hauses und dieses Tutorial abzuschließen.


    Anmerkung des Autors: Man beachte, dass diese Tutorial bei weitem nicht die fortgeschrittenen Techniken des CS-Mappings beleuchtet, sondern nur den Einstieg erklärt.

    Link zum Original-Thread

  4. #4

    Anfängertutorial "monströse Schlammkrabbe"

    Das ist mein erstes Tutorial, ich hoffe es hilft ein paar Leuten beim Einstieg in die Mod-Community.

    Über den TES-Editor können viele Dinge in Oblivion verändert werden, und zwar ganz ohne Scripting oder grafisches Talent. Der Schlüssel dazu sind Objekte und Spawn-Listen - sie bestimmen in OB, welche Kreaturen, NPCs und Objekte erzeugt werden sobald der Spieler ein neues Gebiet betritt. So können z.B. sehr einfach Varianten schon vorhandener Monster eingebaut werden; oder das Spawn-Verhalten von Oblivion so geändert werden, daß mehr Monster oder sogar ganze Horden von Biestern erscheinen.

    Ich werde in diesem Tutorial beschreiben, wie man eine "monströse Schlammkrabbe" erstellt und ins Spiel einbaut. Ich werde versuchen, den ganzen Prozess in möglichst kleinen Schritten zu beschreiben, damit auch ein totaler Anfänger mitkommt.


    Ich empfehle, das Tutorial auszudrucken, da im Laufe des Tutorials zu Testzwecken ins Spiel gewechselt wird.


    Oblivion und der TES-Editor müssen installiert sein. Den TES-Editor gibt es hier:

    http://www.elderscrolls.com/download..._utilities.htm

    Er installiert sich automatisch im Oblivion-Verzeichnis.

    Also, los geht's.

    1) Laden des Editors und der Oblivion.esm

    Starten wir den Editor. Im File-Menü wählen wir "Data". Ein Fenster öffnet sich; wir wählen aus der "TES Files" Liste "oblivion.esm" und klicke die Checkbox davor an, so das sie angekreuzt ist. Klicken auf OK. Der Editor lädt jetzt das Master File; das kann eine Weile dauern.

    Das Oblivion Master File enthält alle Objekte und Spawn-Listen, die im Spiel vorkommen - wir benötigen es, um einen neuen Mod zu erstellen. Das Oblivion Master File wird durch den Editor nie verändert, Mods legen sich sozusagen "über" das Master File. Das Spiel lädt immer zuerst das unveränderte Master File und dann alle Mods. Im Spiel werden die Mods übrigens in der Reihenfolge ihrer letzten Änderung geladen; d.h. der neueste Mod wird immer zuletzt geladen, der älteste immer zuerst. Daran sollte man denken, wenn man den Verdacht hat daß zwei Mods die gleichen Werte verändern (also ein Konflikt vorliegt): der neuere Mod wird den älteren "überschreiben".

    Ein Tipp am Rande: wenn man im Data Verzeichnis von Oblivion (Bsp: COblivion\Data) ein Verzeichnis "Backup" anlegt, kann der Editor so eingestellt werden, daß er alle paar Minuten eine Sicherungdatei speichert. Das sollte man machen; der Editor ist nicht besonders stabil. Die Einstelloptionen finden sich im Menü unter File -> Preferences, in dem sich dann öffnenden Fenster kann man unter dem Tab "Misc" Autosafe einschalten und z.B. auf 5 Minuten setzen.


    2) Fenster im Editor

    Das Master File wurde (hoffentlich) geladen, auf dem Bilschirm sollten drei Fenster sichtbar sein:

    - Render Window: in ihm kann man z.B. Objekte und NPCs in Höhlen ablegen, oder selber ganze Höhlen, Häuser und andere Umgebungen bauen.

    - Cell View: die Welt von Oblivion ist in sogenannte "Zellen" aufgeteilt. Zum Beispiel besteht jedes Haus oder Dungeon aus einer oder mehreren Zellen. Wenn man eine Zelle aus der Liste doppelklick, wird sie geladen und im Render Window angezeigt.

    - Object Window: das für dieses Tutorial *wichtigste* Fenster. Es zeigt alle Objekte, Dungeonteile, Monster, NPCs oder Listen an, die in einer Zelle abgelegt werden können. Das Fenster besteht aus zwei Teilen, links sieht man eine Baumstruktur, deren oberste Einträge sind: Actors, Items, Magic, Miscellaneous und WorldObjects. Im rechten Teil kann man sich die Listen von Objekten anzeigen lassen. Beispiel: klickt man links auf "Actors", und dann auf das daneben erscheinende "Creatures", bekommt man rechts eine (riesige) Liste aller Kreaturen angezeigt die es im Spiel gibt. Der oberste Eintrag sollte der "AnvilMGPetImp" sein. Die Liste ist alphabetisch sortiert, und die Abkürzungen kann man teilweise recht kryptisch. AnvilMGPetImp lässt darauf schliessen, daß es in der Stadt Anvil einen Magier gibt (MG), der sich als Haustier (Pet) einen Imp (Kobold) hält....

    Wir wollen aber eine monströse Schlammkrabbe bauen, deshalb doppelklicken wir auf "Creatures" und schauen mal weiter (Creatures werden übrigens alle Monster und Tiere genannt, die keine Personen (NPCs) sind).

    Suchen wir jetzt den Eintrag "MudCrab" ( = Schlammkrabbe), und klicken ihn an.

    Rechts im Object Window haben wir jetzt eine Liste aller Schlammkrabben-Arten die im Spiel vorkommen. Der erste Eintrag ist die

    - Editor ID: jedes Objekt benötigt eine einmalige Editor ID. Es gibt keine zwei Objekte mit der gleichern Editor ID

    - Count: Vermutlich die Anzahl der direkt in die Welt gesetzten Objekte dieser Art (Kreaturen werden fast nie direkt gesetzt, sondern über Listen, später mehr dazu).

    - Users ist die Anzahl der "Benutzer", die dieses Objekt benutzen (z.B. Listen),

    - Name: wird im Spiel angezeigt (zwei Objekte können den gleichen Namen haben - nur die Editor ID muss einmalig sein),

    - Type: ist im Fall einer Schlammkrabbe "Creature",

    - Script: zeigt an ob es einen Script gibt der läuft wenn diese Kreatur im Spiel aktiv ist (was bei keiner Schlammkrabbe der Fall ist),

    - Level: die Level einer Kreatur oder NPCs,

    - Inventory: was man in einer toten Kreatur oder NPC finden kann, wobei z.B. LL0LootMicroTreasure15 eine Liste ist aus der ein Objekt zufällig ausgewählt wird, und CrabMeat ist... Krabbenfleisch.

    - Essential: gibt an, ob dieser NPC oder Kreatur "wichtig" für das Spiel ist und nicht sterben darf. "Essential" ist übrigens ein sogenanntes Flag, ein Wert, der entweder nur 1 (Ja) oder 0 (Nein) sein kann.

    - Respawn: auch ein Flag, gibt an ob die Kreatur irgendwann wiederkommt wenn man sie gemetzelt hat. Steht bei Schlammkrabben auf "Ja", d.h. die Viecher erscheinen nach 3 Spieltagen wieder.

    Dann gibt es noch Movement Type (Walk und Swim für die Schlammkrabbe), Weapon/Shield, Biped Anim (Animationen für Zweibeiner), welches Modell benutzt wird, und zu guter Letzt ob diese Kreatur in einer Queste vorkommt. Steht bei fast allen auf "No", nur bei der DeadMudCrab nicht, in einer Queste kommt wohl eine tote Schlammkrabbe vor...

    Auch das Icon ganz vorne hat eine Bedeutung; Kreaturen haben ein anderes Icon als Listen oder NPCs.


    3) Bauen wir uns eine "monströse Schlammkrabbe"

    Um eine Variante einer Kreatur zu bauen erzeugt man zuerst eine Kopie der Original-Kreatur. Der erste Eintrag aller Schlammkrabbensorten ist "CreatureMudCrab", sie hat die meisten User ("Benutzer") und sieht damit wie ein guter Kandidat für eine Variantenbildung aus.

    Wir öffnen das *Stats-Fenster* von "CreatureMudCrab". Dazu gibt es zwei Wege: entweder auf "CreatureMudCrab" doppelklicken oder rechtsklicken. Wenn man rechtsklickt öffnet sich ein kleines Kontextmenu, aus dem kann man "Edit" wählen. Die Option ganz unten im Kontextmenu, "Use Info", ist sehr informativ: mit ihr lassen sich alle Listen anzeigen, in denen die Schlammkrabbe benutzt wird (das sind die 11 User), aber auch alle Cells (alle Welt-Zellen), in denen die Kreatur direkt (also nicht über eine Liste) eingesetzt wurde. Wenn man die Zellen im "Use Report" anklickt, öffnet sich die gewählte Zelle im Cell- und im Render Window.

    Wir wollen eine Variante der Schlammkrabbe bauen, und nicht alle existierenden Schlammkrabben umbauen (das könnten wir auch machen, wollen wir aber nicht).Deshalb geben wir ihr als erstes eine neue Editor ID: "CreatureMonstrousMudCrab" bietet sich an (ohne Anführungszeichen eingeben). Danach klicken wir auf "OK".

    Der Editor merkt, daß wir die ID geändert haben, und fragt uns jetzt, ob wir ein neues Objekt erstellen wollen. "Ja" anklicken.

    Das Fenster schliesst sich, wir haben einen neuen Eintrag unter unseren Schlammkrabbensorten:

    CreatureMonstrousMudCrab. Im Moment ist sie nur eine Kopie der alten Schlammkrabbe, aber das ändern wir gleich. Der Count und die Users unserer CreatureMonstrousMudCrab stehen auf 0, d.h. wir würden unsere Schlammkrabbe nirgendwo in der Welt finden, aber dazu kommen wir später. Das Asterix (*) hinter 0, bei "Count" bedeutet, daß dieses Objekt so im Masterfile nicht vorkommt. Wenn man Mods ändern will, ist es immer eine gute Idee nach dem * Ausschau zu halten.

    Öffnen wir jetzt das Stats-Fenster unserer neu erschaffenen, monströsen Schlammkrabbe. Wir geben ihr einen neuen Namen, dieser wird im Spiel angezeigt wenn wir gegen das Vieh kämpfen oder es plündern. Unter Namen "monströse Schlammkrabbe" eingeben (ohne Anführungszeichen).

    Man kann im Stats-Fenster haufenweise Einträge machen, wir konzentriere uns auf die, die für uns wichtig sind. wer mehr erfahren will, sollte im Construction Set Wiki nachlesen:

    http://cs.elderscrolls.com/constwiki....php/Main_Page

    Dort findet man unter "Actors" alles erklärt, leider nur in englisch.

    Machen wir die "monströse Schlammkrabbe" zu einem etwas härteren Gegner und lassen sie mit dem Player Character mitleveln. Dazu klicken wir die Checkbox "PC Level Offset" an - PC steht hier für "Player Character". Der Offset steht momentan auf 1, was bedeutet, daß unsere monströse Schlammkrabbe immer eine Stufe höher ist als der Spieler-Charakter. Wir können den Offset auch auf 0 stellen, dann hat die Schlammkrabbe immer die gleiche Stufe wie der PC. Oder wir geben ihr einen negativen Offset, z.B. -3. Das würde bedeuten, die Schlammkrabbe ist immer 3 Stufen unter dem PC (allerdings wird ihre Stufe nie kleiner als 0, das geht nicht). Ein Offset von 1 ist ganz OK, lassen wir ihn erst mal so.

    Mit "Calc Min" und "Calc Max" kann man die niedrigste bzw. die höchste Stufe der Schlammkrabbe festlegen. Sie würde z.B. bei einem "Calc Max" von 10 nur bis zur 10ten Stufe mitleveln. Bei einem "Calc Min" von 5 würde sie immer mindestens die 5te Stufe haben, auch wenn der PC erst auf Stufe 3 ist. Lassen wir die beiden Werte auf 0, d.h. die monströse Schlammkrabbe kann beliebig mit dem PC mitleveln.

    Im mittleren Drittel des Stats-Fensters gibt es haufenweise Tabs: Stats, Factions, Inventory, etc. Uns interessieren nur Stats und Inventory (Hinweis: Factions gibt an, in welchen "Fraktionen" unsere Schlammkrabbe zuhause ist: CreatureFaction, DaedraFaction, DremoraFaction, usw. Da die Schlammkrabbe z.B. in der DaedraFaction ist, wird sie von Daedras nicht angegriffen).

    Ändern wir jetzt die Stats: (falls die Stats nicht angezeigt werden, jetzt den Tab "Stats" anklicken).

    Normalerweise sind Schlammkrabben ziemlich klein, ihr Base Scale ist 0,5. Machen wir unsere Schlammkrabbe größer, geben ihr ein Base Scale von 1,3. Der Base Scale gibt an, wie groß die Figur im Spiel erscheint. Ein Base Scale von 1 wäre ihre "natürliche" Größe, so wie sie von den Beth-Designern im 3D-Programm editiert wurde. Ein Base Scale von 0.5 bedeutet halbe Größe, ein Base Scale von 2 wäre doppelte größe. Da es in den USA üblich ist den Punkt in Nachkommazahlen zu benutzen geben wir ein: 1.3

    (Einige würden jetzt vielleicht gerne 2 oder 3 eingeben, aber dann wird die Schlammkrabbe zu groß und ihre Beine würden entweder zu weit in der Luft stehen oder im Boden stecken wenn sie auf einer schrägen Fläche steht.)

    In den Stats gibt es ein paar Werte, die bei einer gelevelten Kreatur mit "Mult" enden. Das sind Multiplier, sie geben an wie sich die Werte unserer Schlammkrabbe mit den Leveln ändern. "Health Mult" 10 bedeutet, daß eine Level 3 "monströse Schlammkrabbe" 30 Lebenspunkte hat. Auch die meisten anderen Werte ändern sich mit dem Level einer gelevelten Kreatur, wie genau steht hier:

    http://cs.elderscrolls.com/constwiki...abCreatures

    Lassen wir diese Werte erst mal wie sie sind; nur Str (Strength = Stärke) setzen wir auf 80, und Attack Damage Mult auf 9.

    Jetzt wäre ein guter Zeitpunkt unseren Mod zu speichern. Mit "OK" schliessen wir das Stats-Fenster, und wählen "Save" aus dem File-Menu. Der Name sollte einigermaßen selbsterklärend sein, und da wir vielleicht noch mehr neue Kreaturen einbauen, wäre "Neue_Kreaturen" nicht schlecht.

    Gespeichert? Ok. Machen wir das Stats-Fenster wieder auf.

    Rechts im Stats-Fenster kann man sich die Schlamkrabbe angucken: einfach die Preview-Checkbox anklicken. Mit der linken Maustaste kann man die Kamera drehen. Falls das Bild zu dunkel ist, kann man ganz oben in der Editor-Leiste das Glühbirnen-Icon anklicken, dadurch wird die Beleuchtung erhöht.

    Unsere Schlammkrabbe ist fast fertig, aber sie hat ein mehr Fleisch auf den Rippen als eine normale Schlammkrabbe, deshalb sollten wir ihr ein bisschen mehr Krabbenfleisch ins Inventory packen... und vielleicht auch noch eine Perle, so eine monströse Schlammkrabbe findet man ja nur ganz selten.

    Klicken wir also auf den "Inventory" Tab. Da gibt es einmal "CrabMeat", und einmal eine grüne Box mit einem Fragezeichen drauf, mit dem Namen "LL0LootMicrotreasure". LL0LootMicroTreasure sagt uns folgendes: es handelt sich um eine gelevelte Liste (LL) der Stufe 0. Stufe 0 bedeutet in diesem Fall, daß es eine Basis-Liste ist. Basis-Listen kommen oft in anderen Listen vor, aber dazu später mehr, wenn wir unsere Krabbe in die Welt hinaus schicken. Loot = Beute, Treasure = Schatz, und Micro.. naja, winzig oder mickrig.

    Sorgen wir erst mal dafür mehr Fleisch. Dazu müssen wir das Objekt-Fenster und das Stats-Fenster so auf dem Bildschirm anordnen, daß die Inventory-Liste der Krabbe und das Objekt-Fenster beide sichtbar sind.

    Eventuell muss das Objekt-Fenster dazu etwas verkleinert werden.

    Jetzt suchen wir in der linken Spalte es Objekt-Fensters nach "Items", und darin nach "Ingredient" (Zutaten). Gefunden? OK. Rechts im Objekt-Fenster haben wir eine lange Liste aller möglichen Zutaten, alphabetisch geordnet. Alle haben ein Pflanzenblättchen als Icon, und Crabmeat findet man unter "C". Wir klicken auf "CrabMeat", und ziehen es in das Inventory der Schlammkrabbe im geöffneten Stats-Fenster (wie gesagt, beide Fenster müssen offen und sichtbar sein). Das machen wir noch einmal, damit haben wir 3 mal CrabMeat im Inventory unserer Schlammkrabbe.

    Geben wir noch eine Perle dazu - die soll aber nur manchmal erscheinen. In den Muscheln kann man Perlen finden - schauen wir mal. Es gibt mehrere Worte für "Muschel" im Englischen, z.B. "Shell" oder "Clam". Unter Menu / Edit können wir mit "Find Text" ein Such-Fenster öffnen. Da wir nach Objekten suchen, sollten wir auf den Tab "Objects, etc" klicken, und als Suchwort "Shell" eingeben.

    Das bringt uns zwar Ergebnisse, aber die Objekte sind fast alle vom Typ "Static" - nur Verzierung. Probieren wir es mal mit "Clam". Schon besser: mehrfach "Container", und ein LeveledItem namens "LL0LootClamPearl".

    Suchen auf der linken Seite des Objekt-Fensters nach "LeveledItem". Das finden wir unter Items (anklicken).

    Rechts im Objekt-Fenster suchen wir nach LL0LootClamPearl75. Gefunden? OK.

    Wir können LL0LootClamPearl75 mal anschauen (doppelklicken): unsere erste Begegnung mit einer gelevelten Liste. Ohne zu sehr ins Detail gehen zu wollen nur soviel: je nach Level des PC (Player Characters) findet man in einer Muschel eine verunreinigte Perle, und ab Level 3 kann man schon eine makellose Perle finden. Später mehr dazu, wenn wir unsere Schlammkrabbe entgültig in die Welt von Cyrodiil entlassen.

    Jetzt schliessen wir das Fenster der Liste, und klick-ziehen LL0LootClamPearl75 vom Objekt-Fenster in das Inventory unserer Schlammkrabbe. Einmal reicht eigentlich, aber wer öfter und vielleicht auch mehrere Perlen finden möchte kann jetzt zulangen.

    Fertig? OK.

    Bis auf Feintuning und "in-die-Welt-setzen" ist unsere Schlammkrabbe fertig. Testen wir sie mal.

    Stats-Fenster der Krabbe schliessen, abspeichern (nur mal so, zwischendurch), jetzt schauen wir uns das *Cell View Fenster* an.


    4) Ein erster Test


    Mit dem Cell View Fenster können wir uns die "Zellen" anschauen aus denen die Oblivion-Welt zusammengesetzt ist. In "World Space" suchen wir, ganz unten in der Liste, nach "Toddland". Toddland ist ein Testgebiet, in dem man allen möglichen Kram zum testen absetzen kann. Ausgewählt? Ok.

    In der darunter erscheinenden Liste doppelklicken wir auf "ToddForestTavern" - jetzt wird dieser Weltbereich geladen, das kann eine Weile dauern (unten, in der Statuszeile des Editors, kann man sehen wie der Bereich geladen, bzw. Objekte geclont werden). Im Render-Fenster sollte jetzt eine Ansicht dieses Weltbereichs aus der Vogelperspektive zu sehen sein. Unten links sind zwei Gebäude zu sehen, dazwischen setzen wir unsere Krabbe ab (Renderfenster ist zu dunkel? - Licht anmachen, mit dem Glühbirnen-Icon, oder "a" drücken).

    Ein kurzer Abstecher in die Navigation des Render-Fensters: Mit der mittleren Maustaste oder der Leertaste + Mausbewegung verschiebt man die Kamera auf einer Ebene. Mit der Taste V (und der Maus; oder dem Mausrad) zoomt man, mit einem Linksklick kann man ein Objekt auswählen (es hat dann einen bunten Kasten ringsrum), mit Shift + Maus dreht man die Kamera - und zwar entweder um die eigene Achse, oder um ein ausgewähltes Objekt. Durch klicken auf den grauen Hintergrund kann man deselektieren. Eine genaue Beschreibung gibt es hier:

    http://cs.elderscrolls.com/constwiki..._Render_Window

    Bleiben wir erst mal in der Vogelperspektive und verschieben die Kamera so, daß sie zwischen die beiden Gebäude schaut (Space / mittlere Maustaste), zoomen ran (V / Mausrad, so das man den Platz zwischen den Gebäuden gut sehen kann), und dann setzen wir unsere Krabbe dort ab:

    Wir brauchen wieder zwei Fenster, das Objekt-Fenster und das Render-Fenster. Im Objekt-Fenster navigieren wir zur Schlammkrabbenliste, und ziehen unsere CreatureMonstrousMudCrab ziemlich genau auf den Platz zwischen den Gebäuden.

    Die Krabbe hängt vermutlich etwas in der Luft, deshalb drehen wir jetzt die Ansicht so, daß wir die Krabbe von der Seite sehen: Shift und Mausbewegung. Am besten die Krabbe vorher selektieren, dadurch dreht sich die Kamera um die Krabbe. Shift loslassen. Mit der gedrückten linken Maustaste können wir die Krabbe verschieben, aber dummerweise nicht in Richtung Boden, sondern nur auf der sogenannten X/Y-Ebene. Im dreidimensionalen Raum gibt es die Achsen X/Y/Z, Y = Nord-Süd, X = Ost-West, Z = Hoch-Runter. Um unsere Krabbe in Richtung Boden zu bewegen, müssen wir zusätzlich die Taste "z" drücken, also Linke Maus + "z" + Mausbewegung.

    Falls sich die Krabbe in Richtung Boden aus dem sichtbaren Bereich bewegen sollte, einfach "c" drücken, dadurch wird die Kamera wieder auf das selektierte Objekt (unsere Krabbe) zentriert.

    Wenn man den Überblick verliert, drückt man "t" für die Topdown-Ansicht (Vogelperspektive), selektiert die Krabbe, zoomt und rotiert die Kamera (Shift / V) wieder in eine gute Position.

    Ist die Krabbe schon am Boden angekommen? Es muss nicht supergenau sein, aber besser ein bisschen zu hoch als zu tief. Fallen tut sie von alleine . Mit der rechten Maustaste kann man die Krabbe drehen, falls sie in eine andere Richtung schauen soll.

    Tipp: beim setzen von Objekten ist es oft sinnvoll, das "Grid" abzuschalten. Das "Grid" kann mit dem Gitter-Icon in der Icon-Leiste (oben, unter der Menu-Leiste, da wo auch die Glühbirne ist) an- und abgeschaltet werden. Das Grid sorgt dafür, daß ein Objekt immer um einen ganz genauen Wert verschoben wird (z.B. ein Meter), und *muss* beim bauen von Dungeons eingeschaltet sein. Bei Objekten ist es meistens hinderlich.

    Fertig? Wer will, kann noch eine oder zwei Krabben setzen.


    Dann abspeichern und den Editor schliessen (falls ich es noch nicht erwähnt habe: unser Mod muss im Unterverzeichnis Oblivion\Data gespeichert werden). Es kann sein, daß der Editor eine ganze Weile zum beenden braucht, im Wiki steht bis zu mehrere Minuten. Wenn's zu lange dauert muss man halt mit der Geierkralle den Taskmanager aufmachen und den Editor abschiessen, aber davon rate ich ab.

    Jetzt Oblivion starten und unter "Spieldateien" unseren Mod einschalten. Im Spiel erst mal abspeichern, auf eine feste Saveposition (vorsichtshalber, man weiss ja nie), die Konsole aufmachen (mit der Taste ^), und "coc toddtest" eingeben (wie immer ohne Anführungszeichen). Dadurch teleportieren wir uns ins Testland.

    Gehen wir aus dem Haus und erfreuen uns an unserem ersten Zusammenstoß mit unserer selbstgebastelten Monsterkrabbe...

    (Hinweis: nicht vergessen beim nächsten Start des Spiels aus der Saveliste heraus unser vorletztes gespeichertes Spiel zu laden, "Fortfahren" würde uns wegen "Autosave" wieder im Testgebiet absetzen.)

    5) LeveledCreature - die Krabben in der Welt aussetzen

    Im Spiel werden Kreaturen und NPCs fast nie direkt gesetzt (so wie wir unsere Krabben ins Testgebiet gesetzt haben). Im Spiel werden "LeveledCreature" - Listen benutzt, dadurch werden "passende" Monster erzeugt, die der PC erledigen kann. Wir werden jetzt die Listen editieren, die für die Erzeugung der Schlammkrabben zuständig sind.

    Erst mal müssen wir aber wieder den Editor starten, über das Menü "File/Data", die Datei Oblivion.esm als Master File setzen, und außerdem unseren Mod anklicken (die Checkbox setzen) und als aktives File wählen ("Set as Active File" anklicken). Jetzt wäre ein guter Zeitpunkt unseren Mod etwas genauer zu beschreiben, damit wir in ein paar Monaten noch wissen was er eigentlich macht. Unter "summary" können wir z.B. "monströse Schlammkrabbe + editierte LeveledCreatures für Krabben" reinschreiben. OK klicken, das Master File und unser Schlammkrabben-Mod werden geladen.

    Im Object-Fenster klicken wir auf LeveledCreatures. In der Liste rechts suchen wir nach LL0WaterShallow100.

    Es gibt 5 WaterShallow - Listen, und alle erzeugen mit einer gewissen Wahrscheinlichkeit eine Schlammkrabbe. Die Wahrscheinlichkeit steht hinten mit dran: 100%, 75%, 50%, 25%.

    Wir werden die Listen so umändern, daß sie mehr Schlammkrabben erzeugen, und mit einer Wahrscheinlichkeit von 10% eine monströse Schlammkrabbe.

    Doppelklicken auf LL0WaterShallow100. Oben rechts im LeveledCreature-Fenster sind zwei Checkboxen:

    "Calculate from all levels <= PC's level" und "Calculate for each item in count".

    "Calculate from all levels <= PC's level" sorgt dafür, daß von dieser Liste nur Kreaturen erzeugt werden, deren Level (in der Liste) kleiner oder gleich der des Spielers ist. Wenn man diese Checkbox nicht nutzt, wird aus der Liste gewählt, was am nächsten an der Level des PCs ist. "In der Liste" bedeutet: man kann auch einen Stufe 20 - Oger auf Level 1 setzen, oder eine Stufe 1 - Ratte auf Level 20. Das Spiel hält sich an die Vorgaben die wir in der Liste setzen. Wir setzen die Checkbox auf "an", damit unsere Liste möglichst zufällige Ergebnisse erzeugt.

    "Calculate for each item in count" - weiss ich nicht ganz genau, es hat aber was damit zu tun, wie diese Liste funktioniert wenn sie aus einer anderen Liste aufgerufen wird. Wenn diese Checkbox nicht gesetzt ist, wird vermutlich nur ein Objekt aus der Liste gewählt, selbst wenn die Liste mehrfach von einer anderen aufgerufen wird. Wir setzen diese Checkbox, dadurch entstehen zufälligere Ergebnisse.

    Über "Chance None" kann man einstellen wie wahrscheinlich es ist, daß die Liste gar keine Monster erzeugt. Das lassen wir am Besten wie es ist; die Designer haben ja schon unterschiedliche Listen in der Spielwelt gesetzt.

    Aus der Object-Liste rechts im Fenster können wir andere Kreaturen wählen, dazu später mehr.

    Über "Level" und "Count" können wir bestimmen, ab welcher Stufe des PCs eine Kreatur erzeugt wird, und (über Count) wieviele. Wenn wir z.B. als Einträge in der Liste stehen hätten:


    Level___Count___Form Editor ID
    ___1_______1___CreatureMudCrab
    ___5_______2___CreatureSheep
    __10_______3___CreatureRat
    __15_______4___CreatureSkamp
    __20_______5___CreatureOgre


    würde die Liste für einen Player Character mit der Stufe 7 entweder 1 Krabbe oder 2 Schafe erzeugen, (wegen "Calculate from all levels <= PC's level"), ein Stufe 10 PC würde entweder mit 3 Ratten oder 2 Schafen beglückt, aber weder mit Ogern noch mit Krabben oder Skamps. Der Grund, warum keine Krabben mehr auftauchen würden, ist eine Spielvariable namens "iLevCreaLevelDifferenceMax". Diese Variable steht normalerweise auf 8, und sie sorgt dafür, daß von einer Liste keine Kreaturen erzeugt werden, die (in der Liste) 8 Stufen unter der Level der höchsten möglichen Kreatur stehen. Ein Level 20 PC würde 5 Oger oder 4 Skamps zu Gesicht bekommen, genau wie ein Level 50 PCs (die Differenz zwischen Ogern und Skamps ist kleiner als 8). Das ist der Grund, warum man in höheren Leveln keine Skamps mehr in den Oblivion-Ebenen findet. Wer will, kann "iLevCreaLevelDifferenceMax" höher einstellen, die Varable findet man im Menu unter Gameplay / Settings. Dadurch wird die Wahrscheinlichkeit erhöht, daß ein PC mit einer hohen Level schwache Gegner findet. Ist aber für dieses Tutorial nicht nötig.

    Mit "Preview Level", "Preview Count" und "Preview Calculated Results" können wir die Liste testen. Dazu geben wir die angenommene Level des PCs bei Preview Level ein, und die Anzahl der gewünschten Durchläufe unter Preview Count". Mit "Preview Calculated Results" kann man die Berechnung starten, die Ergebnisse werden in einem eigenen Fenster angezeigt.

    Bauen wir uns doch spasshalber mal die obige Liste und testen sie.

    Wir rechtsklicken "CreatureMudCrab" und wählen "New", das wiederholen wir bis wir 5 Einträge in der Liste haben.

    Wir wählen den zweiten Eintrag an, und setzen Level auf 5, Count auf 2, und aus der Object-Liste wählen wir CreatureSheep (5 oder 6 Einträge unter CreatureMudCrab).

    Die ganze Prozedur wiederholen wir mit allen weiteren Einträgen, bis unsere Liste wie die obige Beispielliste aussieht. In der Level-Liste werden die Einträge nach Level sortiert, der Niedrigste oben, der Höchste unten.

    Jetzt können wir ein paar Test-Durchläufe starten und sehen, was die Liste erzeugt. Setzen wir die Preview Level auf 10, und Preview Count (Durchläufe) auf 100. Spielen wir ein bisschen mit den Preview-Werten, um ein Gefühl dafür zu bekommen, was diese Liste einem wie auch immer gelevelten PC in Cyrodiil vorsetzen würde.

    Ein paar Ideen zum ausprobieren: was passiert, wenn man mehrere Einträge für Level 20 hat, wenn z.B. noch Minotauren und Deadroths dazukommen? Oder wenn man Wölfe für Level 7 einfügt? Was passiert, wenn man mehrmals die gleiche Kreatur einträgt, aber mit verschiedenen Counts für verschiedene PC-Levels, also z.B. 3 Ratten für Level 5, 6 Ratten für Level 10 und 9 Ratten für Level 15?

    ...Ok. Bauen wir jetzt unsere monströse Schlammkrabbe in die Welt von Cyrodiil ein.

    Bis auf die erste Schlammkrabbe (Count 1 / Level 1) löschen wir alle Einträge aus der Liste (rechtsklick / delete) . Wir kopieren die Schlammkrabbe wieder (mit rechtsklick / new), und zwar 9 mal.

    Jetzt ändern wir die Counts der Einträge: für 3 Einträge geben wir einen Count von 2 ein, d.h. in diesem Fall werden 2 Schlammkrabben erzeugt. Für weitere 3 geben wir als Count 3 ein, d.h. es werden 3 Schlammkrabben erzeugt. 3 Einträge lassen wir auf 1 stehen; damit wird die übliche, einzelne Schlammkrabbe erzeugt.

    Einen Eintrag ändern wir auf CreatureMonstrousMudCrab (Da ist sie!). Sie findet sich etwas über CreatureMudCrab in der Objektliste. Wer will, kann die Level für die monströse Schlammkrabbe etwas hochsetzen, z.B. auf 5. Dadurch würde erst ein Level 5 PC eine monströse Schlammkrabbe zu Gesicht bekommen.

    Unsere Liste sollte so aussehen:



    Level___Count___Form Editor ID
    ___1_______1___CreatureMudCrab
    ___1_______1___CreatureMudCrab
    ___1_______1___CreatureMudCrab
    ___1_______2___CreatureMudCrab
    ___1_______2___CreatureMudCrab
    ___1_______2___CreatureMudCrab
    ___1_______3___CreatureMudCrab
    ___1_______3___CreatureMudCrab
    ___1_______3___CreatureMudCrab
    ___1_______1___CreatureMonstrousMudCrab


    In 9 von 10 Fällen erzeugt die Liste die ganz normalen Schlammkrabben, aber um einige mehr als normal. Mit einer Wahrscheinlichkeit von 10% erzeugt sie jedoch eine monströse Schlammkrabbe - deshalb die mehrfachen Einträge mit dem gleichen Inhalt; die Liste wählt immer nur einen Eintrag aus, und wenn eine Wahrscheinlichkeit von 10% für die monströse Schlammkrabbe gewollt ist, müssen 9 andere Einträge dazu. 100 Previews für einen Level 5 PC sollte ungefähr 10 monströse Schlammkrabben und 180 normale Krabben erzeugen, wobei die normalen Krabben entweder allein, zu zweit oder zu dritt auftauchen werden. Da es im Originalspiel an den Flüssen von Cyrodiil Stellen gibt, an denen auch mal 2 oder 3 Krabben auftauchen, kann an diesen Stellen mit bis zu 9 Krabben gerechnet werden; das passiert aber nur sehr selten. An diesen Stellen können auch gemischte Gruppen aus normalen und monströsen Krabben auftreten, oder (gaaanz selten) 3 monströse Schlammkrabben.

    Jetzt können die anderen LL0WaterShallow - Listen in ählicher Weise abgeändert werden. Zumindest die LL0WaterShallow75 sollte noch geändert werden; sie wird im Spiel am häufigsten benutzt (242 User). Wer seine monströse Schlammkrabbe öfter sehen will, sollte weniger Einträge in die Liste setzen, aber ich persönlich finde, eine monströse Schlammkrabbe sollte man nicht alle Tage treffen.

    Jetzt können wir den Mod speichern - fertig. Wenn wir jetzt in Cyrodiil an den Flussläufen und Ufern entlangwandern, sollten wir ab und zu einer monströsen Schlammkrabbe begegnen.

    Wenn man will, kann man sich auch ganz neue Listen bauen, die dann von den ShallowWater-Listen benutzt werden: Listen können ineinander verschachtelt werden. Bei Kreaturen ist das nicht so wichtig, aber wenn man z.B. die Anzahl der Banditen erhöhen will, ist es angebracht Listen mit verschiedenen Banditen zu basteln, sonst sehen Banditenhorden aus als wären sie alle geklont. Man muss nur aufpassen, daß dadurch nicht zuviele Gegner erzeugt werden: wenn man 5 mal eine List aufruft, die jeweils 6 Gegner setzt, hat man am Ende 30 Gegner....

    So, hoffentlich hilft euch das Tutorial, und vielleicht gibt's ja bald einen Mod mit dutzenden, seltenen und gefährlichen neuen Kreaturen... Viel Spass!

    Link zum Original-Thread:
    http://forum.worldofplayers.de/forum...d.php?t=110162

  5. #5
    Anleitung zur Generierung eigener Rassen:
    =====================
    Öffnen Sie das CS, wählen Sie unter Data die Oblivion Masterfile.
    Gehen Sie auf den Schalter Charakter und dann auf Race.
    Dann öffne sich folgendes Fenster:



    1. Klicken Sie in diesem Fenster rechts und wählen Sie New. Dann tragen Sie dort die ID Ihrer Rasse ein.
    2. Hier alle Grundattribute der Rasse eintragen, jeweils für Frauen und Männer. Es muß unter dem Strich genau 320 herauskommen, aus Grunden der Balanche.
    3. Die die Bonis der Wunscheigenschaften eintragen. Es muß 45 herauskommen.
    4. Oh Verzeihung 5. Hier können Spezialattribute, Talente und Fähigkeiten hereingeogen werden. Dazu im Objekt Fenster Spells anwählen und den gewünschten Zauber/Eigenschaft in dieses Feld ziehen.
    6. Hier werden die Stimmen der Rasse festgelegt. Wählen Sie hier die Stimme, die Ihrer Rasse am nächsten kommt. (Es können auch eigene Stimmen eingefügt werden, diese müssen aber selbst aufgenommen werden. Das ist eine komplizierte Geschichte, auf die ich hier nicht eingehen möchte)
    ..............................................................
    Wählen Sie nun im Rassenfenster den Schlater "BodyData"



    Achtung! Hier nicht sichtbar, da unter dem Augefenster verdeckt. Stellen Sie zuerst in den Fenstern "FemaleBody" und "MaleBody" Grösse und Gewicht der Rasse ein. Alles unter 0.85 wirkt sehr klein und alles über 1.15 recht gross. Wenn Sie beispielsweise Zwerge erschaffen wollen, empfiehlt sich eine Grösse von 0.8 und bei Riesen ab 1.25.
    Alles andere in diesen Fenstern interssiert uns für diese Anleitung nicht.
    Dann fahren wir fort:
    1. Wählen Sie den Schalter Charakter nochmal und wählen Sie dann "Eyes". Dann öffnet sich das Fenster in dem alle Augentexturen enthalten sind.
    2. Wählen Sie eine gewünschte Augentextur an und ziehen Sie (linke Taste gedrückt halten und dann ziehen) diese in das Fenster (3.) "Eye Colors".
    Das selbe können Sie auch mit den Haupthaartexturen so machen. Dazu Charakter->Hair gehen und das gewünschte Haar in das Fenster "Hair Sysles" ziehen.
    4. Hier können Haartyp für Männer und Frauen, sowie Farbe, für den Vorgabecharakter der Rasse eingestellt werden.
    ......................................................
    Kommen wir nun zu "FaceData"

    Hier kann man das Gesichtsmodel der Rasse nach belieben abändern.
    So können beispielsweise menschliche Rassen mit Orkaugen entstehen, oder Kajiits mit Elfenohren geboren werden.

    Sie müssen dazu zunächst Gesichts-Modelle und Texturen entpacken.
    Diese befinden sich in den .bsa Packeten im Data Ordner.
    Die brauchen dazu den TES4bsa-Entpacker von Gohstwheel.
    Das Entpacken ist nicht ganz einfach. Hier ist ein Thread der die Anwendung beschreibt und ein Vereinfachungstool beinhaltet.

    Sind die beide"Oblivion-meshes.bsa und Oblivion-textures.bsa" entpackt, dann die Ordner"meshes/charakter" und textures/charakter" in den Data Ordner des Oblivion Stammverzeichnisses kopieren.

    Jetzt erst das kommen wir zum CS zurück.
    Gehen wir also zum Schlater "FaceData":


    Verpassen wir mal einer menschlichen Rasse spitze Elfenohren.
    1. Klicken Sie auf das linke Schaltfeld neben"Ears (male)"
    2. Dann müsste das Browserfenster sich öffnen und zwar Oblivion/Data/meshes/.
    Dort wählen Sie "charakters/woodelf" und darin "earswoodelf.nif" .
    Das müsste nun auch in dem Schaltfeld stehen.

    3. Danach kann das Ohr mit einer bestimmten Textur überzogen werden.
    Das läuft nach dem selben Schema ab.
    Schaltfeld anklicken, im Browser "Oblivion/Data/texures/charakters" eine gewünschte Textur suchen.
    Ich ändere für unser Beispiel gar nichts und belasse die Textur mit "earshuman.dds"

    Den selben Vorgang mache ich auch für weibliche Köpfe. Dazu gehe ich eine Spalte tiefer: "Ears (female)"
    ..........................................................
    Weiter mit dem Schalter "FaceGenData"



    Hier können Sie nach herzenslust den Vorgabetyp Ihrer Rasse einstellen. Es funktioniert ähnlich wie in der Rassengenerierung am Anfang des Spiels. Mehr ist dazu nicht zu sagen.
    ......................................................
    Weiter mit dem Schalter "TextData"



    Unter "Name" den Namen der Rasse eintippen, unter "Description" den Beschreibungtext dazu und zuletzt "Playable" makieren.
    .......................................................
    Weiter mit "Reactions"



    Dieses Feld regelt die Grundeinstellungen Ihrer Rasse zu den anderen. Klicken Sie auf das Hauptfeld rechts, wählen Sie New und dann eine Rasse, die eine besondere Beziehung zu Ihrer Rasse haben soll. Alle Werte über 0 verbessert die Einstellung einer Rasse zu Ihrer Rasse und alle unter 0 verschlechtern diese.
    ...........................................................
    Bestättigen Sie nun das Rassefenster mit OK und speichern Sie alles kurz mal ab.
    Normalerweise wären wir an dieser Stelle fertig, wenn wir in Morrowind wären.
    Sind wir aber nicht. Durch die neuen Sprachausgaben können rassenspeziefische Optionen entstehen.
    Wenn wir nun ein Spiel beginnen, unsere Rasse anwählen, den Charakter erstellen, werden wir feststellen, dass wir in der Zelle versauern können. Es passiert nichts.
    Wir müssen erst verursachen, dass diese unverschämte Dunkelelf (Valen Dreth) uns anmacht.
    Daher gehen wir jetzt zum komplizierten Teil über.
    ..............................................................
    Wählen Sie nun den Schalter Charakter->Quests



    1. Wählen Sie im Fenster links "Charaktergen"
    2. Wählen Sie die EditorID "CharGenTaunt2"
    3. Klicken Sie hier rechts und wählen New. Dann öffnet sich ein weiters Fenster in das Sie irgendein Text eingeben müssen. (Normalerweise werden die Texte die dort stehen gesprochen. Aber in unserem Fall ist dasunerheblich, da wir erst einmal eine Aufnahme des Textes haben müssten, daher kann dort auch "AAAAAAAA", oder "BBBB" stehen, es spielt keine Rolle)
    Bestätigen Sie die Eingabe.
    4. In diesem Feld steht nun der Text nochmal, er kann dort auch abgeändert werden. Daneben kann man die Emotion dazu einstellen, was aber für unseren Fall auch keine Rolle spielt.
    5. Dieses Feld ist enorm wichtig. Es sagt Oblivion was der Dialog bewirkt. Dazu gehen wir unten aber genauer drauf ein. Zunächst steht da noch gar nichts.
    6. Auch dieses Feld ist von grosser wichtigkeit. Es beschreibt Oblivion die Bedingungen, die gegeben sein müssen damit der Dialog passiert.

    Es ist wichtig, dass wir den Vorgang, nähmlich Rechtskilck und New und Texteingabe, dreimal durchführen, so dass nun drei neue Texte im Infofenster stehen.
    Nun wollen wir uns diese beiden Felder genauer ansehen.



    1. In diesem Fenster"ResaultSkript" steht, wie erwähnt, der Effekt des Dialoges. Für jeden der drei erstellten Texte muß folgendes drinstehen:
    "set characterGen.tauntCount to characterGen.tauntCount + 1" (ohne die ")
    Sie können das hier abkopieren und gerade ins das Feld einfügen.
    Zusätzlich muß im letzten der drei Dialoge das Kürzel "evp" (ohne die ") stehen.
    2. Hier stehen die Bedingungen, damit der Dialog stattfinden kann.
    Es müssen hier, mit dem Rollschalter unten folghende Komponenten enthalten sein:
    - Welche Quest (Variable "GetQuestVariable" und im Parameter "Quest: Charaktergen, taunt"
    - Welche Rasse (Variable "GetIsRace" und im Parameter Ihre erstellte Rasse wählen. Ausserdem die Option "Run to Taget" anwählen)
    - Welcher NPC (Variable "GetIsID" und im Parameter "ValenDreth" wählen)
    - Gegebenfalls welches Geschlecht, aber das wäre nun zu Kompliziert. Lassen wir also das Geschlecht mal weg. Das wäre die Variable "GetIsSex"
    3. Es ist weiterhin wichtig die Reihenfolge des Dialoges zu beschreiben.
    Dazu muß die Variable "GetQuestVariable" mit einem Wert belegt werden. Diesen tragen Sie im Feld "Value" ein.
    Gehen Sie folgendermassen vor.
    - Für den ersten Dialog Value: 0.0000
    - Für den zweiten Dialog Value: 1.0000
    - Für den dritten Dialog Value: 2.0000

    Eigentlich enthällt der Dialog noch einen vierten Teil und zwar der wenn die Wachen samt Kaiser kommen. Dieser wird nach beendigung des drtten Teils dann freigeschaltet.
    Damit wären wir fast ferig.
    Und noch etwas. Falls im Fesnter "Result Skript" die Option Random angekreuzt ist, müssen Sie diese entfernen.

    ........................................................
    Überprüfen Sie alles nochmal im Infofenster oben, dort muß alles so eingetragen sein, wie Sie es unten eingestellt haben.
    Klicken Sie, falls alles stimmt, nun auf OK rechts unten. Speichern Sie alles ab. Wenn Ihr Plugin aktiv ist, werden die Daten automatisch überschrieben.
    ..............................................................

    Wählen Sie im OblivionLauncher Ihren Plugin an.
    Starten Sie ein neues Spiel, wählen Sie Ihre Rasse.
    Das Spiel sollte sich nun folgendermassen verhalten.
    Gehen Sie an die Gitterstäbe. Dann müsste der ValenDreth sich auch an seine Gitterstäbe bewegen, aber er sagt lange nichts. Klar wir haben ja keine Sprachausgabe.
    Erst nach ca. 30 Sekunden sagt er dann "Hört Ihr, die Wachen kommen euch holen, HAHAHA"
    Dann kommen die drei Klingen mit dem Kaiser und das Spiel beginnt.

    Link zum Originalthread

  6. #6

    Users Awaiting Email Confirmation

    Wentis dickes Zauber-Tutorial


    Als Beispiel benutze ich meinen Schrumpfzauber.

    Zauber erstellen


    Also öffnen wir unser CS und laden die Oblivion.esm
    Im Object Window gehen wir unter Magic->Spell. Da es ein ganz neuer Zauber werden soll, klicken wir rechts in die Liste und klicken auf "New".

    Jetzt haben wir gaaaanz viele Auswahlmöglichkeiten. Bei "ID" geben wir einen Namen ein den wir im Editor gut wiederfinden können, z. B. "WeSpell224455MQ" (achtung Ironie^^).
    Also etwas Einfaches wie "Shrinkspell" oder Ähnliches.
    Unter "Name" geben wir den Namen an, der im Spiel angezeigt werden soll, in diesem Fall "Schrumpfen".
    Unter "Type" kann man einstellen was es für eine art von Zauber ist, in diesem Fall lassen wir es auf normalem Zauber.

    Dann haben wir noch folgende Auswahlmöglichkeiten, die wir hier allerdings nicht brauchen:

    Disallow Spell Absorb/Reflect: der zauber kann nicht reflektiert oder Absorbiert werden.
    Scrip Effect Always Applies: ???
    Area Effect Ignores LOS: der Zauber kann durch wände und objekte dringen.
    Immune to Silence: Der Zauber kann auch gesrpochen werden wenn ein Stille Zauber auf einem ruht.
    PC Start spell: der Zauber ist von Anfang an verfügbar.

    Effekte erstellen

    Jetzt klicken wir rechts in das Effects-Fenster und wählen "New"
    Und wieder haben wir viele Möglichkeiten :

    Effect: Naja, welcher Effekt halt eintreten soll
    Range: Hier kann man einstellen ob der Zauber auf einen Selbst, bei berührung oder auf entfernung wirken soll.
    Area: Hier kann eingestellt werden wie groß der Wirkungsradius ist, bei 0 wirkt es nur direkt. Geht nur bei Berühren und Ziel.
    Duration: Wie lange soll der Zauber wirken (in sek)
    Magnitude: Um wieviele Punkte soll der Zauber wirken?
    Actor Val: hier sind verscheidene Möglichkeiten aufgelistet, z. B. beim erhöhen von Attributen.

    Da Schrumpfen ein nicht vorhandener Effect ist müssen wir den scripten.
    Dazu wählen wir unter "Effect->Script Effect" aus.
    Bei "Range" machen wir "Ziel", wir wollen uns ja nicht selbst schrumpfen (was auch gar nicht geht, dazu später)
    Bei "Duration" machen wir 1 Minute, also "60"
    Die anderen Felder sind grau, da diese Effekte bestimmt sind und das CS weiß ja nicht was unser Effekt machen wird.

    Jetzt gehn wir weiter runter in den Abschnitt "Script Effect Info"
    Und wieder Einstellungen, argh:

    Script: Das Script das ausgeführt werden soll wenn der Zauber benutzt wird. Scripts sind kleine eigene Funktionen die in den Spielcode eingefügt werden. Mehr dazu später.
    Effect Name: Der Name des effekts, dieser erscheint dann später im Spiel unter den Zauber Details, z. B. "Schrumpfen, 60 sek. an Ziel".
    School: Hier kann man die Zauberschule angeben, wie Zerstörung oder Illusion.
    Visual Effects: Man kann hier vorgegebene Effekte auswählen, wie z. B. blitze oder Nebel.
    Effect is Hostile: Wenn angeklickt, bedeutet das dass der Zauber nicht erlaubt ist auf andre auszuführen.

    Scripting

    Ich wiederhole jetz nochmal ganz frech ein paar Teile aus Lakos Skripting Tut

    Wie gesagt, Skripte sind kleine Funktionen die im Programm ausgeführt werden. Skripte können auf verschiedene Sachen ausgeübt werden, z. B. auf Objekte oder NPCs. In diesem Fall wird das Script auf das Ziel ausgeführt, da wir ja unter "Range->Ziel" ausgewählt haben.

    Um ein neues Script zu öffnen klicken wir entweder auf die 3 Punkte neben Script, oder auf den kleinen Bleistift oben in der Toolbar. Jetzt geht ein Fenster auf und wir gehen auf "Script->New".
    Da das ganze ein Zauber werden soll wählen wir unter Script Type "Magic Effect" aus.
    Das schöne an Magic Scripts ist das es nur 3 wirkliche Befehle gibt:

    ScriptEffectStart - Wenn der Zauber gestartet wird, bzw, wenn er das Ziel trifft
    ScriptEffectUpdate - Solange der Zauber läuft.
    ScriptEffektFinish - Wenn der Zauber zu ende ist

    Als erstes braucht unser Script einen Namen. Also geben wir in die erste Zeile ein:
    Code:
    Scn shrinkordie
    Der Befehl Scn gibt dem Script einfach nur den Namen unter dem es im Editor angezeigt wird.
    Da wir wollen das der Gegner schrumpft wenn er vom Zauber getroffen wird, müssen wir die Größe während des Starts des Zaubers ändern.

    Also schreiben wir in das Fenster:
    Code:
    Begin ScriptEffectStart
      SetScale 0.6
    End
    Erklärung:
    Code:
    Begin
    leitet einen Block ein

    Code:
    SciptEffectStart
    sagt der Block soll gestartet werden wenn der Zauber gestartet wird

    Code:
    SetScale
    ist eine Funktion. Funktionen können verschiedene Sachen ausführen, wie z.B. die größe ändern, oder Items hinzufügen. SetScale in
    diesem Fall setz die größe des Ziels vom Standart (1.0) auf 0.6 herunter. Achtung: SetScale funktioniert nicht beim eigenen Character! Im Ego-Modus passiert überhaupt nichts und im 3rd-Person Modus wird lediglich die Kamera nach unten gesetzt.

    Code:
    End
    beendet den Block.

    Blöcke sind abschnitte im Script die zu verschiedenen Zeitpunkten eingeleitet werden.

    Aber jetzt muss ja auch noch der Gegner wieder groß werden, sobald der Zauber vorbei ist.
    Also scheieben wir in das Script:

    Code:
    Begin ScriptEffectFinish
      SetScale 1.0
    End
    Das dürfte sich von selbst erklären

    Jetzt sollte unser Script so aussehen:
    Code:
    scn shrinkordie
    
    Begin ScriptEffectStart
     SetScale 0.6
    End
    
    begin scripteffectfinish
      setScale 1.0
    End
    Jetzt gehen wir noch auf "Script->Save"

    Jetzt klicken wir beim Effect Item Fenster auf "OK" und öffnen es nochmal, damit er die Scriptliste aktualisiert. Jetzt wählen wir bei Script unser Script aus. (Hier [B]"shrinkordie"[B])
    Bei "Effect Name" geben wir "Schrumpfen" ein. Bei "School" wählen wir Veränderung, oder Zerstörung, oder irgendwas was damit zutun hat.
    Bei "Visual Effects" kann man ein bisschen rumspielen, ich hab hier mal "öffnen" genommen.
    Jetz mit OK bestätigen.

    Aber nein wir sind immernoch nicht fertig

    Feintuning

    Im Moment werden unsre Gegner einfach nur kleiner, bleiben aber gleich stark.
    Also machen wir nochmal einen neuen Effekt (rechtsklick ins Effects-Fenster)
    Wir wählen aus:

    Effect: Attribut entziehen
    Range: Ziel
    Area: 0
    Duration: 60
    Magnitude: 20
    Actor Val: Stärke

    Das gleiche machen wir mit Konstitution.
    Aber da kleine Wesen meistens Flink sind, geben wir ihnen mit "Attribut festigen" nochmal 5 Punkte auf Geschicklichkeit und Schnelligkeit.

    Wie wir sehen können rechnet das CS automatisch die Magicka kosten und den Spell Level aus. (Unter dem Effects-Fenster zu sehen)
    Allerdings rechnet es auch negative Effekte wie z.B. das die Gegner 5 Punkte Schnelligkeit bekommen drauf. Also machen wir das Häkchen bei "Auto-Calculate" weg und schreiben etwas geeignetes rein. Beim "Spell kost" muss man im Spiel immer nur die Hälfte des eingegeben Werts bezahlen, keine Ahnung warum. Also geben wir da den doppelten Wert ein.

    Zauber Einbauen

    Man kann jetzt meinen der Zauber ist fertig. Allerdings muss der Spieler ja noch irgendwie drankommen. Also suchen wir uns einen Zauberhändler unter Actors->NPC und machen einen Doppelklick auf ihn. Den Zauber ziehen wir per Drag&Drop aus dem ObjectWindow in seine Spelllist.

    Tip: Der NPC "Agata" ist ein Händler und wohnt in der Magiergilde in Leyawiin.
    Jetzt speichern wir das ganze ab (strg+s). Wir starten Oblivion und aktivieren das PI unter "Spieldateien." Im Spiel reisen wir nach Leyawiin und kaufen Agata den Spell ab. Jetz kann man ein bisschen damit rumspielen, evt. Bugs entdecken, etc...

    Fertig, dein Zauber ist nun einsatzbereit !

    Weiteres zum Scripting:
    Funtionen, Befehle, etc. im CS-Wiki (Englisch)
    Sehr gutes Scripting Tut von Lakos

    Ich hoffe ich konnte ich konnte euch helfen auf eurem Weg zum Erzmagier



    Orginalthread

  7. #7

    Katan Gast

    Wegpunkte - "Edit Cell Path Grid" und "Path Grid Generation"

    Wegpunkte - "Edit Cell Path Grid" und "Path Grid Generation"

    Aus Wegpunkten wird eine Art Gitternetz erstellt, dass von der AI analysiert und zur Navigation der NPCs in einer Zelle benutzt wird. Damit sich NPCs also korrekt verhalten, ist es unabdingbar, eine Zelle mit einem solchen Gitternetz zu versehen. Ich werde zwei Möglichkeiten aufzeigen, eine Zelle mit Wegpunkten zu füllen - Edit Cell Path Grid und Path Grid Generation.


    1. Edit Cell Path Grid
    In den sogenannten Pathnode-Modus gelangst du entweder über den entsprechenden Button in der Werkzeugleiste oder über World -> Edit Cell Path Grid. In diesem Modus kannst du ausschließlich Pfade erstellen, bearbeiten und löschen, wo hingegen du alle anderen Objekte nicht mal selektieren kannst.

    Die Kontrollen im Pathnode-Modus:

    Rechtsklick
    Indem du einen Rechtsklick auf den Boden in einer Zelle machst, erstellst du einen roten Wegpunkt, momentan noch eine Waise.

    Linksklick
    Indem du mit der linken Maustaste auf einen Wegpunkt klickst, wählst du ihn aus. Jetzt kannst du ihn verschieben.

    Alt + Rechtsklick
    Erstellt blaue Wegpunkte. Zwischen den blauen und den normalen roten Wegpunkten gibt es eigentlich nur einen Unterschied: Die blauen werden als bevorzugte Wegpunkte von der AI anerkannt. Für Stadtwege, Brücken etc. sind diese bevorzugten Wegpunkte nützlich, in Dungeons eher weniger; sie sollten dort nur angewandt werden, wenn ein besonderer Grund dafür besteht.

    Alt + Linksklick
    Halte Alt gedrückt und klicke mit der linken Maustaste auf einen Wegpunkt. Hierdurch wird er zu einem blauen (bevorzugten) Wegpunkt. Wiederholst du dieses Verfahren, wird er wieder rot.

    Strg + Rechtsklick
    Hiermit erstellst du einen Wegpunkt, der mit dem ausgewählten Wegpunkt durch eine gelbe Linie verbunden ist. Diese gelbe Linie zeigt an, dass die AI einen gültigen Pfad zwischen den Wegpunkten erkennt. Also immer darauf achten, ob diese Linie vorhanden ist.

    Strg + Linksklick
    Hierdurch kannst du einen bereits bestehenden Wegpunkt mit einem anderen verbinden bzw. eine verbindung zwischen zwei Wegpunkten wieder aufheben.

    R (bei ausgewähltem Wegpunkt)
    Öffnet das Parent-Menü des ausgewählten Wegpunkts. Unter Benutzung des EnableLinkedPathPoints-Skripts können Wegpunkte aktiviert und deaktiviert werden. In den Auswahlmenüs "Cell" und "Ref" kannst du Zelle und Referenz selbst einstellen, dir bietet sich aber ebenso die Möglichkeit, einen Parent durch Drücken von "Select Reference in Render Window" im Render-Fenster selbst einzustellen. Wozu das gut sein soll? Ein kleines Beispiel: Du hast einen Dungeon gebaut und mitten in einem Durchgang eine Falle aufgestellt, die durch einen Stolperdraht aktiviert wird. Nun hast du aber auch NPCs in diesem Dungeon und genau wie der Spieler können sie Fallen aktivieren. Jetzt könntest du den Wegpunkt dort wegnehmen und das Gitternetz somit unterbrechen, damit die Falle einzig und allen durch den Spieler aktiviert werden kann. Ebenso gut aber könntest du aber auch das Parent-Menü des "störenden" Wegpunkts aufrufen und den Stolperdraht als Parent angeben. Somit ist der Wegpunkt solange deaktiviert (sprich: wird von den NPCs nicht benutzt), bis der Stolperdraht ausgelöst wird.

    So viel also zum manuellen Erstellen von Wegpunkten. Gehen wir nun zur zweiten Möglichkeit über.


    2. Path Grid Generation
    Path Grid Generation ist eine gute und äußerst bequeme Möglichkeit, Exteriorwelten mit einem Gitternetz aus Wegpunkten zu versehen. Allerdings natürlich auch etwas ungenauer, als es von Hand zu machen. Und am Besten immer noch aufgehoben beim Arbeiten mit Exteriors. Solltest du irgendwann mal auf einen orangen Wegpunkt treffen - das ist ein automatisch generierter Wegpunkt, der sich nur in der Farbe von den roten unterscheidet.

    Diese Funktion tut folgendes:
    • Generiert automatisch Wegpunkte auf dem Gelände.
    • Erkennt, wenn Abhänge zu steil sind.
    • Erkennt, wenn etwas im Weg ist.
    • Löscht Wegpunkte ohne Verbindung (Waisen).
    • Verbindet mit bereits existierenden Wegpunkten.
    • Erkennt Wasser und wird Wegpunkte ausschließlich am Rand erstellen, damit die NPCs hinein und wieder hinaus können.
    • Regelmäßige Autosaves.
    • Generiert weitere Wegpunkte in Regionen, in denen das Pfaden früh beendet wurde.

    Benutzen kann man die Funktion auf zwei verschiedene Methoden. Entweder über "World -> Path Grid Generation" oder "World -> Regions".

    Die "World -> Path Grid Generation"-Methode
    Hier hast du acht verschiedene Auswahlmöglichkeiten:

    Generate Active Cell
    Hierdurch werden Wegpunkte in der Zelle generiert, die du gerade im Render-Fenster geladen hast.

    Generate Selected Cells
    Mit Strg + Linksklick lassen sich im Cell View-Fenster mehrere Zellen auf einmal auswählen. Benutzt du diese Funktion werden nur in diesen ausgewählten Zellen Wegpunkte erstellt.

    Generate ALL BUT Selcted Cells
    Hierdurch werden in allen Zellen Wegpunkte erstellt AUßER in den ausgewählten Zellen.

    Generate Entire World
    Wegpunkte werden in allen Zellen eines ausgewählten World Spaces generiert.

    Remove from Active Cell
    Hierdurch werden alle Wegpunkte aus der Zelle entfernt, die du gerade im Render-Fenster geladen hast.

    Remove from Selected Cells
    Benutzt du diese Funktion werden aus diesen ausgewählten Zellen alle Wegpunkte entfernt.

    Remove from ALL BUT Selected Cells
    Hierdurch werden die Wegpunkte aus allen Zellen entfernt AUßER aus den ausgewählten Zellen.

    Remove from Entire World
    Alle Wegpunkte in den Zellen eines ausgewählten World Spaces werden entfernt.


    Die "World -> Regions"-Methode
    Hierdurch kommst du in den Regions-Editor. In der linken Liste befinden sich alle Regionen, die zu einem World Space gehören, im Auswahlmenü darüber kannst du den World Space auswählen. Unter "Path Grid Generation" findest du zwei Buttons:

    Generate Path Grids for this Region
    Hierdurch werden Wegpunkte in der ausgewählten Region erstellt. Du wirst gefragt, ob die bereits in der Region vorhandenen Wegpunkte gelöscht werden sollen. Klickst du auf Ja, wird die gesamte Region von Grund auf neu gepfadet. Klickst du allerdings auf Nein, wird nur in den Zellen der Region automatisch gepfadet, die bisher noch nicht bearbeitet wurden.

    Remove Path Grids for this Region
    Hierdurch werden alle Wegpunkte in der ausgewählten Region gelöscht.

    Zusätzlich kannst du Alt und Shift gedrückt halten und einen Rechtsklick machen, um einen "generierten" Wegpunkt manuell zu setzen. Das ist besonders nützlich, wenn du die Wegpunkte in einem Bereich noch etwas verfeinern möchtest, sie aber unter dem Umstand, dass die Region jemals neu gepfadet wird, gelöscht werden sollen.

  8. #8

    Users Awaiting Email Confirmation

    Malen nach Zahlen mit Went - Wie verändere ich Texturen?


    So, das angeforderte Tutorial zum Texturieren

    Getting Started
    Zuerst brauchen wir erstmal einen ganzen Haufen Programme:
    TES4BSA - Zum entpacken der BSA Files, in denen sich die orginal Texturen, Meshes, etc. befinden.
    DDS Converter 2 - Zum konvertieren der DDS Files, das sind die Texturen, dazu später mehr. (Ich habs jetz halt auf ner Doom3 Seite gefunden ) Wenn ihr ein Grafikprogramm à la Gimp oder Photoshop hab müsst ihr mal bei Google suchen, für diese Programme gibt es DDS PLugins, z. B. von Nvidia.
    NifSkope - Zum bearbeiten der Nifs, das sind die Meshes.

    Außerdem benötigen wir noch ein Grafikprogramm das mindestens so gut wie Gimp ist, ich benutze Ulead Photoimpact (ja ich weiß, Noobie kann aber ganz schön viel) Die Beispielbilder die ich hier mache sind für Photoimpact, können aber mit den meißten Programmen auch gemacht werden (man bruacht natürlich ein gewisses Grundwissen) Im Internet gibt es viele gute Tutorials für Photoshop und Famaly


    Einführung
    Texturen sind Bilder die auf ein 3D-Modell draufgeklebt sind. Sie sind im DDS Format abgespeichert, was unteranderem verschiedene Ebenen (also mehrere Bilder übereinander in einer Datei), Transparenz und noch ein bisschen mehr unterstützt. Meshes sind Dateien in denen die Modelle gespeichert sind und z. B. auch welche Textur es benutzt. In Oblivion sind die Meshes im Nif-Format abgespeichert. Es gibt verschiedene Texturen: Zum einem gibt es einfache Texturen, in denen nur die Farben des Modells gespeichert ist, jedes sichtbare Modell in Oblivion hat so eine. Dann gibt es noch Normal-Maps, in ihnen sind Höhenunterscheide gespeichert, um etwa ein Holzbrett rau wirken zu lassen. Das ist eigentlich ein Trick, um mehr darüber zu erfahren einfach mal bei Google suchen. Diese Texturart, mit einem angehängten "_n" im Dateinamen gekennzeichnet, findet man auf fast jedem Objekt in Oblivion wieder. Die letzte Texturart, nicht ganz so oft gebraucht, ist die Glanztextur, die z. B. Glas im Licht glänzen lässt. Sie wird mit einem angehängten "_g" gekennzeichnet.


    Entpacken
    Um die Dateien bearbeiten zu können, müssen wir sie erstmal entpacken. Dazu entpacken wir die TES4BSA.exe, die wir vorhin runtergeladen haben, in einen beliebigen Ordner, z. B. auf dem Desktop in "Oblivion BSA Files". Jetzt brauchen wir noch die Archive in denen die Datein gespeichert sind, das ist zum einen die "Oblivion - Meshes.bsa" für die Meshes (Nif-Dateien) und die "Oblivion - Textures - Compressed.bsa" für die Texturen. Beide befinden sich im Ordner "Oblivion\Data\". Also kopieren (nicht verschieben!!) wir diese beiden Dateien in unseren neuen Ordner. Da die TES4BSA auf CMD basiert und nicht einfach so geöffnet werden kann, müssen wir dem PC sagen das er eben mit dieser exe den Unpack-Befehl ausführen soll. Aber wie machen wenn man sie nicht öffnen kann?

    Ganz einfach: mit dem CMD.
    Das CMD lässt sich auf 2 Arten bedienen: Per Hand oder ber Batch-Datei. Da letzteres für uns das Einfachere ist, will ich die andere Variante gar nicht groß erklären. Wir klicken also rechts in unseren Ordner, in dem sich auch die anderen Dateien befinden, und wählen "Neu->Textdokument". Jetzt erscheint ein neues Textdokument, das wir mit dem Editor öffnen (Doppelklick). Da schreiben wir rein:

    Code:
    tes4bsa unpack "Oblivion - Textures - Compressed.bsa"
    tes4bsa unpack "Oblivion - Meshes.bsa"
    Wir sagen also dem CMD es soll die TES4BSA öffnen und mit dem Befehl "unpack" füttern. Dazu noch eine dritte Angabe, nähmlich was zu entpacken ist.
    Jetzt drücken wir "Strg+S" um die Datei zu speichern. Damit das ganze eine Batch-Datei wird ändern wir den Dateienamen in "Entpacken.bat".
    Nun öffnen wir diese Datei per Doppelklick und gehen mal aufs Klo. Das kann nähmlich ne ganze weile Dauern Nach dem Entpacken können wir noch die BSA Dateien löschen, um Platz zu sparen.


    Die richtige Struktur
    Da wir jetzt mit sehr vielen Dateien arbeiten, ist es sinnvoll von Anfang an die richtige Ordnerstruktur zu halten. Wie wir sehen sind die Dateien aus den Archiven schon geordnet. In diesem Tutorial werden wir ein paar Glasstiefel blau machen. Also suchen wir im Ordner "\meshes\armor\glass\". Dort sind jetzt alle Meshes der Glasrüstung aufgelistet. Da die Schuhe bei männlichen und weiblichen Characteren gleich aussieht sind sie nur im Ordner "m" (für männlich ) unter dem Namen "boots.nif" zu finden, das ist das Modell, so wie es am Spieler dargestellt wird. Allerdings gibt es auch noch die "boots_gnd.nif", diese enthält das Modell, das man in der Spielwelt sehen kann. Jetzt legen wir einen neuen Ordner an, egal wo, am besten dort wo man ihn gut finden kann, z. B. mit dem Namen "Glasschuhe". In ihm legen wir wieder einen Ordner an und nennen ihn "meshes". In diesen Ordner einen weiteren mit dem Namen "Armor", in den den Ordner "Glass" und in den den Ordner "m". Mann sollte sich jetzt in "\meshes\armor\glass\m\" befinden. Jetzt kopieren wir die Dateien "boots.nif" und "boots_gnd.nif" in diesen Ordner und bennen sie in "bootsBLUE.nif" und "bootsBLUE_gnd.nif" um. Das umbenennen deshalb, damit nicht alle Glassstifel dieses Modell bekommen.
    Jetzt brauchen wir noch die Texturen. Dazu suchen wir im Ordner unserer entpackten Dateien: "\textures\armor\glass\m\" die Dateien "boots.dds", "boots_g.dds" und "boots_n.dds". Jetzt wechseln wir wieder in unseren Glasschuhe-Ordner und erstellen wieder Ordner mit diesem Pfad: "\textures\armor\glass\m\" da kopieren wir die 3 Textur Dateien rein und benennen sie in "bootsBLUE.dds", "bootsBLUE_g.dds" und in "bootsBLUE_n.dds" um.

    Texturen zuordnen
    Jetzt kommt NifScope ins Spiel, das wir zuerst installieren müssen. Danach sollten sich alle Nif dateien automatisch mit NifScope öffnen. Wir öffnen also die "BootsBLUE.nif" und sehen erstmal eine Fehlermeldung. Diese sagt uns das die Textur nicht gefunden werden kann, davon lassen wir uns aber nicht abhalten. Wir klicken also links auf das Kreuzchen in der Liste und suchen den Eintrag "NiTexturingProperty". Dort klicken wir wieder auf das Kreuzchen und sehen eine Lila Blume mit einer Pfadangabe dahinter. Die ändern wir in "textures\armor\glass\m\BootsBlue.dds". Damit sagen wir der Nif dass dass die Textur für dieses Modell ist. Wir bekommen wieder die Fehlermeldung, das liegt daran das der Texturen-Ordner nicht gefunden werden kann, im Spiel und im CS funktioniert das aber dann. Falls man testen will ob es funktioniert, kann man auch einfach mal den Textures-Ordner in "\meshes\armor\glass\m\" kopieren und die nif-Dateien öffnen, NifScope zeigt dann die Texturen an. Jetzt noch auf "save" klicken und den alten Nif- File überschreiben. Das gleiche machen wir jetzt noch mit der "BootsBLUE_gnd.nif"

    Screen

    Texturen verändern
    Nun müssen die neuen Texturen erstellt werden. Dazu müssen sie erstmal in ein berarbeitungsfähiges Format umgerechnet werden. Wir installieren also den DDS-Konverter und öffnen ihn. Jetzt wählen wir bei "Output Format" das Format aus, das wir bearbeiten können. Ich empfehle PNG oder PSD, die beide bei guter Qualität, Ebenen, Transparenz, etc... unterstützen. Jetzt klicken wir noch auf "Convert". Die konvertierten Bilder sind jetz mit gleichem Namen im gleichen Ordner gespeichert. Jetzt öffnen wir unser Grafikprogramm und öffnen die einfache Farbtextur, also die "bootsBLUE.png", bzw. die entsprechende Dateiendung.

    Screen

    Da das Leder gleich bleiben soll, schneiden wir das aus und legen es in einem leeren Bild ab.

    Screen

    Um eine goldene Verzierung zu bekommen, legen wir zuerst einmal einen Gelbfilter drüber und erhöhen den Kontrast um 11%.

    Screen

    Jetzt schneiden wir ein "Glasteil" aus und legen einen Blaufilter darauf. Ich habe auch noch Helligkeit und Kontrast etwas hochgedreht.

    Screen

    Das machen wir mit allen Glasteilen. Dann kopieren wir die Ledertextur wieder in das Bild. Es sollte dann in etwa so aussehen:

    Screen

    Wie ihr seht habe ich ein Paar Teile golden gelassen, für die Verzierungen. Außerdem habe ich noch einen Glanzfilter darüber gelegt.

    Jetzt speichern wir das Bild ab und gehen wieder in den DDS-Konverter, wählen bei "Output Format" DDS und konvertieren das ganze zurück.


    Rüstung einbinden
    Damit das CS überhaupt auf die Dateien zugreifen kann, müssen sie in den Oblivion\Data Ordner. Also kopieren wir unseren "Textures" und unseren "Meshes" Ordner in den Oblivion\Data Ordner. Jetzt starten wir das CS klicken auf "Data" und aktivieren per doppelklick die "Oblivion.esm". Dann bestätigen wir mit Ok. Wir wollen jetzt unsere Rüstung erstmal begutachten, dazu gehen wir links unter "Items->Armor->Glass", machen einen Rechtsklick und wählen "new"

    Bei Id geben wir den Namen an der im CS angezeigt werden soll. Bei Name geben wir den Namen im Spiel an. Weight bestimmt das Gewicht außerdem können wir die Art der Rüstung angeben. Bei Health geben wir die Punkte ein bis die Rüstung kaputt ist, unter AR den Rüstwert und unter Value den Preis. Bei "Biped Object" wählen wir "Foot" aus, es ist ja an den Füßen. Jetzt müssen wir noch die Models auswählen. Wir sehen rechts unter dem Abschnitt "Male" "Biped Model". Da klicken wir drauf und wählen unser Normales Model aus. Darunter unter "World Model" wählen wir unser _gnd Model aus. Ihr könnt die restlichen Daten ja aus dem Screenshot übernehmen.

    Screen

    Jetzt müssen wir die Stiefel ja noch irgendwie bekommen. Man kann sie natürlich einem Händler geben, aber ich lege sie jetzt einfach mal in Anvil auf die Straße. Dazu wählen wir im Cell View Fenster oben "Anvil World" aus.

    Screen

    Jetzt ziehen wir die Stiefel mit der Maus an eine beliebige Stelle (Man sollte sie natürlich erreichen können )
    Wir speichern das ganze ab und aktivieren das PI unter "Spieldateien" Jetzt starten wir das Spiel und holen uns unsere neuen Schuhe

    Diskussion: http://forum.worldofplayers.de/forum...d.php?t=112810

    http://lolsoft.lo.funpic.de/TES/Scre...morlight12.jpg

  9. #9
    Das ist eine Übersetzung von mir: Dieses Tutorial (V. 1.0) wurde geschrieben von psychicworm und übersetzt von Kashrlyyk. Das originale englischsprachige Tutorial ist hier zu finden.
    _________________________________________________


    TES4 Oblivion Anfänger Modeliertutorial
    Wie man Modelle mit 3dsmax und Photoshop editiert oder erstellt und sie ins Spiel einfügt.

    Du möchtest also deine eigenen Objekte in Oblivion einfügen, richtig? Um die Wahrheit zu sagen, die Programme, die momentan verfügbar sind, unterstützen nicht alle Arten von Objekten. Es gibt aber einige wenige Sachen die man machen kann:
    Man kann eigene Waffen und Rüstungen erstellen, einbauen und benutzen. Und man kann "nutzlose" Strukturen, die das Spiel nur verschönern, einbauen.

    Das Spiel wurde aus verschiedenen ungewohnten Dateitypen gemacht: NIF (Gamebryo Format File), welcher für alle 3D-Modelle benutzt wird; DDS (Direct Draw Surface), das sind die Texturdateien.
    Dieses Tutorial wird dir zeigen, wie man einen einfachen, unbenutzbaren Würfel mit Texturen ins Spiel einbaut. Ich werde 3D Studio Max benutzen, aber man kann ein anderes 3D-Programm benutzen, wenn man will. Wenn du nicht 3dsmax benutzt, oder komplexere Gegenstände machen willst, suche das Internet nach Tutorials ab.


    Übersicht
    1. Benötigte Programme/Dateien und wo sie hingehören
    2. Erstelle deine eigene DDS-Datei
    3. Einen Würfel in 3dsmax erstellen
    4. Den Würfel im Spiel platzieren, ihn sichtbar machen und spielen

    _________________________________________________

    1. Benötigte Programme/Dateien und wo sie hingehören

    Bevor wir jetzt anfangen, kommen hier jetzt ein paar Programme/Dateien, die man benötigt:
    • Elder Scrolls IV Oblivion
    • TES Construction Set für Oblivion (welches gesonders runtergeladen werden muss)
    • 3D Studio Max 8.0 (zum Erstellen von 3D-Modellen; teuer)
    • Adobe Photoshop (Grafikbearbeitungsprogramm; schweineteuer)
    • TES4BSA (zum Entpacken der BSA-Archive)
    • CivilizationIV-MaxTools-v7+ (zum Exportieren der Dateien aus 3DSMax ins NIF-Format)
    Lade auf developer.nvidia.com noch folgende drei Dinge runter:
    • DDS Utilities
    • 3ds max .dds Plug-ins
    • Adobe Photoshop Normal Map and DDS Authoring Plug-ins
    Diese 3 Dateien sorgen dafür, daß 3dsmax und Photoshop das DDS-Format benutzen können. Man müßte alle drei Dateien über eine Google-Suche finden können.


    Zuerst einmal installiere 3dsmax und Photoshop. Ob die Demoversionen brauchbar sind, ist fraglich. Dann installiere die drei DDS-Dateien. Als nächstes muß man die CivilizationIV-MaxTools-v7+.zip in ihr eigenes Verzeichnis entpacken. Ich bin mir nicht sicher, ob es nötig ist den Inhalt so auseinander zu nehmen, wie ich es mache:

    - Markiere alles AUßER die 3 Verzeichnisse, schneide die Dateien aus und füge sie ins 3dsmax Verzeichnis ein:
    CProgramme\Autodesk\3dsMax8

    - Kopiere den Inhalt des Plugin-Verzeichnises nach:
    CProgramme\Autodesk\3dsMax8\Plugins

    - Aus dem "scripts"-Verzeichnis wird das"CivilizationIV" Verzeichnis ausgeschnitten und hier her kopiert:
    CProgramme\Autodesk\3dsMax8\Scripts

    - Alles aus diesem Verzeichnis CivilizationIV-MaxTools-v7+\scripts\startup\ gehört hier her:
    CProgramme\Autodesk\3dsMax8\Scripts\Startup

    - Öffne im UI Verzeichnis das Unterverzeichnis "macroscripts" und kopiere den Inhalt hier her:
    CProgramme\Autodesk\3dsMax8\UI\MacroScripts

    - Die Icons aus CivilizationIV-MaxTools-v7+\UI\Icons\ kommen hier her:
    CProgramme\Autodesk\3dsMax8\UI\Icons

    - Und die letzten 2 Dateien CivilizationIVTools-Max7.cui und CivilizationIVTools-Max6.cui werden nach hier bewegt:
    CProgramme\Autodesk\3dsMax8\UI

    Wenn alles richtig lief, sollten jetzt keine Dateien mehr im CivilizationIV-MaxTools-v7+-Verzeichnis sein, und es sollten keine Dateien überschrieben worden sein.

    Es ist wahrscheinlich nicht nötig alle Datien ins edsmax-Verzeichnis zu kopieren, aber wenn man später mehr machen will als in diesem Tutorial beschrieben, hat man die Dateien schon an Ort und Stelle.

    Wenn du alle NIF- und DDS-Dateien des Spiels benutzen willst, mußt du noch TES4BSA benutzen. Dazu kopiere folgende drei Dateien:

    Oblivion - Meshes.bsa
    Oblivion - Misc.bsa
    Oblivion - Textures - Compressed.bsa

    in ein neues Verzeichnis, z.B: cBSA\. Dann wechsel in der Eingabeaufforderung in dieses Verzeichnis und rufe z.B:

    tes4bsa unpack "Oblivion - Meshes.bsa"

    auf. Jetzt wird die Meshes.bsa Datei entpackt. Danach mach dasselbe mit den beiden anderen Dateien.

    Man sollte jetzt drei Ordner in Cbsa\ haben, kopiere diese ins Oblivion\data\ Verzeichnis.

    _________________________________________________

    2. Erstelle deine eigene DDS-Datei

    Eine DDS-Datei zu erstellen ist sehr einfach. Dazu benötigt man erstmal eine Bilddatei. Es ist egal, ob man diese selbst gemalt oder aus dem Internet heruntergeladen hat. Damit alle das selbe haben, lade einfach mal diese Datei runter:
    http://img.photobucket.com/albums/v1...ures/crate.jpg

    Öffne sie in Photoshop. Jetzt gehe auf "Speichern unter" und wähle als Format "DDS" aus, benenne sie "aaacrate.dds" und speichere. Es erscheint ein Fenster, indem wir aber nur auf "Save" klicken müssen. Verschiebe die Datei anschließend in den Textures-Ordner im Data-Verzeichnis. Dem Standard entsprechend würde der Pfad etwa so aussehen: CProgramme\Bethesda Softworks\Oblivion\Data\textures\

    Hast du den Ordner "textures" noch nicht kannst du ihn dir selbst erstellen.

    _________________________________________________

    3. Einen Würfel in 3dsmax erstellen<a name="teil3"> </a>

    Öffne 3dsmax.

    Öffne den Materialieneditor; wo dieser ist, siehst du in dem Bild.



    In dem "Blinn Basic Paramaters" Fenster drücke auf den kleinen grauen Kasten neben "Opacity"



    Zweimal auf Bitmap klicken:



    Finde "aaacrate.dds" die Datei sollte im Oblivion\Data\Textures\ Verzeichnis sein, wenn ihr dem Tutorial gefolgt seid; lade sie.

    Eine der Kugeln sollte jetzt mit der Textur angemalt sein. Außerdem sollte sie etwas durchsichtig sein, aber das sieht im Spiel dann anders aus.

    Im Material Editor sollte jetzt über der "Standard"-Schaltfläche ein farbiger, gekrümmter Pfeil mit der Bezeichnung "Go To Parent" zu sehen sein. Drück drauf, anschließend auf den kleinen grauen Kasten neben dem Wort "Diffuse" und wähle dieselbe DDS-Datei aus.

    Minimiere den Material Editor. Wir machen jetzt diesen Würfel. Klicke in dem Panel auf der linken Seite unter dem Eintrag "Object Type" auf "Box" und sorge dafür das die "Cube" Einstellung angekreuzt ist.



    Im "Perspective"-Fenster wird die Grundfläche durch ziehen eines Quadrates erstellt. Läßt man dann den Mausknopf los und bewegt die Maus, wird die Höhe erstellt. (Die Farbe des Würfels ist egal):



    Öffne wieder den Material Editor und ziehe die Textur von der Kugel auf den Würfel.

    Speicher danach die Datei als max-Datei.

    Dann öffne Datei -> Export..., unter Dateityp wähle "CivilizationIV (*.KF, *.NIF, *.NIF)" und benenne die Datei aaacrate.nif und speichere sie in CProgramme\Bethesda Softworks\Oblivion\Data\meshes



    Speicher es. Es wird ein Fenster geöffnet in dem wir keinerlei Änderungen vornehmen.

    _________________________________________________

    4. Den Würfel im Spiel platzieren, ihn sichtbar machen und spielen

    Das ist der letzte Schritt. Öffne das TES 4 Construction Set. Wähle unter File->Data die Oblivion.esm aus. Zuerst müssen wir den Gegenstand in die CS Bibliothek einfügen.

    Im "Object Window" klicke das Pluszeichen neben "WorldObjects" an und dann das Pluszeichen neben "Static" dann das Pluszeichen neben "Clutter" und dann endlich klicken wir auf "Farm".

    Es sollten 5 oder 6 Sachen im rechten Teilfenster auftauchen. Das sind Objekte die vom Spiel benutzt werden. Wir wollen ein neues Objekt erstellen, dafür muß man in die weiße Fläche rechtsklicken und "New" auswählen. Nenne die ID aaacrate1 und klicke dann auf den "Add NIF File" Knopf. Finde die aacrate.nif-Datei im Oblvion\Data\Meshes Verzeichnis, dann klicke ok. Man wird bemerken, daß es nicht auftaucht. Klicke einfach auf das fettgeschriebene Wort Static und es sollte irgendwo in der Liste auftauchen.

    Sorge dafür, dass im Cell View Fenster Interiors ausgewählt ist und finde in der Editor ID "AnvilAbandonedHouse" und klicke zweimal darauf. Das wird unser Testgelände, um zu sehen wie unser Würfel aussieht. Es sollte jetzt im Render Fenster geladen werden, und es wird ziemlich klein sein. Drücke irgendwo in den Raum und drücke T, das zentriert und nähert die Ansicht auf den Raum. Mit dem Mausrad kann man noch näher rangehen. Zum Drehen der Ansicht muß man die "Shift"-Taste gedrückt halten und die Maus bewegen. Mache dich mit der Bedienung vertraut. Dann versuche die Ansicht in etwa so auszurichten:



    Wir werden den Würfel in der Ecke des Hauses plazieren, vor die Halle. Dazu muß man nur aacrate aus dem "Object Window" ins Render Fenster ziehen. Wenn bis hierher alles gut gelaufen ist, sollte man jetzt den Würfel mit der Textur sehen. Klicke den Würfel an und bewege ihn mit gedrückter z-Taste auf den Boden. (Die z-Taste beschränkt die Bewegung auf die vertikale Richtung.) Ist er da wo man ihn haben will, sollte man ihn vergrößern, klicke dazu zweimal auf ihn, die Fehlermeldung kann man ignorieren. In der Sektion "Scale" trage 2.0000 ein. Jetzt noch versichern das er da ist wo er sein soll und das er den Boden berührt und dann kann man als aaamyfirstmod speichern.

    Minimiere alles und starte den Oblivion Launcher, dort klickt man auf Spieldateien und kreuzt aaamyfirstmod an. Starte das Spiel.

    Wenn alles gut ging, sollte jetzt im Verlassenem Haus in Anvil dein Würfel zu sehen sein.



    Großartig! Gratuliere! Das ist erst der Anfang vom Modifizieren, man kann wesentlich mehr machen als das hier. Schaue dich nach Tutorials um. Hier sind ein paar die mir geholfen haben:

    Mein erster Dungeon
    Custom Weapons with Nifskope
    Getting a self made object in. .nif and .dds explained

  10. #10

    Katan Gast
    Tutorial auf der Seite


    NPC-Gesicht für Charakter / Charakter-Gesicht für NPC

    In diesem recht kurzen Tutorial werde ich dir erklären, wie du das Aussehen eines NPCs auf den spielbaren Charakter übertragen kannst. Hierbei ist es letztlich übrigens notwendig, einen neuen Charakter anzufangen. Du kannst allerdings das Äußere eines Chars von einem Save in einen anderen importieren. Wie das alles funktioniert, erkläre ich dir im Folgenden.

    1. Das Gesicht eines NPCs für den Spieler übernehmen
    2. Gesichter in einen anderen Save importieren
    3. Ein Spielergesicht per Wrye Bash auf einen NPC übertragen

    1. Das Gesicht eines NPCs für den Spieler übernehmen
    Öffne' das Construction Set und lade die Oblivion.esm darin. Ist das geschehen, erweiterst du die Kategorie Actors > Imperial im Objekt-Fenster. Hier musst du nur noch auf Male klicken und alle männlichen kaiserlichen Charaktere werden dir angezeigt.

    Sinn und Zweck der Übung ist folgender: Nehmen wir mal an, du startest das Spiel, wählst "Neu" aus und siehst dir in Ruhe das Intro an. Das Ende geleitet dich durch ein vergittertes Fenster und schon siehst du das erste Menü zur Charaktererstellung. Kurzum: Das erste, was du siehst, ist ein männlicher Kaiserlicher mit lockerem Haarstil. Du kennst ihn bereits in- und auswendig, bei jedem Spielstart ist es derselbe. Aber wo werden diese Informationen denn gelagert? Das Gesicht? Die Haare? Augenfarbe? Rasse? Ganz einfach: Die Entwickler haben einen Eintrag in der Actors-Kategorie angelegt, dessen ID "Player" ist. Hier findest du dich selbst, den Spielecharakter während der Charaktererschaffung. Und hier kannst du auch alles so verändern, wie es dir lieb ist. Unter anderem das äußere Erscheinungsbild.

    Der Eintrag "Player" ist, wie erwähnt, unter Imperial gespeichert. Den suchst du jetzt mal heraus und machst einen Doppelklick auf ihn. Das Eigenschaften-Menü des Eintrags öffnet sich. Ändere nicht die ID, ändere nicht Klasse - das sind die zwei Dinge, die du unter allen Umständen vermeiden musst. So kannst du nämlich nicht spielen. Zudem solltest du besser die Finger von dem Script-Dropdown lassen, wenn du dir nicht absolut darüber im Klaren bist, was du tust.

    Du findest im mittleren Bereich des Eigenschaften-Menüs ein paar Reiter; um an "Face Advanced" zu kommen, wirst du womöglich den Rechts-Pfeil neben der Reiterleiste benutzen müssen. Wenn du den Reiter ausgewählt hast, siehst du im Vorschau-Fenster bereits den Kopf, den du sonst immer nur während der Charaktergenerierung zu Gesicht bekommst.

    Jetzt brauchen wir nur noch einen NPC, dessen Aussehen wir übernehmen wollen. In diesem Beispiel habe ich Lucien Lachance ausgewählt, es geht allerdings auch mit jedem x-beliebigen anderen Charakter. Lucien Lachance ist ein Kaiserlicher, also können wir gleich in der Kategorie Imperial/Male bleiben (ID: LucienLachance). Du öffnest auch bei ihm das Eigenschaften-Menü und gehst in den Reiter "Advanced Face". Worauf du grundlegend achten musst, ist folgendes: Die Rasse. In diesem Fall ist der Player ein Kaiserlicher und der NPC auch, solltest du dich aber für einen Dunmer-NPC entscheiden, musst du die Player-Rasse auch auf Dunmer umstellen.

    Unter "Advanced Face" bei Lucien Lachance findest du den Button "Copy". Draufklicken, in das Eigenschaften-Menü von Player gehen und dort auf den Button neben Copy drücken, auf Paste. Das Player-Gesicht im Vorschau-Fenster wird sofort das Aussehen von Lucien Lachance annehmen. Jetzt noch bei beiden in den Reiter "Face" wechseln. Hier musst du noch Age, Complexion, Hair Length, Haartyp, Haarfarbe und Augenfarbe von Lucien Lachance manuell in dem Player-Fenster eingeben.

    Das Eigenschaften-Menü von Lucien Lachance schließt du mit einem Klick auf Abbrechen oder das X in der rechten oberen Bildschirmecke des Fensters. Dies aus gutem Grund, denn du könntest ausversehen irgendeinen Wert verändert haben, der in deiner Mod mit gespeichert werden würde. Da wir nur den Player verändern und keine dirty Mod erstellen wollen, solltest du Veränderungen an Lucien Lachance vermeiden. Im Player-Fenster klickst du auf OK. Nun noch in der Hauptmenü-Leiste unter "File" auf "Save" gehen, dem PlugIn einen Namen geben und fertig. Im Oblivion Launcher aktivierst du das PlugIn unter seinem Namen, beginnst ein neues Spiel und siehst im Rassenmenü die Augen von Lucien Lachance direkt in deine Richtung blicken.


    2. Das Äußere des NPCs für einen bestehenden Charakter übernehmen
    Mit Wrye Bash kannst du das Äußere eines Chars von einem Save in einen anderen importieren. Ein kleiner Installationshinweis meinerseits: Der Ordner "Mopy" muss sich am Ende in deinem Oblivion-Verzeichnis befinden. Bist du fertig, öffnest du Wrye Bash mit einem Klick auf bash.py. Unter dem Reiter "Saves" suchst du einen Save heraus, in den du ein Gesicht aus einem anderen Save importieren willst, machst einen Rechtsklick darauf und wählst "Import Face" aus. In dem Fenster, das sich öffnet, wählst du den Save mit dem Gesicht deiner Begierde aus und klickst auf "Öffnen". Das Gesicht wird importiert.

    Achtung!
    Die Charaktere beider Saves müssen dieselbe Rasse haben! Alles andere wird monströse Ergebnisse bringen.

    3. Ein Spielergesicht per Wrye Bash auf einen NPC übertragen
    Wrye Bash bietet nicht nur die Möglichkeit, ein Spielergesicht von einem Save in einen anderen zu übertragen. Mit diesem Tool kann man genauso gut das Spielergesicht auf einen NPC übertragen. In Wrye Bash machst du einen Rechtsklick auf das PlugIn, in das du das Spielergesicht importieren möchtest, wählst "Import - Face" aus und suchst das Savegame mit dem Gesicht deiner Wahl aus. In dem PI wird daraufhin ein NPC mit diesem Gesicht erstellt.
    Danke an MartDann für den Hinweis.

  11. #11

    Quests&Dialoge für Mods&Pros

    QUEST MODS SCHREIBEN UND VERTONEN

    Dieses Tutorial zeigt dir in weniger als 30 Minuten, wie du eine gute Quest erstellst und vertonst. Das Augenmerk dieses Tutorials liegt dabei maßgeblich auf den fortgeschrittenen User, Questschreiber, Modder der zumindest die Tische im CS findet oder ein größeres Projekt betreut mit Sprachausgabe. Es setzt sich maßgeblich mit Technik und Stil des Quest-& Dialog-Schreibens auseinander sowie der Projektführung und dem Umgang mit Voice-Artists.


    Jeder kann eine Quest schreiben?

    Ja, jeder kann auch Fußball spielen, ein Bild malen und eine Oper komponieren und so sieht es dann zum Schluss auch aus.


    Gut. Wie schreib ich eine gute Quest?

    Eine gute Quest besitzt nur eine einzige Eigenschaft: SPANNUNG


    Spannung erzielst du auf drei Arten:

    a) Twists = Unerwartete Handlungs-Umschwünge
    b) Aufgaben = Rätsel, unüberwindbare Hindernisse
    c) der Held steht im Mittelpunkt

    a)ein Twist ist ein neuer Aspekt der dem Spieler bisher nicht bekannt war in B&M hast du zum Beispiel plötzlich Sayjid, der in Mitten eines Dungeons auftaucht <- auch das ist ein Twist

    b) Wenn du nicht weist was ein Rätsel ist, ist es mehr als bemerkenswert, dass du überhaupt einen Computer bedienen kannst. Wie machst du das?

    c) 99% aller Quests, stellen nicht den Spieler in den Mittelpunkt des Geschehens. Die gesamte Story-Line (der Questverlauf) holt sich die Spannung aus der Background-Story (=die Geschichte die erzählt wird). Seien wir mal ehrlich: Interessiert dich Ryans persönliche Vampir-Welt und wie die aussieht? Nein. Deine interessiert mich auch nicht. Wieso schreibst du also eine Quest-Mod in der ich letztendlich nur deine Vampir-Welt erlebe?

    Sehen wir uns mal die Hauptstory von Oblivion an: Wenn das ein Buch wäre: Wer ist der Held? Martin Septim. Sein Tod am Schluss ist der Klimax. Wer bist du? Du bist Samwise. "Der Adjutant". Frodo ist aber der Held im Herrn der Ringe, auch wenn er ohne Sam versagt hätte. Das macht zwar Sam auch zu einem Helden aber er ist nicht der Mittelpunkt der Geschichte.

    Nun um dem Spieler diese Freiheit zu geben, die er braucht um Mittelpunkt des Geschehens zu sein, müssen wir uns zurücknehmen. Wenn du eine Gilde schreibst, dann lässt du den Spieler als Adjutant langsam die Gilde übernehmen. Wie oft gab es das schon? Wo ist da die Spannung?

    Denken wir um: Anstelle von einem Story-Verlauf indem der Spieler das Endziel nämlich Gildenoberhaupt zu werden erreicht, kannst du den Spieler auch gleich als Gildenoberhaupt benennen und ihm eine Bibliothek geben in der sich seine Questen selbst holen muss.
    Erkennst du plötzlich die Möglichkeiten die du hast? Hinweise in Pergamenten auf geheime Gänge, eine geheime Bibliothek, ein alter Gildenmagier der verschiedene Textpassagen übersetzen kann und alles muss der Spieler selbst entscheiden. Sich selbst suchen. Er entscheidet an welcher Phase der Quest er ankommt. Nicht mehr du. Freiheit. Und das ist die wahre Stärke von Oblivion.

    Es gibt ein paar elementare Fehler bei Questmods oder deren Verwirklichung:

    geh nicht an einen Questmod wenn du gerade aus einem Film-Hype zurückkommst und jetzt in Oblivion verwirklichen willst. Deine Motivation geht nach einer Woche auf Null.

    Bring nichts nach Tamriel was dort nichts zu suchen hat. Vergessene Reiche, Gilden, Monster sind noch in Ordnung, aber verbinde deine Story mit der Welt. Die Spieler spielen TES und nicht WOW oder DSA.

    Mache keine Mini-Quest als Füller weil dir die Ideen-Ausgehen. Mach nur Quests die du selbst gerne spielst. Manche kommen an den Punkt, da meinen sie es fehlt noch eine Quest und die Notlösung "geh in den Dungeon bring mir X heraus" tritt in Kraft. Das ist langweilig. Du magst es nicht. Der Spieler mag es nicht. Und wir haben eine sogenannte Downtime.

    Questmods dienen dem Spieler. Das ist keine Selbstverwirklichung. Du erstellst ein Spiel, damit andere Leute daran Spaß haben. Die größte Insel, so schön sie ist, nützt niemanden wenn sie tot ist. Das tollste Mesh, so brillant es in 1024X768 aussieht, muss auch irgendeinen Nutzen haben, außer schön auszusehen.


    Und wir haben sogar noch ein paar Ratschläge:

    Mach keine WIP-Threads es sei denn du weißt du brauchst die Unterstützung der Community. Wenn du den Hype willst, dass andere dir sagen wie toll du arbeitest, gehst du schnell darin auf und machst mehr Screen-Shots als Mod-Arbeit. Vor allem nimmst du Spannung. Und die brauchen wir, du gehst ja auch nicht in einen Film dessen Ende du kennst. Nein. Tust du nicht.

    Mod nach Konzept. Benenne die Dungeons die du moddest: z.B. Burg. Dann weißt du welche Räume du brauchst und wie groß deine Level werden. Wenn du merkst dir fällt nichts mehr ein. Benenn es um. Es steht nirgendwo geschrieben, dass du eine Burg modden musst, wenn dir nur Material für ein Landhaus zur Verfügung steht. Ich hab den ersten B&M auch nur in vier Tagen machen können, weil ich ein Konzept hatte. Glaub mir, ein Konzept ist mächtig.


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    DAS SCHREIBEN EINER QUEST (Story-Telling)


    Wie schreibe ich eigentlich eine gute Quest?

    Gute Frage! Denn du hast nicht gefragt "wie schreibe ich eine gute Geschichte", denn wir schreiben keine lineare Geschichte, wir entwerfen eine Schnitzeljagd. Wir machen hier ganz großes Modding.

    Regel Nummer Eins:

    Breche Grenzen. Mach was, was noch keiner gemacht hat. Trau dich und bring den Spieler als Gildenoberhaupt ins Spiel. Such dir in Cyrodiil fünf Landmarken und wenn man sie alle von Punkt X sehen kann, dann verbuddele dort einen Schatz. Modde einen Drachen. Bau das höchste Haus. Die größte Unterwasserstadt. Die längste Brücke wo gibt. Lass den Spieler eine ganze Stadt verwalten. Führe ihn in das Chorrol in der Parallel-Welt. Sei INTENSIV und INNOVATIV

    Regel Nummer Zwei:

    Überrasche den Spieler. Lass eine Frau auftauchen, die schwört mit ihm verheiratet zu sein und webe daraus einen Verschwörungs-Plot wo Partei X versucht den Spieler für irgendwas zu gewinnen. Werf ihn nackt in die Wüste oder mach ihn zum Oberhaupt eines Dorfes die ihn in Wahrheit nur essen wollen. DER TWIST, ist die Stärke einer jeden Quest.

    Regel Nummer drei:

    Der Spieler ist der Held. Der Spieler ist der Held. Der Spieler ist der Held. Lies letzten Satz noch mal. Der Spieler ist der Held. Der Spieler ist der Held. DER SPIELER IST DER HELD.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    !!!STOP!!!.................................................................................... ................................................................!!!STOP!!!

    So. Nachdem wir diese Theorie verstanden, akzeptiert und für heilig erklärt haben, ein kleiner Zwischen-Test:

    Bewerte folgenden Handlungs-Strang einer Quest:


    Ein Spieler bekommt die Aufgabe in einen Dungeon zu gehen und ein Item rauszuholen.


    Ist das ein "guter Handlungs-Strang"? Oder ein "schlechter Handlungs-Strang"?

    !!!STOP!!!...................................................................................... .............................................................!!!STOP!!!

    Das hier ist nur ein Platzhalter damit du nicht schummelst. Beantworte für dich die Frage, ist es ein guter oder ein schlechter Handlungs-Strang.


    Hast du gesagt es ist schlecht?

    Dann hast du daneben gelegen, denn das ist der Handlungsstrang von B&M I. Spieler bekommt die Aufgabe ein Schwert aus dem Tempel zu holen. Das war es. Mehr passiert nicht und dennoch haben Leute tagelang an dem Mod gespielt und waren begeistert.

    Hast du gesagt es sei gut?

    Richtig. Denn der Handlungs-Strang einer Quest ist vollkommen irrelevant. Es steht und fällt alles mit der Umsetzung. Wenn du Grenzen brichst, den Spieler als Helden deiner Geschichte fokussierst und Twists einbaust, kann selbst der augenscheinlich langweiligste Handlungs-Strang abendfüllend sein.


    Es kommt immer nur auf die Umsetzung an.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    QUESTEN ERSTELLEN WIE AUS DEM LEHRBUCH

    Questen erstellen wie aus dem Lehrbuch nur mit Bildern:



    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ZUSÄTZLICHES ZUM QUEST-DESIGN:

    Der Quest-Background

    Der "Quest-Background" ist alles was du nach Oblivion bringst. Deine Vampir-Welt zum Beispiel. Deine höchstpersönliche TotalConversion. Gib deinem Spieler selbst die Möglichkeit sie zu erforschen, deine NPCs kennenzulernen, Bücher zu lesen. Presse sie ihm nicht auf das Auge. Du kannst sie auch geschickt mit dem Quest-Strang verbinden, aber erzähle nicht die Geschichte deines NPCs, sondern lass den Spieler der Held deiner Welt sein.

    Das Dungeon-Modding

    Beim Dungeon-Modding darf dir Kreativität keine Grenzen setzen. Alles ist im CS möglich. Alles ist im CS möglich. Sage das bitte noch einmal: Alles ist im CS möglich.

    Merke dir nur immer eines: Der Dungeon ist eine Location die der Spieler passiert. Er kommt nicht zurück und wird sich deine tolle Architektur noch mal ansehen. Du kannst monumentale Interiors errichten, aber verpulvere nicht alle deine Ideen in einen Raum.

    Wenn es sich anbietet gib jedem Level sein eigenes Thema z.B. Labyrinth, Zombie-Grube, Höhlen-See, Säulen-Halle.

    Am einfachsten ist es wenn du einen Raum, um eine Idee oder ein architektonisches Merkmal baust, welches als Eye-Catcher fungiert.

    Verletzte nie das Gesetz der Beleuchtung, wenn es sich nicht um eine plötzliche Lavagrube handelt. Ein Dungeon hat in der Regel sein eigenes Farbschema. Dieses Farbschema ist eine durchgehende Komponente an die der Spieler sich orientiert. Es schafft Atmosphäre, auch in rosa.

    Ein Dungeon fällt und steht mit der Umsetzung deiner Idee. Es kommt nur darauf an, ob es gut gemacht ist.


    Es kommt immer nur auf die Umsetzung an.



    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Dungeons fertig? Quest erstellt? Gut. Jetzt kommt der Spaß an der Arbeit: Die NPCs

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Die Non-Player-Characters

    Ein NPC charakterisiert sich durch drei Eigenschaften:

    [align=justify]
    1.) Aussehen
    2.) Stimme
    3.) Art und Weise der Sprache
    [/align]


    Erste Grundregel: Mach dem Spieler schnellstmöglich klar mit wem er spricht!
    Ein Bettler, spricht anders als ein Fürst, ein Krieger anders als ein Händler. Selbst eine Frau spricht anders als ein Mann. Du brauchst Anhaltspunkte an denen der Spieler sich festhalten kann und das sind Klischees.

    Ein Ritter ohne Rüstung ist kein Ritter. Ein Magier ohne Robe ist kein Magier.

    Brichst du diese Gesetze, wirst du immer einen "Uups"-Effekt haben, wenn plötzlich der vermeindliche Bürger X dem Spieler seine Zauberkräfte im Meisterstatus vor die Füße wirft, weil er plötzlich zum großen Magier mutiert. Fantasy ist pures Klischee-Denken, warum willst du unbedingt gegen den Strom schwimmen?

    Also merke dir wenn du dir einen Magier erstellst, wer ist das? Ist das eher ein Merlin, oder ein Busch-Schamane, ist das ein Saruman oder ein Taschenspieler? Und somit bildet sich auch der Charakter, und das beginnt bei der Begrüßung:

    [align=justify][font=Courier New]
    ...................ASANDAR
    Mein Freund, ihr sucht mich auf, wegen
    irdischen Schätzen? Ja, ja, - Gold zu
    erreichen ist in diesen Zeiten wohl einfacher,
    als die wahren Geheimnisse dieser Welt zu
    ergründen.

    ...................WASSKIR
    Was? Oh, verzeiht, ich sah euch nicht.
    Ich habe hier irgendwo Eine Philole liegen
    lassen, seid vorsichtig, es ist ein hoch-
    konzentriertes Daedra-Gift. Sehr selten.
    Wirklich selten. [/font][/align]

    Schon die Begrüßung charakterisiert deinen NPC. Mit beiden Worten erwähnt keiner von ihnen, dass sie Magier sind. Aber das ist dem Spieler schon klar. Gibt dem Spieler keine Information die ihm bekannt ist und selbst dann, bleib kreativ:

    [font=Courier New]
    ...................ASANDAR
    Nennt mich Asandar, mein Freund.

    ...................WASSKIR
    Eh, ich bin Wasskir. Öhm, - Wasskir
    der Mächtige! Erlerner der großen Schriften
    von Altur und Hüter der Sieben Pforten.
    Naja, zumindest sobald ich den Schlüssel
    wieder finde. Und ihr ward? [/font]

    Anhand von zwei Dialog-Sätzen ist dem Spieler klar mit wem er spricht und er kann sich auf den Charakter einstellen. Sagen wir also, beide Charaktere sollen dem Spieler eine Textzeile übersetzen, die der Spieler in einem Buch gefunden hat:

    [font=Courier New]
    ....................ASANDAR
    Hm, das ist interessant. Das ist ein sehr
    seltener argonischer Dialekt. Lasst sehen?
    - "Dem soll, Namiras Gunst wohl sein,
    der zu Himmel-Tränen ihr die drei "Menkarrr",
    das könnte Steine heißen, - schenkt."
    Ich hoffe ihr könnt damit etwas anfangen.

    ....................WASSKIR
    Lasst sehen?! Oh. Ähm. Ist das Orkisch?
    Oh nein, Argonisch. Oh, das kenne ich. Nein.
    Doch. Wartet. Ähm. "Wenn am Brunnen- Tau
    der Biber lacht, dir sieben Mädchen wohl
    gedacht." Nein. Das macht keinen Sinn. Ich
    glaube das hat was mit Namira zu Tun?
    Nicht wahr? Also "dem soll, Namira wohlgefallen
    sein, der ihr zu Himmels-Tränen, drei Steine
    schenkt." Ja, ich glaub das ist es. Ha. War ja
    gar nicht so schwer. Habt ihr noch mehr davon? [/font]

    Dialoge halten den Spielfluss kreativ, sagen mehr aus über einen NPC als du jemals schreiben könntest. Sie machen die Welt lebendig. Sieben Charaktere die alle gleich sprechen, will keiner sehen, hören oder haben.


    Überlege dir immer: Wie spricht der Charakter!


    Dialoge schreiben - Technik

    Merke dir: Keiner! Kein Professor, kein Kritiker, selbst nicht Goldman kann dir beibringen wie du einen guten Dialog schreibst, denn ein Dialog ist abhängig von den Personen, der Story sowie dem Inhalt des Dialogs.

    Aber es gibt ein paar Anhaltspunkte, von Dialogen die einfach erfolgreich funktionieren.

    Eine haben wir oben schon besprochen: Gib dem Spieler keine Info die er schon kennt. Im Fachjargon sprechen wir hier vom "Dealing Dialog". Das bedeutet es ist ein Dialog, welcher dem Zuschauer Information mit der Bratpfanne auf den Kopf haut und meist die Atmosphäre untergräbt:

    Beispiel 1 Der Mörder:

    [FONT=courier new]....................MÖRDER
    ....Ich bin seitdem mein Schwager,
    ....die ganze Familie in Spielschulden
    ....gestürzt hat bereit selbst für Gold
    ....jemanden umzubringen. Auftragsmörder,
    ....das ist mein Beruf. [/FONT]

    Der wichtigste Satz ist der Letzte. Also der NPC ist ein Auftragsmörder. Schön. Sein Schwager und wie es dazu kam ist zwar tragisch, dient aber der Story nicht. Es ist pures Geschwätz. Selber Dialog. Andere Worte:

    [FONT=courier new]....................MÖRDER II
    ....Für eine Hand voll Silber, würd ich
    ....selbst euch den Kopf abschlagen.[/FONT]


    Beispiel 2 Der Auftrag

    [FONT=courier new]....................CHARAKTER X
    ....Mein Mann, Elius Farndur, dem
    ...."Der Waffenhandel" gehört, hätte
    ....mit Sicherheit eine Verwendung für
    ....einen Boten wie euch, wenn er
    ....Silberklingen nach Morrowind bringen
    ....möchte, da zur Zeit der Pass im Norden
    ....von Orkbanden belagert wird. [/FONT]

    Wer will das alles wissen? Gibt sie uns die Quest? Nein. Wir sind von der ersten Sekunde an im Bild über alles. Die Spannung ist auf dem Tiefpunkt und wir haben jetzt schon keine Lust weiter zuzuhören.

    [FONT=courier new]....................CHARAKTER X
    ....Ihr seht aus, wie jemand der für ein
    ....wenig Gold für so manches Abenteuer
    ....zu haben ist. Mein Mann hätte mit
    ....Sicherheit Verwendung für euch.
    ....Er leitet den "Waffenhandel" in der
    ....Stadt. [/FONT]

    Selbe Information nur besser präsentiert.

    Sprech den Spieler immer wieder an.
    Versuch nicht direkt auszudrücken, was du eigentlich sagen willst.

    Du sprichst auch nicht so mit deinen Freunden, wenn du von einem Fußball-Spiel erzählst. Jedes Thema hat "Insider-Ausdrücke" die du dir entweder suchen oder entwerfen kannst. z.B. "ein argonisches Geschäft" könnte z.B. der Ausdruck für einen Handel sein, wo der Käufer drauf zahlt.
    Eine "Kaiijit Braut" eine Frau, die nur des Geldes wegen heiratet. In allen Sprachen benutzen wir solche Klischee-Bilder für Standard-Ausdrücke. Warum nicht in einer Fantasy-Welt? Bei B&M z.B. hörst du immer wieder die "Drachengeborenen" und damit sind niemand anderes als die Kaiserlichen gemeint, welche die Aedra-Götter anbeten sowie das kaiserliche Geschlecht selbst.

    Das nächste Stilmittel sind sogenannten "Hook-Lines" . Der Begriff kommt aus der Musik und beschreibt "Wiedererkennungswert" von z.B. der Stimme eines Künstlers oder in einem Song ein Refrain oder ein bestimmter Teil in der Musik.

    Im Dialog ist eine "Hook-Line" ein Ausdruck welche einen Charakter wiedererkennen lässt:
    z.B. MaSydJun "Sire!" oder Marwen: "Ihr unterliegt der irrigen Annahme, dass..."

    Wenn du dir die B&M Walkthroughs ansiehst, wirst du z.B. feststellen, dass selbst Ryan ziemlich häufig "auf jeden Fall" benutzt. Jeder benutzt solche Wörter und Ausdrücke, als Füller oder als eine Metapher. Für NPCs kannst du sowas entwerfen. Es ist ein gutes Hilfsmittel, wenn du feststellen möchtest "Wie spricht mein Charakter". Am besten du stellst dir einfach einen Film-Charakter vor und nimmst ihn als Vorlage für deinen NPC z.B. Jafiir der Händler. Hinter ihm steht John Cleese. Wenn du ihn dir noch mal ansiehst, wirst du den britischen Einfluss in diesen Händler-NPC sehen, auch wenn er weder so ausschaut noch in einer Original-Stimme spricht.

    Also wir merken uns:

    ...1) Wie spricht der Charakter?
    ...2) Sei kurz und bündig und meide "DealingDialogs"
    ...3) Benutze Hooklines
    ...4) schaffe eigene Ausdrücke
    ...5) sprich den Spieler an
    ...6) schreibe Sprache und keine Erzählung

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Gut. Wir haben jetzt ein Charakter-Layout (ein Grundriss), geben wir ihm eine Stimme:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DIE AUFNAHMEN - PRINCIPAL RECORDING


    DER ANFANG

    Wie wähle ich den richtigen Sprecher?

    Einen Sprecher wählst du wie einen Schauspieler. Wichtig ist, dass er so gut wie keinen Dialekt hat, es sei denn die Rolle erfordert es. Zweitens sollte seine öffentliche Probeaufnahme technisch einwandfrei sein. Wer sich nicht mal die Mühe macht einen Probesatz ohne Rausch-Zusatz aufzusprechen, macht sich auch nicht die Mühe für dich eine rauschfreie Aufnahme zu produzieren.
    Ein Bonus ist immer Kreativität. Jemand der von sich selbst heraus mit der Rolle spielt und in der Lage ist ein, zwei Versionen zum Besten zu geben, ist auch dein Sprecher, wenn du mal schnell noch eine Rolle besetzen willst. Er wird ultimativ einsetzbar sein und stellt sich auch hinter dein Projekt.
    Achte auf eine Stimme die aus der Masse heraus sticht und wieder erkennbar ist, aber du kannst auch mit einem augenscheinlich "schlechteren"Sprecher es versuchen und plötzlich wirst du Augen machen wozu er oder sie in der Lage sind.

    Hör dir keine Stimmproben von Dunmern oder Argonieren an. Wer eine klare Stimme hat, der kann auch einen Dunmer sprechen. Umgekehrt wird dagegen schwerer. Es sei denn du willst exakt diese argonische Stimme in deinem Mod.


    Welcher Sprecher für welche Rolle?

    Männer wählst du nach Stimmhöhe. Jemand der schon mal ein bisschen mit seiner Stimme gespielt hat, kann alles sprechen. In der Regel sind Männer in der Lage mehr mit ihren Stimmen zu variieren, wobei "höhere Stimmlagen" einen Vorteil haben, da sie eine breitere Bandbreite an Stimmhöhen zur Verfügung haben.

    Frauen wählst du vor allem dem Alter nach. Junge Sprecherinnen sprechen in der Regel (und die hat Ausnahmen) höher und "singen" in der Stimme, während ältere Frauen eine gewisse Routine in ihrer Stimme haben und in der Lage sind auch mädchenhafte Charaktere zu verkörpern.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Es gibt ein ungeschriebenes Gesetz bei der Vertonung von Dialogen:

    Fragwürdige Dialoge mit Inhalt für Erwachsene jeglicher Art sind für Sprecher unter 18 in jeder Form und auch in der Komödie tabu.
    Dies gilt auch für die Darstellung des NPCs. Wenn du vorhast eine halbnackte Amazone in Hot-Clothes darzustellen, dann sorge dafür, dass deine Sprecherin über 18 ist und davon in Kenntnis gesetzt wurde.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ANSCHREIBEN - SPRECHER KONTAKT

    Erst die Rolle schreiben. Dann die Sprecher kontaktieren. Wenn du eine Zusage erhalten hast, dann setzt dich nicht drei Wochen zurück. Der Cast ist da! Beschäftige ihn!

    Wenn du einen Sprecher vom Speaker's Market oder anderswo her nimmst, dann ist Beflissenheit ein Muss. Keiner glaubt an dein Projekt wenn du dir nicht mal die Mühe machst es ohne Grußzeile einem Fremden zu verkaufen.
    Pack deine erste Mail nicht voll mit Informationen über deinen Mod. Du willst keinen Staubsauger verkaufen und der Sprecher braucht gar nicht zu wissen wie viele tolle Dungeons du gebaut hast und du brauchst ihn auch nicht zu beeindrucken mit einer 392MB Mod-Größe.
    Ausnahme ist das Sequel. Dann weise definitv auf deine Mod hin, um direkt die Streu vom Weizen zu trennen. Jemand dem nicht klar ist, dass er durch seine Preformance eine Verantwortung für das Projekt gegenüber den Spielern und dich übernimmt, den brauchst du nicht.

    Eines vor allem: Bleib ehrlich. Einer Krähe zu sagen sie sei eine Nachtigall ist definitiv ein Fehler. Sei enthusiastisch, aber wenn einer "rumkrächzt" und du schreibst "liebliche Stimme" fühlt der sich veralbert.

    Beispiel für ein allgemeines Anschreiben:

    Zitat Zitat
    Hi,

    Mein Name ist Ryan O.Hershey und ich bin der Modder von dem Oblivion Mod Blood&Mud und habe deine Stimme auf dem Speaker’s Market von Planet Oblivion gehört und glaube /ich hätte eine interessante Rolle für dich/ deine Preformance ist definitv herausragend/ deine Stimme habe ich genau gesucht/ ich finde du hast eine interessante Stimme.

    Bei Blood&Mud geht es in erster Linie um die Veränderung von Bravil mit neuen Charakteren und nebenher gibt es noch zwei/drei Rollen für sogenannte "Questcharaktere".
    Ich muss nur jetzt schon sagen, es sind keine 08/15 Dialoge sondern geht eher in die Richtung SinCity im Sinne von Humor und Sprachstil. Also der Mod wird nicht X-rated. ;-)
    Wenn du Interesse hast, dann würde ich mich freuen wenn du mit mir Rücksprache halten würdest.

    Gruß
    Ryan
    Wenn du keine Antwort erhalten solltest, sei nicht enttäuscht. Vielleicht ist der Sprecher ja schon längst tot? Also kontaktier lieber ein paar mehr als ein paar zu wenig.

    Erwarte nicht von dem Sprecher, dass er sich wegen dir ICQ oder Team-Speak zulegt oder bei deinem Forum anmeldet, auch steht dir nicht zu, in irgendeiner Weise das Fehlen von solchen zu kommentieren. Ihr beide habt ein Arbeitsverhältnis und das Projekt steht im Vordergrund.
    Wenn der Sprecher es dir anbietet so ist das in Ordnung. Wenn du unter 18 bist, ist es deine gottgegebene Pflicht KEINE Daten von dir an Fremde raus zugeben, auch nicht wenn der Sprecher dich danach fragt. Und du fragst niemanden der unter 18 ist. Du kannst jeder Zeit sagen, dass du noch keine 18 bist und daher das nicht möchtest. Wer das nicht versteht, mit dem brauchst du gar nicht weiter zu arbeiten.


    Jeder beflissene Modder meidet solche Zwickmühlen und geht veranwortungsbewusst damit um.


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Rechtliches:

    Wenn dir jemand seine Stimme für einen Mod gibt, dann heißt das nicht, dass du damit machen kannst was du willst. Dies fällt unter das sogenannte Persönlichkeits-Recht. Du musst dir das vorstellen wie ein Foto von einer Person. Als Fotograf darfst du es nicht ohne dessen Zustimmung, verbreiten. Da in der Regel bei einer Mod keine Verträge gemacht werden in der der Sprecher ausdrücklich von seinem Persönlichkeits-Recht zurücktritt, liegt rechtlich das Urheberrecht beim Sprecher. Ein Sprecher braucht dir keine Gründe zu nennen, warum er nicht seine Stimme in dem Mod mehr hören will. Sollte der Fall jemals eintreten, dann lass es nicht darauf ankommen, vor allem nicht wenn es sich um minderjährige Sprecher handelt.
    Das bedeutet vor allem, dass du im Falle bei der Verbreitung durch Dritte (z.B. einem Spiele-Magazin), deine Sprecher fragen solltest, ob sie mit einer solchen Verbreitung einverstanden sind.

    Du arbeitest mit Menschen und nicht mit "Sprech-Vieh", das heißt du übernimmst Verantwortung, sei dieser auch gewachsen.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DES SPRECHERS FAQ

    Wenn du einmal eine Zusage erhalten hast, geht es darum einige gundlegende Fragen zu beantworten die dein Sprecher haben wird:

    Welches Format sollen die Files haben?

    Das File-Format des Ton-Files ist nicht wichtig, aber Wave ist einer MP3 vorzuziehen. Gepackt macht es den meisten Sinn in gängigen 7.Zip, Win-Zip oder Rar Formanten.

    In welcher Qualität soll die Aufnahme sein?

    In der Besten. Das heißt, du benötigst eine Aufnahme ohne Rauschen.

    Welche Equipment brauche ich?

    Ein Headset. Eine Soundkarte und ein Programm mit dem die Stimme digital aufgezeichnet wird z.B. Audiacity.

    Wunderer dich nicht, wenn dir ein Sprecher plötzlich eine Rausch-Aufnahme zuschickt. Meistens liegt es an der falschen Einstellung des Aufnahmekanals: z.B. Mikrophon oder Aufnahme-Summe.

    Was soll ich sprechen?

    Du wirst dem Sprecher ein "Drehbuch" schicken, machst ihn darauf aufmerksam, dass ihr einige Probeaufnahmen machen werdet und dann die Aufnahmen die ihr letztendlich verwenden werdet.

    Dieser Schritt ist sehr wichtig, denn du hast kein Aufnahmestudio und musst dieses jetzt "simulieren", daher müsst ihr anhand von kleinen Takes erst einmal die optimale Einstellung finden. In der Regel haben erfahrene Sprecher dort einen Vorteil.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DAS DREHBUCH

    In der Regel wirst du jetzt schon Mail-Kontakt mit dem Sprecher gehabt haben, dennoch sollte auf jeder ersten Seite noch einmal eine Charakter-Beschreibung stehen. Es bietet sich auch immer an, diese schon ein wenig mit dem Sprecher vorher auszuarbeiten. Vielleicht hat er eine gute Idee? Weißt du es? Halte nicht an irgendwelchen unwichtigen Dingen fest, wenn der Sprecher es vielleicht auf eine andere Art und Weise machen möchte. Gib ihm den Freiraum. Er ist dein Star. Um so mehr er sich in dein Projekt einbringen kann, um so besser ist es. Gib ihm einen Rahmen und ihr werdet mehr Spaß an dem Projekt haben und er wird es dir auch nicht übel nehmen wenn du ihm einmal sagst, dass seine Preformance hier unter seinen Möglichkeiten lag und du die Aufnahme noch einmal brauchst.

    Wir benutzen hier einen Drehbuch-Stil, weil selbst ein Laie schnell die Sätze sprechen kann und kurze Regie-Anweisungen einfach in den Dialog eingebaut werden können. Achte darauf, wie leicht es ist die Sätze zu lesen:


    [font=Courier New]
    ...................MELISSA
    ............(sarkastisch)
    ....Noch ein Mitglied aus Torros
    ....Narrenzunft?!

    ...................MELISSA
    ............(unfreundlich)
    ....Ja, und wischt euch das nächste
    ....Mal die Stiefel ab, wenn ihr
    ....noch mal hier auftaucht! Oder
    ....noch besser - geht zum
    ...."Einsame Freier", der Name steht
    ....euch doch.[/font]

    Wenn du einen Dialog zwischen dem Spieler und dem Charakter oder zwei Charakteren schreiben möchtest, bietet es sich an den gesamten Dialog dem Sprecher vorzulegen. Er weiß dadurch besser, wie die Sätze gemeint sind und wie er reagieren soll:

    [font=Courier New]
    ...................SPIELER
    ....Habt Ihr ein schnelles Schiff?

    ...................ANSOL I
    ....Schnell genug für dich, Jungchen!
    ....Also, wo soll es denn hingehen?

    ...................ANSOL II
    ....Ein schnelles Schiff? - Ich hab mal
    ....die Niben-Fahrt in weniger als 6
    ....Stunden geschafft. Sogar Mal
    ....redoranische Schiffe abgehängt,
    ....nicht diese lokalen Sumpfkähne - ich
    ....spreche hier von imperialen Kriegs-
    ....Schiffen. Schnell genug für Euch.
    ....Welche Fracht?

    SPIELER NICHT AUS BRAVIL

    ...................ANSOL I (Spieler W)
    ....Tut mir Leid, Prinzeschen, ich fahr nur
    ....für Braviler durch das Tor da!

    ...................ANSOL II (Spieler M)
    ....Daraus wird nichts, ich hab mir schon
    ....genug Ärger durch Auswärtige
    ....eingehandelt.[/font]

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DIALOG REGIE

    Die Regel lautet: Um so besser der Sprecher weiß, wer der Charakter ist um so besser wird er ihn darstellen. Gib dem Sprecher ruhig bekannte Charaktere, Figuren & Schauspieler an denen er sich festhalten kann, wie z.B. Siegfried, M.Rouke, Ivanhoe

    Habe keine optimale Version im Kopf, du wirst nie genau das bekommen was du dir vorstellst. Du musst Kompromisse eingehen und sei nicht enttäuscht wenn dein vertrauen in deinen Sprecher enttäuscht wird.


    Du bist der Projektleiter. Du hast die Verantwortung für den Cast.


    Mach dem Sprecher Mut, wenn er nicht optimal spricht oder die Aufnahme nicht funktioniert.
    Lüge. Bau ihn auf. Du musst jetzt die Initiative ergreifen und ihn dahin kriegen wo du ihn haben willst: Es ist niemals ein Grund unhöflich zu werden, wenn du enttäuscht wurdest und wenn du jemanden gecasted hast, dann steh auch zu ihm.

    FALSCH:

    Zitat Zitat
    Hi Michi,

    Die Aufnahme - . na ja - war Mist. Mach das bitte noch mal.

    Gruß
    RICHTIG:

    Zitat Zitat
    Hi Michael,

    die Aufnahme war schon ganz okay, klang aber irgendwie noch was nervös. Alles in Ordnung bei dir? Ist nicht schlimm ich könnte die so nehmen, wäre aber eigentlich was Schade, denn viele der Sätze klingen ein wenig wie abgelesen. Und das ist eigentlich ein Zeichen für Unsicherheit. He! Es gibt überhaupt keinen Grund für dich unsicher zu sein und schon gar nicht bei deinem Talent und deiner Stimme. Ich meine du hast das drauf. Lies es dir einfach einmal mehr durch, dann kriegen wir das schon hin und nimm dir Zeit. Bringt doch vorne und hinten nix wenn wir hier nur 80% aufnehmen wo ich und du wissen, dass du locker 100 sprechen kannst. Echt. Das wäre eine totale Verschwendung und ich fände es super schade allein für das Projekt. Bleib einfach ganz cool und zur Not mach es einfach so lange bis du sagst: Ja, das war geil! <- Dann finde ich es sowieso drei Mal brillant.

    Weißt du, ich glaube das Wichtigste ist immer, wenn du glaubst was du sagst, dann glaubt es auch der Spieler. Aber lass mir jetzt ja nicht den Kopf hängen! Du kannst das! Mach es bitte noch mal und wenn du willst helf ich dir, wo ich kann. Für diese Aufnahme bist du einfach zu gut! ;-)

    Also komm, lass es uns noch einmal versuchen und nimm dir was mehr Zeit.

    Gruß
    Ryan
    Wenn du mit der Aufnahme zufrieden bist, dann kontaktier den Sprecher direkt. Und damit meine ich direkt. Warte lieber bis du dir die Aufnahme anhören kannst als wenn du sowieso nur reinhören willst und hab dann eine gute Entschuldigung parat, warum es so lange gedauert hat. Er wartet auf dein Feedback und knabbert an den Fingernägeln. Sei du selbst und ehrlich. Bei mir sieht das in der Regel so aus, aber ich bin auch emotionales Subjekt:

    Zitat Zitat
    HEY HOOOO!

    Geil! Super Arbeit! So können wir das gebrauchen! Mensch ich hab hier gesessen und nur gelacht! EINS A wirklich. Ich sitz hier immer noch und freu mich dumm - lol Geil. Einfach nur brillant. Die werden sich kringeln. Das is nur geil. Ich muss die Aufnahme noch dem "Fan-Kreis" vorspielen - ich bin mir aber sicher die werden das Gleiche sagen! Das war nur super. Ganz, ganz, ganz, ganz, ehrlich. Spitzen Arbeit! Das war 110% <-SO BRAUCHEN WIR DAS! Da gehörst du hin! Da oben! Das war nur geil!

    So jetzt noch die anderen drei Rollen, genau so! - und wir können uns selbst einmodden! ;-)

    Spitze und tausend, tausend, tausend ganz herzlichen lieben Dank, Super Arbeit!

    Gruß
    Ryan
    Tipp:
    Jeder Sprecher ist wie ein Schauspieler ein anderer Mensch. Es gibt einige die improvisieren gerne, andere legen wert auf gute Lines und möchten diese auch 1:1 übertragen. Stell du dich auf deine Sprecher ein, nicht umgekehrt, dann erreicht ihr gemeinsam auch das Beste "out-come".

    Klassische Regie-Anweisungen sind: Schneller/Langsamer, mehr/weniger betont, oder halt: "freundlicher", "aggressiver", "witziger" etc.
    Sprich mit deinen Sprechern. Was in deinem Kopf ist sieht keiner, ihr müsst ein gemeinsames Level des Charakters ausarbeiten.

    Nimm in einigen Fällen ruhig den Dialog auf und sprech ihn vor. Das kann bei schwierigen Textpassagen oftmals hilfreicher sein.


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Gut. Wir haben eine Quest. Einen Dungeon. Ein Drehbuch und eine Fülle von Soundfiles. Was jetzt?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DIALOGE EIN - MODDEN

    So. Nachdem wir die Soundfiles haben, bringen wir sie via CS in das Spiel. Ich erkläre dir es hier mit dem Freeware-Programm Audiacity:

    - Setze dein Soundkarte entweder auf "Aufnahme-Summe" oder "Wave" aufnehmen.
    - Du öffnest Audiacity und deine Mod im CS
    - Öffne das Questmenü und gehe zu deiner Quest
    - Schreibe deine Dialog-Zeile im CS
    - Füge dieser Dialog-Zeile eine Bedingung zu (!!!WICHTIG!!!)
    - Öffne das Dialogfenster und gib eine Emotion samt Wert ein
    - Hake "create Lip-File from Wave" an
    - Öffne deinen ersten Sound-File in Audiacity
    - Setze ein paar Sekunden "Leer-Lauf" vor die Sprache
    - Erzeuge eine Ton-Marke ca. 1,5 bis 2 Sekunden vor die Sprache
    - Drücke Play
    - Wechsele ins CS
    - Drücke Record NACHDEM du die Ton-Marke hörst
    - Drücke STOP nachdem die Sprache endet

    Sag "SAVE". Fertig.

    Deine Dialog-Zeile wurde jetzt als Wave in einem Ordner unter Sound im Explorer abgespeichert und dazu automatisch ein LIP-File kreiert.

    Diese Schritte wiederholst du jetzt, bis du alle deine Dialoge im CS aufgenommen hast.
    Wenn du kontrollieren willst ob auch wirklich aufgenommen wurde, so öffne die Dialog-Line im CS und klicke via Doppelklick auf die Tabelle. Du hörst den Sound jetzt in Spiel-Qualität.

    Wenn du Korrekturen durchführen willst so ist es sinnvoll diese mit dem ersten Wave-File zu beginnen, z.B. Lautstärke. Diese sind Abhänging von deinen allgemeinen Soundeinstellungen sowie der Lautstärke des Originalen Sound-Files. Alle Änderungen und Abstimmungen wirst du jetzt in Audiacity durchführen und im CS kontrollieren bis du zufrieden bist.

    Zufrieden? Super! Dann lass uns jetzt den Sound ins Spiel einfügen:

    Oblivion kann keine Wave-Files abspielen. Also müssen wir die Wave-Files in MP3 konvertieren. WinLame ist Freeware und bietet sich an, da du viele Files auf einmal konvertieren kannst.

    Beim Encoden in das MP3 Format sind folgende Einstellungen wichtig:

    NoGap-Encoding, Constant Bitstream, 64Kbs, Mono

    Wenn du ein anderes Programm benutzt und letztendlich im Spiel nichts hörst. Dann liegt hier der Fehler. In diesem Falle musst du die Optionen deines Programms einstellen.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    DAS QUEST-MODDING


    Jetzt sind wir an dem Punkt wo wir alle Basis-Materialien zusammen haben. Aber was noch fehlt ist der Ablauf. Richtig. Faktisch bedeutet das Scripten und Testen und Scripten und Testen und das so lange, bis dir deine ganze tolle Quest zum Hals raus hängt. Aber mach dir nichts draus. Du hast den Mod schon dreihundert mal gespielt und kennst alles. Der Spieler wird es zum ersten Mal sehen und den Wau-Effekt haben, den auch du am Anfang hattest.

    Ein gut gemeinter Ratschlag:
    Arbeite nicht mit Quest-Scripts oder Global-Variablen. Ein omnipotentes Script, was alle paar Sekunden abgerufen wird, kann nur schlecht sein.

    Arbeite lieber aus einem Gerüst von Dialogen, Stages, Object-Scripts und Triggern, die ineinander greifen. Diese sind alle Zellengebunden und werden nur ausgeführt wenn der Spieler sich in dieser Zelle befindet. Merke dir auch hier: Der Spieler erlebt die Quest nur ein Mal.

    Ein Beispiel zu einem Quest-Ablauf inkl. der Stages:

    Die Klinge der Götting:

    - Spieler erlebt Traum im Bett der Roten Stute == Script ist an Bett gebunden/Script setzt die Quest auf 30 & spielt Video ab

    Video-Sequenz enthält Information mit MaSydJun zu sprechen/QuestStage 30 schaltet bei allen Charateren die Gesprächsoption frei


    - Spieler spricht mit MaSydJun erfährt Background-Story == Dialog setzt Quest auf 40

    MaSydJun gibt Spieler Rätselbuch/QuestStage 40 ist nur ein Platzhalter sollte der Spieler vorher zu Sayjid kommen

    -Spieler löst das erste Rätsel und kommt zum Dungeon == Rätselbuch

    Dungeon Design enthält architektonische Marken welche mit dem Rätselbuch zusammen als Anhaltspunkte fungieren.

    -Spieler trifft auf Sayjid == Dialog setzt die Quest auf 50

    Handlungsunabhängiger Twist. Belebt jedoch die Welt und greift noch einmal auf die Background-Story zurück /
    die Quest-Stage von 50 triggered jetzt im Wechsel mit Sayjids Dialog die Quest bis auf 60 hoch und sorgt damit für
    Sayjids Verhalten während der Spieler das Rätsel löst und Sayjid sich dem Spieler ab Stage 70 anschließt


    -Spieler trifft auf die Klinge + Finales Rätsel == Dialog

    Finaler Dialog mit Twist: Spieler kommt nicht mehr aus dem Dungeon raus == der Dialog wird über einen Trigger ausgelöst, der die Quest auf 80 setzt und von da an bis 90 hochtriggered, wieder dienen die Quest-Stages nur um das korrekte Verhalten der NPCs zu sichern sowie die Abschluss-Rolle zu enablen welche letztendlich die Quest beenden wird.

    -Spieler löst das letzte Rätsel und überwindet das Labyrinth

    Abschluss Wort um die Quest zu beenden durch lokalen Trigger == Quest wird auf 100 gesetzt und damit beendet


    Du siehst hier auch noch einmal an Hand des Ablaufes, in wie fern der Spieler überhaupt nicht linear durch die Welt geführt wird. Er ist in voller Kontrolle über das nächste Ereignis, in dem er zum nächsten Ort gelangt. Diese Freiheit, ist ein durchgehender Spannungs-Moment, der bei einer eindeutigen Aufgabenstellung: Tu A, Tu B, Tu C langweilig wird, da der Spieler immer um das Ergebnis seiner Handlung weiß. Er weiß, was passiert, wenn er z.B. den Auftrag erhalten würde ein Buch zu beschaffen. Nämlich das Buch irgendwann zu erhalten.

    Bei unserem Quest-Ablauf hier, weiß der Spieler nur: Es gibt ein Schwert und einen Tempel - aber was ihn auch immer erwartet bis zum Schluss ungewiss.


    Hab Spaß

    Ryan O.Hershey

  12. #12

    MaxikingWolke22's Tutorial für euer eigenes Sternzeichen-Gleichgewicht

    Guten Abend,
    ich selbst habe erst vor wenigen Tagen das Modden "gelernt" und wollte dem interessiertem Leser nun zeigen, wie er sich mit Hilfe des Konstruktions Sets die Spielbalance verändern kann. So werden etwa Sternzeichen geändert und attraktiver gemacht, Magiersternzeichen erhalten mehr Magieboni, und der Schlossöffnen-Zauber des Turm-Zeichens kann nun auch sehr schwere Schlösser öffnen (Durchschnittsschlösser findet man ab Level 10 ja nicht mehr so oft, sie werden dann langsam durch stärkere abgelöst).

    Ich werde dieses Tutorial nun in mehrere Schritte unterteilen; keiner davon besonders schwer. Nur ein bisschen Englisch sollte man verstehen.

    1. Genaue Liste gewünschter Änderungen anhand von Spielerfahrungen aufschreiben, damit man später nicht durcheinander kommt. Das ist nämlich sonst kein Vergnügen - allein an den Sternzeichen kann man dann Stunden sitzen, wenn man's zum ersten mal macht. Eine Tabelle mit vorher/nachher ist zu empfehlen.

    2. Natürlich das TES ConstructionSet (Oblivion) herunterladen. Gibt's links unter PlugIns/Programme. Dann installieren. Kommt immer gut!

    3. Öffnet das CS. Klickt oben links auf "File", dann auf "Data...", dann doppelklickt in der Liste all eurer PlugIns auf die Datei "Oblivion.esm". Es ist richtig, dass vor keinem der PI ein Kreuz ist. Vor Die Oblivion.esm-Datei ist eins gesetzt, also klickt ihr auf OK. Dann lädt er etwa eine halbe Minute, und dann habt ihr links die Liste mit "Actors", "Items", "Magic" usw.. Klickt ihr nun hier auf einen Reiter, so ist auf einmal alles voll von Namen und Zaubern etc., im Gegensatz zu vorher.

    4. Klickt oben in der Leiste, in der auch "File" zu finden war, auf "Character", dann auf "Birthsigns...". Nun seht ihr in einem Fenster eine Liste aller Sternzeichen. Die EditorID besteht aus "BirthSign" und dem englischen Namen des Sternzeichens, rechts daneben findet man den deutschen Namen, der auch im Spiel zu finden ist. Wählt eines durch einfachen Klick aus:
    - Unter "Full Name" steht der Name, der im Spiel bei der Auswahl und später beim Charakter zu finden ist, etwa "Der Atronach".
    - Unter "Description" findet man die Beschreibung, die bei der Auswahl in der Kaiserlichen Kanalisation am Anfang des Spiels zu lesen ist. Diese könnt ihr ändern, so steht z.B. beim Sternzeichen Krieger, dass die Stärke um +20 erhöht wird, obwohl Stärke und Konstitution um je +10 erhöht werden.
    - Unter "Spell" findet man die Zauber des Sternzeichens. Das ist beim Atronach einer, der aber mehrere Eigenschaften hat. Er heißt "BSAtronach". Das ist das für uns Interessante.
    - Unter "Constellation Image" sieht man das Bild, das im Spiel angezeigt wird. Hier kann man schrauben, muss man aber nicht. Heute lassen wir das mal!

    5. Jetzt geht's ans Modden! Den Zauber "BSAtronach" kann man leider nicht anklicken. Das macht einiges sehr viel unübersichtlicher, besonders für Anfänger. Dennoch kann man ihn ändern, wenn man nämlich links auf "Magic"\"Spell" klickt. hier sind ALLE Zaubersprüche im Spiel aufgelistet. sie werden aber unterteilt in: "An/Aus", "Eigenschaft", "Geringere Macht", "Krankheit" und "Zauber". Wir erinnern uns: Das Sternzeichen Atronach bedeutet: Magiebonus +150, Beeinträchtigte Magicka (wird also nicht regeneriert), und Zauberabsorbation 50 Punkte. Das sind alles Eigenschaften; Sie werden im Menü "Aktive Effekte" im Spiel als konstante Effekte aufgelistet. Andere Zauber von anderen Sternzeichen, die etwa 1x täglich gezaubert werden können, sind unter "An/Aus" zu finden, wie etwa "BSShadowMoonshadow", der "Mondschatten" des Diebes ("BS" steht für BirthSign, also Sternzeichen. Das erleichtert die Suche nach den Zaubern erheblich. "Shadow" steht hier für das Sternzeichen selbst, also "Schatten". Und "Moonshadow" ist der Name des Zaubers / der Eigenschaft).
    Wenn man nun unter "Eigenschaft" auf "BSAtronach" doppelklickt, sieht man folgendes:
    Eine Tabelle! Dadrin stehen drei Zauber:
    1) Magicka festigen; Stärke 150; Radius 0; Duration Selbst (ob der Zauber auf sich selbst, auf ziele oder auf Berühren angewendet wird) und die Kosten.
    2) Zauberabsorbtion 50 Punkte an Selbst
    3) Beeinträchtigte Magicka an Selbst

    Doppelklickt man jetzt - oder rechtsklickt und auf "Edit" klickt - auf diesen Zauber, so kann man die Parameter umstellen; etwa bei "Magnitude (Stärke)" 200 hineinschreiben. wenn man dann auf OK klickt, sind die Änderungen gespeichert. So kann man mit allen Sternzeichen verfahren - im Sternzeichen-Menü auf das gewünschte Sternzeichen klicken, dann den Zauber unter "Spell" suchen, draufklicken - Und ändern! Und auf OK klicken nicht vergessen! Hat man nun aber keine Liste, nach der man planmäßig vorgehen kann, so sieht man schnell alt aus, mit den ganzen Zaubern, die alle irgendwie "BS" heißen und so...

    6. Wenn man nun genug geändert hat - etwa den Sternzeichen, die nur Attributboni geben, noch andere Effekte hinzugefügt hat, wie etwa "Ausdauer festigen" für das Sternzeichen "Der Krieger", dann kann man auf "File" klicken - oben links - und auf "Save" gehen. dann habt ihr's gespeichert - und seid fertig! Klickt man nochmal auf "File" und "Data", und markiert man dann in der Liste das gerade erstellte PlugIn, so kann man noch den Namen und die Beschreibung ändern - etwa "MeinErstesPlugIn" oder "SternzeichenAusgleich1". Außerdem kann man, wenn man es auswählt - wie ganz am Anfang die "Oblivion.esm"-Datei - und auf "SetAsActiveFile" klickt, es nochmal bearbeiten.

    Vor dem Spielen im Launcher auf Spieldateien klicken und den Haken davorsetzen - fertig! Dann könnt ihr loslegen - aber leider nur mit nem neuen Charakter, oder mit einem, der noch im Sternzeichen-Auswahlmenü in der Kanalisation gespeichert wurde. Um mit einem vorhanden weiterzuspielen, bedarf es mehr Arbeit - denn dafür muss gescriptet werden. Das lassen wir aber vorerst!

    MaxikingWolke22

  13. #13

    Verwenden verschiedener Sprachen ohne Einsatz meherer *.esp-Dateien

    Ich begebe mich auch mal unter die Tutorial-Schreiber.

    Wie oben im Titel zu sehen wird hier nach und nach ein Tutorial entstehen, wie man ein mehrsprachiges Plugin erstellen kann, ohne für jede Sprache eine eigene *.esp zu benötigen.
    Für dieses Tutorial wird zumindest ein grundlegendes Scriptwissen vorausgesetzt, da sowohl das umbenennen der Items, als auch das feststellen der Sprache über Scripts erfolgt und ich mir nicht die Mühe machen will, dass Scripten auch noch extra zu erklären.

    Sofern man auf neue Objekte (z.B. Activators, Inventarobjekte, Zauber) verzichtet kann man das komplett mit Vanilla-Befehlen erreichen, allerdings bevorzuge ich immer die Variante mit OBSE.

    ACHTUNG:
    Ich habe in keinem Script die nötige Überprüfung nach OBSE/Pluggy eingefügt.
    Es wird davon ausgegangen, dass diese schon erfolgt sind.
    Sofern OBSE/Pluggy benötigt wird steht es dabei.




    Feststellen der Sprache
    Um die Sprache herauszufinden gibt es 4 Möglichkeiten (ich bin sicher, es gibt noch ein paar mehr, ich zähle hier aber nur diese 4 auf ):
    1. Bestimmen der Sprache durch Fragen des Users
      Einfach beim ersten Spielstart eine MessageBox und gut ist. Einziges Problem ist, dass man sich bei dieser MessageBox für eine Sprache entscheiden muss. Englisch dürfte hier die beste Wahl sein, da dass von den meisten verstanden wird.
      Das ganze könnte z.B. so aussehen:
      Code:
      scn QuDetermineLanguageScript
      
      short Stage
      short Language		;0=English, 1=German, 2=French, 3=Spanish, 4=Italian, etc.
      
      Begin Gamemode
      	if ( Stage )
      		if ( Language == -1 )
      			set Language to GetButtonPressed
      		else
      			StopQuest QuDetermineLanguage
      		enidf
      	else
      		set Language to GetButtonPressed
      		MessageBox "Which Language do you want to use?" "English" "German" "French" "Spanish" "Italian"
      	endif
      End
      Bei mir würde sich sowas nur auf English & Deutsch beschränken, einfach weil ich nicht mehr kann.
    2. Bestimmen der Sprache anhand des *.ini-Setting iLanguage unter [Controls].
      Gibt meistens verlässlich die Sprache an, steht aber eigentlich für die Tastatureinstellung (Language values: 0-English, 1-German, 2-French, 3-Spanish, 4-Italian). In Einzelfällen kann also die falsche Sprache gewählt werden.
      Benötigt den OBSE-Befehl GetNumericINISetting/con_GetINISetting.
      Code:
      scn QuDetermineLanguageScript
      
      short Language		;0=English, 1=German, 2=French, 3=Spanish, 4=Italian, etc.
      
      Begin Gamemode
      	set Language to GetNumericINISetting "iLanguage:Controls"
      	StopQuest QuDetermineLanguage
      End
    3. Bestimmen der Sprache anhand des Namens eines Vanilla-Objekts (z.B. eines Apfels)
      Funktioniert z.B. über die OBSE-Funktion CompareNames, könnte allerdings in Einzelfällen das falsche Ergebnis liefern falls ein anderes Plugin den Namen ändert.
      Code:
      scn QuDetermineLanguageScript
      
      short Language		;0=English, 1=German, 2=French, 3=Spanish, 4=Italian, etc.
      
      Begin Gamemode
      	set Language to ( ( CompareNames Apple AppleDV ) == 0 ) + ( ( ( CompareNames Apple AppleFV ) == 0 ) * 2 )	;kann noch beliebig mit weiteren Sprachen ergänzt werden
      	StopQuest QuDetermineLanguage
      End
      Unterstützt in der Form die Sprachen Englisch, Deutsch & Französich.
      AppleDV & AppleFV sind irgendwelche Objekte, die genauso heißen wie Apple in der jeweiligen Sprache.
      AppleDV heißt also Apfel, während AppleFV wahrscheinlich pomme (fragt am besten bei jemanden mit einer französischen Version nach) heißt.
    4. Bestimmen der Sprache anhand der Dateigröße der Oblivion.esm.
      Funktioniert über die Pluggy-Funktion GetFileSize. Die zu überprüfenden Werte für die Deutsche Version (Patch 1.2.0416) sind dabei 247876643 & 278038032, als RootID muss dabei natürlich 1 (Oblivion main folder) verwendet werden.
      Funktioniert absolut zuverlässig, solange der User die Oblivion.esm nicht verändert hat. Das sollte zwar eigentlich nie der Fall sein, aber User sind manchmal noch unvorhersehbarer, als Oblivion selbst.
      Code:
      scn QuDetermineLanguageScript
      
      short Language		;0=English, 1=German, 2=French, 3=Spanish, 4=Italian, etc.
      
      Begin Gamemode
      	set Language to ( ( ( GetFileSize -2000 1 ) == 247876643 ) || ( ( GetFileSize -2000 1 ) == 278038032 ) )	;Patch 1.2 ohne SI || Patch 1.2 mit SI; DV=1, alles andere =0
      	StopQuest QuDetermineLanguage
      End
      Unterstützt in der Form nur die Sprachen Englisch & Deutsch (heißt: alles Nicht-Deutsche wird Englisch).

    Bei jeder Möglichkeit sollte man meiner Meinung nach z.B. einen Konsolenbefehl einbauen, um die Sprache nachträglich zu ändern. Nur für den Fall, dass es sich um einen der Einzelfälle handelt, oder man sich später nochmal umentscheidet.
    Bei meinen Beispielen würde der so aussehen:
    Code:
    set QuDetermineLanguage.Language to X
    Wobei X für die gewünschte Sprache steht.
    Man muss dabei sicherstellen, dass dabei auch alle Werte, die damit zusammenhängen geändert werden. Wie das funktioniert beschreibe ich später.




    Anwendung
    So, jetzt habt ihr eine Variable, die euch die Sprache angibt. Das alleine nützt allerdings gar nichts, da man sie erst noch verwenden muss.

    Dialoge, Tagebucheinträge und ähnliches
    Bei Dialogen, Tagebucheinträgen, etc. funktioniert das, indem man von jedem für jede Sprache eine eigene Version hinzufügt und als zusätzliche Condition ein GetScriptVariable (bzw. GetGlobalValue falls ihr solche bevorzugt) mit Abfrage der jeweiligen Sprache hinzufügt.
    Allerdings sollte man eine Sprache (ich empfehle wieder einmal Englisch, wird einfach von den meisten Leuten verstanden) für den Fall verwenden, dass der gewählte Wert ungültig ist (heißt: die Sprache wird nicht unterstützt). Dazu schließt ihr einfach alle anderen Werte aus (Heißt: anstelle von == 0 mehrere Abfragen, wie z.B. != 1, != 2, etc.).




    Messages & MessageBoxen
    Bei Messages & MessageBoxen könnt ihr entweder im Script immer einen extra If-Block konstruieren (benötigt kein OBSE, ist aber sehr aufwendig und verschlingt eine Menge Platz), oder ihr verwendet stattdessen MessageEx & MessageBoxEx und lasst alles was Text ist durch %c darstellen. Dazu erstellt ihr für jede Sprache eine eigene Faction*, in deren Male Titles der jeweilige Text gespeichert wird. Die Faction für die verwendete Sprache speichert ihr dann in einer Ref-Variablen, welche ihr dann als ersten Parameter für %c angebt. Nachteil dieser Variante ist, dass das bei Variablen etwas kompliziert werden kann und, sofern man das als Nachteil sieht, dass es OBSE benötigt, trotzdem ist das meiner Meinung nach die zu bevorzugende Variante.

    *Man könnte anstelle der Faction auch einen Zauber mit lauter ScriptEffecten verwenden, wobei man den ScriptEffecten dann die entsprechenden Namen gibt. Ich finde die Variante mit der Faction aber weniger kompliziert und daher zu bevorzugen.

    Hier mal ein kleines Beispiel dazu:
    Ich will eine MessageBox darstellen, die dem Spieler den Wert einer Variablen mitteilt.
    Dabei nehme ich an , dass die entsprechende Faction schon der Ref-Variablen Faction der Quest QuDetermineLanguage zugewiesen wurde.
    Code:
    scn QuShowExampleMessageBox
    
    short var
    
    Begin Gamemode
    	if ( GetQuestRunning QuDetermineLanguage == 0 )
    		set var to GetRandomPercent
    		MessageBoxEx "%c%.0f", QuDetermineLanguage.Faction, 1, var	;anstelle von 1 kann auch ein anderer Parameter dargestellt werden, je nach dem in welchem Rang der Text gespeichert wurde
    	endif
    End
    Hierbei steht jetzt bei Rang 1 der englischen Faction z.B. folgendes:
    Zitat Zitat
    var has a value of
    währen bei der deutschen z.B. folgendes steht:
    Zitat Zitat
    var hat den Wert
    Wenn man jetzt von einer deutschen Sprache ausgeht und annimmt, GetRandomPercent hat 36 ausgegeben wird in der MessageBox folgendes zu lesen sein:
    Zitat Zitat
    var hat den Wert 36
    ----------------------------
    OK

    Factions & Zauber
    Hier gibt es jetzt mehrere Möglichkeiten. Entweder man erstellt für jede Sprache eine eigene Version, oder man benennt sie einfach um. Für letzteres wird OBSE benötigt.

    Um die Factions/Zauber selbst umzubenennen kann man ohne Probleme SetName(Ex) verwenden, das wirklich problematische sind hier die Einzelnen Ränge einer Faction, bzw. die ScriptEffekte eines Zaubers. Dafür benötigt man dann SetNthFactionRankNameEx, bzw. SetNthEffectItemScriptName(Ex).
    Bei Factions würde ich ganz klar für die Methode mit mehreren Factions, wo die verwendete dann anhand der Sprache ausgewählt wird, plädieren. Bei den Zaubern kommt es mir ehrlich gesagt vor allem auf die Anzahl der Skripteffekte an. Alle anderen muss man nämlich überhaupt nicht übersetzten.


    Zellen, Actors & andere Objekte
    Jetzt fehlen eigentlich nur noch Zellen, Objekte, NPCs und Kreaturen.
    Hier ist der Punkt erreicht, an dem sich die Möglichkeiten mit, bzw. ohne OBSE nicht nur im Komfort (bzw. der Möglichkeit Variablen zu verwenden) ausdrückt, sondern der bloßen Möglichkeit Objekte via Script umzubenennen.
    Mit OBSE funktioniert das ganz einfach: man verwendet SetNameEx und kann dabei sogar die gleiche Methode anwenden, wie bei den MessageBoxen. Einziger Unterschied ist, dass man das umzubenennende Objekt (bzw. den NPC/die Kreatur/die Zelle) entweder in einer Ref-Variablen zwischenspeichert und dann als letzten Parameter angibt (einzige Möglichkeit für Zellen), oder dass man eine Referenz desselben als CallingReference verwendet.

    Ohne OBSE wird das ganze etwas komplizierter. Zwar gibt es für Zellen mit SetCellFullName, sowie für NPCs und Kreaturen mit SetActorFullName Befehle diese umzubenennen, allerdings habe ich keinen für andere Objekte (z.B. Activators) gefunden.
    Sollte man nur Vanilla-Objekte verwenden kann man zwar auf ein Umbenennen von diesen Verzichten, trotzdem ist es sinnvoll zumindest die Zellen mit einem Beschreibenden Namen (z.B. Höhle) umzubenennen.
    Dazu muss man alle Namen in dem Script als String ausschreiben, was die Scriptgröße sehr schnell ansteigen lässt, so dass man wahrscheinlich sehr schnell an die Max_Script_Size stößt. Lässt sich zwar umgehen, ist aber trotzdem nervig.

    Alternativ kann man auch noch den Weg über doppelte Zellen/Objekte/etc. gehen, indem man für jede Sprache ein eigenes Objekt erstellt und alle Objekte einer nicht verwendeten Sprache via Disable entfernt. So muss man nur noch Exteriorzellen umbenennen: Objekte, NPCs & Kreaturen tauchen gar nicht auf (sind Disabled), für Interiorzellen bleibt nur die Tür zur Version mit der richtigen Sprachversion im Spiel sichtbar (Rest auch disabled), nur bei Exteriorzellen lässt sich das nicht anders beheben, aber dafür gibt es ja SetCellFullName.
    Nachteil ist halt, dass es ein massiver Aufwand ist, weil man alles doppelt & dreifach machen muss.




    Update bei nachträglicher Änderung der Sprache
    Wie vorhin schon geschrieben ist es ratsam eine Möglichkeit einzubauen, die Sprache nachträglich zu ändern. Leider ist das mit einem bloßen ändern der Language-Variablen nicht getan. Es muss noch die Faction in der Variablen getauscht, und die Objekte umbenannt werden. Für die Tagebucheinträge & Dialoge muss nichts mehr extra verwendet werden.

    Ich verwende hier als Beispiel mal den Pluggy-Methode (Dateigröße), zusammen mit einem Konsolenbefehl als Änderungsmöglichkeit:
    Code:
    scn QuDetermineLanguageScript
    
    int Init
    short Language		;0=English, 1=German, 2=French, 3=Spanish, 4=Italian, etc.
    short OldLanguage
    ref Faction
    
    Begin Gamemode
    	if ( Init )
    		if ( Language != OldLanguage )
    			set OldLanguage to Language
    			;Auswählen der Faction für MessageEx, MessageBoxEx & SetNameEx
    			if ( Language == 1 )	;German
    				set Faction to FactionDV
    			else
    				set Faction to FactionEV
    			endif
    			ActiSetNames.Activate Player 1
    		endif
    	else
    		set Language to ( ( ( GetFileSize -2000 1 ) == 247876643 ) || ( ( GetFileSize -2000 1 ) == 278038032 ) )	;Patch 1.2 ohne SI || Patch 1.2 mit SI; DV=1, alles andere =0
    
    		set OldLanguage to -1
    		set Init to 1
    	endif
    End
    Hierbei wird wieder nur die deutsche und englische Sprache unterstützt. Außerdem wird davon ausgegangen, dass ActiSetNames die Referenz eines Activators ist, in dessen Script in einem OnActivate-Block alle Objekte umbenannt werden (bzw. die Umbenennung geregelt wird).
    Natürlich kann man das auch auf die anderen Methoden übertragen.


    Das war es dann eigentlich auch schon.
    Ob es sich lohnt, den Aufwand auf sich zu nehmen um alles in einer *.esp-Datei zu haben muss jeder für sich selbst entscheiden.
    Bei größeren Projekten, die viele neue Sachen hinzufügen wage ich es zu bezweifeln, ansonsten kann es aber durchaus hilfreich sein immer nur einen Downloadlink angeben zu müssen und trotzdem alle Sprache dabei zu haben.
    Vor allem, wenn man sich dabei keine Sorgen machen muss, dass unbedarfte, ReadMe-Verweigernde User, alle vorhanden *.esp-Dateien aktivieren und dabei für komplettes Chaos sorgen. Wo nur eine *.esp vorhanden ist können nicht mehr aktiviert werden.
    Geändert von Low Post (30.12.2008 um 19:35 Uhr)

  14. #14

    Chucks Tutorial zum erstellen eigener Icons in ~10 Minuten

    Icons – Wie erstelle ich sie?
    by Chuck Norris



    ---- Vorwort:

    Öffters habe ich Mods gesehen, welche neue Kleidung, Waffen oder sonstige Items eingefügt haben. Manchmal hatten die Items aber keine Icons bzw. eigenständige Icons. Entweder wurde also zu einem unpassendem Icon aus Oblivion gegriffen oder das Icon wurde ganz weggelassen – Das Ergebnis war dann ein pinkes Quadrat. Nicht sehr schön.

    In diesem Tutorial erkläre ich euch möglichst Schritt-für-Schritt eine Möglichkeit, einfach Icons zu erstellen, sei es um heruntergeladene Mods zu ergänzen oder auch für eure eigene Mod.

    Als Voraussetzung setze ich nur Basiskenntnisse bezüglich des Construction Sets. Ich möchte hier wirklich nicht banale Dinge erklären müssen, z.b. wie man ein neues Objekt unter weapons anlegen kann.

    Bevor wir anfangen, möchte ich aber noch etwas sagen: Ja, ich kenne Growlfs Tutorial (http://www.ei-der-zeit.com/board/ind...d&threadID=178), aber dies ist viel zu umständlich, viel zu viel Aufwand für etwas so Kleines.

    Dieses Tutorial wirkt schon etwas länger, aber wenn man es 2-3 mal durchgearbeitet hat, sollte man die ganze Prozedur in ~ 10 Minuten schaffen.

    ---- Benötigte Tools

    1. The GIMP (http://www.gimp.org/) + das DDS-Plug-In (http://nifelheim.dyndns.org/~cocidiu...in32-2.0.7.zip)

    2. Das TES IV Constrction Set (http://theelderscrolls.info/?go=dlfi...id=56%29%28wer) (Wird eh gebraucht, um das Icon überhaupt an das Item zu legen.



    ---- Fangen wir an…

    Als allererstes brauchen wir das Item, welches wir als Icon abbilden wollen. Ich nutze in diesem Tutorial meine Nevan-Klinge:

    Bild: http://www.pic-upload.de/30.12.08/aih38m.jpg

    Ihr werdet anstatt des Schwertes euer Item verwenden, von dem ihr gerne ein Icon hättet.

    Okay, wenn wir das haben, öffnen wir das Constrction Set (Welches ich ab hier als CS abkürzen werde). Wir laden keine .esp, das wäre unnütz. Als nächstes erstellen wir eine Waffe. Werte, Verazuberung, etc lassen wir weg, das wäre auch nur Zeitverschwendung. Das Einzige, was wir machen, ist den Pfad zur .nif angeben (Sprich: Der Knopf „Add NIF file“) und eine ID eingeben. Mehr brauchen wir nicht.

    Wenn das getan ist, erstellen wir oben in der Leiste World -> Cells in der Tabelle links per Rechtsklick -> New eine neue Cell und geben in dem nun erscheinenden Fenster eine ID ein. Dann per „OK“ dieses Fenster und nochmal „OK“, um das Cellfenster zu schließen. Nun wählen wir die Cell im Cell View Fenster per Doppelklick unsere eben erstellte Cell aus. Wenn dann oben im Render Window die ID unserer Cell erscheint, haben wir`s.

    Als nächstes ziehen wir unser erstelltes Schwert per Drag&Drop in das Render Window und „schalten das Licht ein“ (oben in der Leiste mit den kleinen Bildern, die Glühbirne). Dann sollten wir ein Schwert mit völlig grauen Hintergrund haben.



    Okay, jetzt wird ein wenig schwieriger: Wir ziehen das Render Window über den ganzen Bildschirm:

    Bild: http://www.pic-upload.de/30.12.08/ljquep.jpg

    Nun ziehen wir unser Schwert so, wie wir es gerne als Icon hätten und drücken daraufhin die Taste Druck (Das ist die 2 Tasten über Enter und neben Rollen) einmal.



    ---- Die Erstellung des Icons



    Jetzt öffnen wir GIMP und klicken oben auf Bearbeiten und dann auf Einfügen. Nun sollten wir unserem Bildschirm sehen können, wie er aussah, als wir auf Druck gedrückt haben. Das ist gut so und auch richtig.

    Nun wählen wir das Werkzeug Rechteckige Auswahl aus (Zu finden im Werkzeugkasten ganz links oben) und zoomen auf 800% heran. Das können wir, in dem wir unten im Fenster auf den Pfeil neben der Prozentzahl klicken. Wir setzen dort auf 800%. Wir achten aber darauf, dass es in Pixel angegeben ist. Wenn nicht, stellen wir dies genau daneben auf Pixel. Wir sollten nun ein 8mal vergrößertes Bild haben.

    Nun ziehen wir einen Rahmen, welcher genau auf dem äußersten Pixel rechts unten im grauen Teil des Render Window beginnt und auf dem äußersten Pixel links oben auch beim Render Window endet. Das sollte dann so aussehen, wenn wir wieder herauszoomen:

    Bild: http://www.pic-upload.de/30.12.08/5wjijr.jpg

    Wir achteten aber unbedingt darauf, dass wir aber wirklich auch nur den grauen Teil auswählen! Sonst haben wir nachher nur unnötig mehr Arbeit.

    Weiter geht’s: Oben in der Leiste auf Bild -> Auf Auswahl zuschneiden. Nun haben wir ein komplett graues Bild, in dessen Mitte unser Schwert ist.

    Nun klicken wir im Werkzeugkasten auf Zauberstab. Das ist der Stab, drei Tools neben Rechteckige Auswahl und klicken einmal auf die graue Fläche im Bild. Alles Graue sollte nun ausgewählt sein.

    Wenn aber auch Teile des Schwertes ausgewählt werden, kein Problem: Wir wählen im Werkzeugkasten den Pinsel oder den Stift aus, stellen die Skalierung auf 0.01 und die Farbe auf schwarz. Nun zeichnen wir im 800%-Zoom eine Art Trennlinie, welche die Teile des Schwertes vom Grauen Abschnitt trennt und versuchen es nochmal mit dem Zauberstab. Wenn immer noch Teile im Schwert ausgewählt werden, machen wir die Linie ruhig länger. Wenn dann endlich nur das Graue markiert wird, machen wir folgendes: Wir klicken oben in der Leiste auf Ebene -> Transparenz -> Alphakanal hinzufügen. Dies fügt unter dem Bild eine transparente Ebene ein, die noch wichtig sein wird.

    Wenn Alphakanal hinzufügen grau und nicht anwählbar ist, macht nichts, das bedeutet, dass bereits einer vorhanden ist.

    Folgend stellen wir noch einmal sicher, dass auch nur das Graue markiert ist und drücken die Taste Entfernen. Nun sollte sich das Graue mit einer Art Schachbrettmuster getauscht haben. Das ist der Alphakanal.

    Nun ziehen wir per Rechteckige Auswahl ein auf den Pixel genaues Quadrat um das Schwert (Hier hilft wieder der 800%-Zoom), welche möglichst klein sein sollte. Oder, wenn das nur schlecht gehen sollte, ziehen wir ein Quadrat um die Klinge oder den Griff, sodass aber noch mindestens 40% davon Alphakanal ist. Nun wieder Bild -> Auf Auswahl zuschneiden. Als letzten Schritt wählen Bild -> Bild skalieren aus und skalieren das Bild auf 64 x 64 Pixel.

    Wie man sehen kann, nimmt das Icon Gestalt an. Als letzten Schritt speichern wir das Icon als .dds unter C:/Programme/Bethesda Softworks/Oblivion/Textures/Menus/Icons und fertig. Als .dds speichern wir, indem wir auf Datei -> Speichern unter klickt und als Dateinamen „>Iconname<.dds“ eingeben (Hier ohne <> und statt Iconname euern Dateinamen)



    Fertig! Das war’s, ihr habt nun auf relativ schnelle Art und Weise ein eigenes Icon erstellt. Das Ergebnis kann sich schon sehen lassen:







    ---- Abschließende Worte

    Diese Tutorial ist zwar ein Schritt-für-Schritt Tutorial, aber manchmal muss man schon ein wenig improvisieren. Was zum Beispiel, ihr habt eine Rüstung? Da müsste man zunächst per Nifskope eventuell die vorhandenen Arme entfernen (Also die menschlichen Arme, meine ich) und als Worldmodel das Rüstungsmodel auswählen. Das wäre eine Möglichkeit. Probiert ruhig herum. Vieleicht findet ihr sogar einfachere Mittel, ein Icon zu erstellen. Kreativität ist gefragt.
    Geändert von SirTroy (30.12.2008 um 15:59 Uhr)

  15. #15

    How not to do - Was man mit dem CS vermeiden sollte

    *mir schüchtern eine kleine Ecke such und anfang zu basteln*

    Bitte wenn erst am Ende oben verlinken. Ich werde wohl nicht alles auf einmal schreiben können. Und auch nicht wollen, aber vergessen werde ich es nicht, iiiirgendwann wird es vollbracht sein!

    Nach den spaßigen Erlebnissen des ersten Moddingversuches wollte ich mal eine Liste der Dinge machen, die man unbedingt vermeiden sollte.

    Falls es sowas schon gibt oder es als vollkommen überflüssig gesehen wird, bitte sagen. Aber mit Vorwarnung, damit ich meinen Text retten kann


    ---


    Was gibt es schöneres, man hat endlich das CS vor der Nase, halbwegs verstanden und kann seine Träume umsetzen! Neues Haus, neue Gegenstände, neue Zauber, alles kein Problem. Vielleicht will man es sogar mal veröffentlichen?

    So ging es mir am Anfang, voller Begeisterung und Elan, von Tutorial zu Tutorial und nach ein paar Tagen und gefühlten Ewigkeiten Arbeit die erste Ernüchterung: Scheiße, du hast da was gemacht, das auch unsaubere Mod genannt wird.
    Also mal angefangen zu lesen, viele nette Einträge, die meisten jedoch auf Englisch und irgendwie wieder sauber bekommen. Und doch, irgendwie bin ich alle paar Wochen wieder auf irgendetwas gestoßen, wegen dem ich Teile meiner Mod umschreiben musste. Auf Probleme, bei denen man eigentlich nur eins tun möchte: >_<
    Da das Construction Set bzw. Oblivion selbst mehr oder weniger Schuld an den Auswirkungen von Dingen ist, die man garnicht wirklich als "falsch" bezeichnen kann. Aber wie man es nennt ist dann auch egal, wenn das Spiel sich verabschiedet

    Deswegen möchte ich hier versuchen eine Liste der Dinge zu erstellen, die man unbedingt vermeiden sollte, wenn man mit dem Construction Set arbeitet (und sich selbst und anderen viele graue Haare ersparen will).



    - Unsaubere Mods -

    So eine Plugin-Datei ist eigentlich nichts anderes, als eine riesige Sammlung von Änderungen (und Ergänzungen) der normalen Obilvion-Spielewelt.
    Du willst ein Schwert dazu haben? Wird reingeschrieben.
    Du willst, dass ein Teller weiter rechts steht? Wird reingeschrieben.
    Du willst, dass ein NSC grüne Augen hat? Wird reingeschrieben.

    Zu Problemen kann es dann allerdings kommen, wenn mehr als ein Plugin verwendet wird. Denn es zählt immer nur die letzte Änderung, die geladen wird. Wenn ein Plugin einem NSC grüne Augen verpasst und ein anderes ihm einen Apfel ins Inventar legt, kann nur eins davon (ohne weitere Hilfsmittel, auf die ich hier nicht weiter eingehen möchte) im Endeffekt aktiv sein. Was in diesem Fall nun nicht weiter schlimm ist. Aber es könnte schlimm sein.
    Stell dir vor, du stehst in der Landschaft, betrachtest sie im CS, klickst hierhin und dorthin und verschiebst ausversehen einen Stein - nix großes. Aber es wird gespeichert. Diese Zelle und dieser Stein sind als geändert markiert. Und das in einem Plugin, das vielleicht nur an einer vollkommen anderen Stelle etwas vollkommen anderes ändern soll! Selbst wenn dieser Stein hinterher wieder haargenau an der gleichen Stelle liegt, ist es eine Änderung für das Spiel. Von der man alleine überhauptreingarnix bemerkt.
    Wenn nun aber ein anderes Plugin, in dieser Gegend, auch etwas ändert - beispielsweise die Bodenhöhe, weil es die Landschaft verschönert oder ein Haus baut, dann gibt es einen Konflikt. Einen vollkommen unnötigen und schwer zu erkennenden Konflikt. Je nachdem, was nun zuletzt geladen wird, kann es vorkommen, dass mitten in den Änderungen von Plugin b) eine einzige Zelle - die mit dem Stein aus Plugin a) - noch die alten Werte hat und Risse im Boden entstehen.
    Grundsätzlich sollte man also seine Erkundungstoren im CS nicht mit einem aktiven Plugin, das man auch speichern will, machen. Beim Rumstöbern in AI-Einstellungen, in Dialogen, in Zellen - viel zu schnell hat man etwas geändert, das man garnicht ändern will. Und will man doch etwas anfassen, etwa um Teile zu kopieren, bietet es sich an, die Zellen zu benutzen, die im Construction Set mit Warehouse anfangen. Hier können Konflikte genauso wie bei allem anderen entstehen - aber im Spiel wird man wohl nichts davon merken, da man diese Zellen normalerweise niemals betritt.

    Durch solche kleinen, ungewollten Änderungen, kann es zu schwerwiegenden Problemen mit anderen Plugins kommen. Deswegen sollte man seine Plugins immer darauf überprüfen und im Zweifelsfall säubern.

    Und wie geht das?

    Möglich ist es mit dem Construction Set selbst, allerdings sehr unkomfortabel.
    Wenn man ein Plugin lädt, hat man die Möglichkeit sich mit dem Knopf neben "Set as Active File" die Details anzusehen. Übersichtlich ist etwas anderes und bei den Bezeichnungen ist es garnicht so leicht, zu erkennen, was was ist. Deswegen bin ich damals gleich zu einem anderen Programm übergegangen: Tes4Edit.
    Dort kann man sich den Inhalt aller Plugins viel Übersichtlicher ansehen und gegebenenfalls unerwünschte Änderungen auch gleich löschen. Praktischerweise wird auch immer eine Sicherheitskopie von der geänderten Datei angelegt, aber sicher ist sicher - ehe man sein Jahresprojekt von irgendwelchen Dingen "befreit", kann auch eine eigene Sicherheitskopie nie schaden.
    Es gibt noch mindestens ein weiteres Programm, mit dem man Mods säubern (bzw. "cleanen") kann - und soweit ich gehört habe, vieles anderes auch: TES4Gecko. Dieses Programm kenne ich selbst allerdings noch garnicht.
    Der ConstructionSet Wiki Eintrag, der mir damals sehr geholfen hat und weitere Informationen hierzu bietet: Klick mich.
    Beide Programme können auch jeden Eintrag entfernen, der nur als geändert markiert ist, aber garnicht anders; zum Beispiel so ein Stein, der verschoben und dann zurückgestellt wurde und deswegen vollkommen überflüssig ist.



    - Gelöschte Referenzen -

    Ein Ärgernis, über das ich erst nach einer ganzen Weile eher durch Zufall gestolpert bin - und mich gleich mal ein paar Stunden Korrekturarbeit gekostet hat. Dadurch entsteht kein Fehler im laufenden Spiel, aber beim Beenden oder beim Laden eines Spielstands aus einer anderen Zelle kann es zu unserem heißgeliebten Crash kommen. Und zwar immer dann, wenn Teile des Originalspiels gelöscht wurden. Und wenn es nur ein kleiner Fels in der Landschaft war, sobald ein anderes Plugin ebenfalls irgendwie darauf zugreifen will, kommt es zum Absturz.

    Das lässt sich ja - wenn man es einmal weiß - ganz einfach vermeiden. Nichts löschen!
    Stattdessen neu rumschieben, auf Initially Disabled setzen oder beispielsweise unter dem Boden verstecken. Der Fantasie sind da keine Grenzen gesetzt, Hauptsache der Gegenstand bleibt vorhanden.



    - Recompile All -

    Das CS hat so seine Knöpfchen, die man besser nicht drücken sollte - und das hier ist einer davon! Im Scriptfenser findet man die Recompile All Option. Niemalsnicht drücken!
    Das bewirkt, dass alle Skripte neu compiliert werden - und als geändert in das Plugin geschrieben. Womit es mit so ziemlich und größtenteils allem inkompatibel ist, das irgendwas mit Scripten zu tun hat, zum Beispiel auch offiziellen Plugins. Einfach nie drücken.



    - Der Blackscreen-Bug -

    Spieler mit einer NVIDIA-Grafikkarte haben das Problem, dass sie in Innenräumen in denen Fog Near, Fog Far und Fog Clip Dist alle auf 0 stehen, einen komplett schwarzen Bildschirm bekommen können. Natürlich nicht schön. Es gibt Plugins, die das für alle Originalzellen beheben, indem sie - so alle 3 Werte 0 sind - einfach Fog NEar auf 0.0001 setzen. Schon kommt das nicht mehr vor.
    Wer also neue Interiors baut oder bestehende mit den 3 Werten auf 0 ändert, sollte daran denken, den ersten Wert auf 0.0001 zu setzen.
    Achtung: Das ist wirklich nur nötig, solange alle drei Werte sonst genau 0 sind!



    - Unsaubere Dialoge -




    - Dauerlaufende Skripte -

    Etwas, das die Performance unnötig beeinträchtigen kann: Skripte, die immer und immer wieder laufen. Ein Questscript läuft normalerweise alle 5 Sekunden, ein Objektscript in jedem Frame, solange der Spieler sich in der gleichen Zelle befindet und Skripte auf als Questobjekt markierten Dingen noch öfter! Da kann einiges zusammenkommen.

    Deswegen sollte man solche Skripe vermeiden, wann immer es möglich ist. Ein Skript, das einen Gegenstand hinzufügt und dann nie wieder gebraucht wird als Quest? Ganz einfach stopquest am Ende, statt einfach eine Variable zu setzen. Und immer überlegen, ob es nicht auch auf einem Activate-Block geht, oder einem Load-Block. Ob es wirklich GameMode sein muss. Ob man das nicht verhindern kann, falls man es nicht nochmal brauch. Ein guter Kandidat dafür wären auch Skripte, die man im Questverlauf nur einmal braucht. Solange es anders geht, sollte man es anders machen.



    - Bogen mit Reichweite 0 -

    Kurz und einfach: Keine Bögen mit Reichweite 0 erstellen. Das gibt einen Crash beim Ausrüsten.



    - PlaceAtMe -


    - Bestimmte Zellen
    - Achtung beim Kopieren von Dialogen
    - Lip Files gehen nicht mit dem neuen CS -> Erklärung zum parallelen nutzen des alten CS
    - Globale Variablen vermeiden, lieber Questvariablen nehmen
    - Kein PlaceAtMe
    - Nicht die Addtopic Funktion des Dialogfensters nutzen
    - MoveTo und SetPost im Schwimmen
    Geändert von Laulajatar (08.02.2009 um 03:24 Uhr)

Berechtigungen

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