Da ich ewig im Internet rumgesucht habe und da man da nur offene Fragen, aber keine wirklichen Hinweise bekommt, hier mal der Versuch eines kleinen Tutoriums, wie man einen Lehrmeister erstellt.
Wie erstelle ich einen Lehrmeister ?
==> Wenn wir keine Fehler gemacht haben, ist im Spiel jetzt ein neuer Meistertrainer für leichte Rüstungen vorhanden.
Hinweise:
Wie erstelle ich einen Lehrmeister ?
- NPC erstellen (dafür gibt es genug Tutorials) und Fenster wieder schließen.
- NPC editieren
- Im Reiter "Traits" einen "Voice Type" einstellen. Mit Standardeinstellung funktioniert es bei mir meist nicht. Da es unseren NPC nur einmal geben soll, klicken wir natürlich noch "Unique" an und da er nicht sterben soll noch "Essential".
- Im Reiter "Stats" unter "Class" das entsprechende Lehrgebiet einstellen.
In unserem Fall wollen wir einen Meister-Trainer für leichte Rüstungen, also wählen wir hier "TrainerLightArmorMaster" aus.
Wenn es kein Meister sein soll, halt entsprechend "TrainerLightArmorJourneyman" oder "TrainerLightArmorExpert" auswählen.
- Der nächste Reiter, den wir benötigen ist "Factions".
Hier klicken wir mit der rechten Maustaste ins leere Feld "Factions and Ranks" und wählen mit "New" unter "Select Form" die Gilde "JobTrainerFaction" aus.
Den gleichen Vorgang wiederholen wir für "JobTrainerLightArmorFaction". Es sollte dann jetzt folgendermaßen aussehen:
- Damit der NPC auch als Lehrmeister arbeiten kann, benötigt er noch ein Skript.
Dieses müssen wir im Reiter "Stats" hinzufügen, indem wir auf der linken Seite bei "Scripts" auf "Add" drücken und "TrainerGoldScript" wählen.
http://imageshack.us/photo/my-images/839/npcstats002.jpg/
Dann markieren wir das Skript und wählen "Properties".
Hier gehen wir für "Gold001" als Wert "Gold001" an und für "TrainerType" "3".
Der erste Wert stellt die Bezahlung für den Meister da, der zweite Wert gibt an, ob es sich um einen Master (3), Expert oder Journeyman handelt.
- Dann schließen wir das NPC-Fenster.
- Im Reiter "Traits" einen "Voice Type" einstellen. Mit Standardeinstellung funktioniert es bei mir meist nicht. Da es unseren NPC nur einmal geben soll, klicken wir natürlich noch "Unique" an und da er nicht sterben soll noch "Essential".
- Danach erstellen wir eine neue Quest, indem wir unter "Character\Quest" mit der rechten Maustaste klicken und "New" wählen.
- Unter "QuestData" geben wir unserer Quest eine ID und einen Namen.
In unserem Fall wählen wir einfach "mdeTrainerQuest" und "Trainerquest für leichte Rüstungen" und schließen das Fenster.
- Jetzt editieren wir die Quest und sehen, dass wir jetzt mehr Reiter zur Auswahl haben.
Wir wählen den Reiter "Dialogue Views" und klicken mit der rechten Maustaste in das linke leere Feld und erzeugen mit "New" eine neue Dialog-Liste.
Als ID verwenden wir einfach "mdeTrainerQuest_Dialoge".
Jetzt wählen wir links die erstellte ID aus und klicken mit der rechten Maustaste ins rechte leere Feld und wählen dort "CreateBranch", vergeben als ID "mdeTrainerQuest_Branch" und für den ersten Topic "mdeTrainerQuest_BranchTopic".
Unser Fenster sollte jetzt folgendermaßen aussehen:
Wir machen jetzt einen Doppelklick ins die graue Box unter "mdeTrainerQuest_BranchTopic" und erhalten folgendes Fenster:
Dort wieder Rechtsklick und "New" ins leere Feld und es erscheint ein neues Fenster:
Unter "Response Text" fügt man den Text ein, den der Trainer sagen soll, dann einfach mit OK bestätigen.
Die ganzen Feinheiten mit Vertonung, etc. lasse ich hier weg, die findet man in den passenden Tutorials zur Questerstellung.
Im darauf folgenden Fenster kann man unter "Prompt" noch einen passenden Text für den Spieler einstellen.
Zwei ganz wichtige Bereiche sind aber "Conditions" und "Scripts: End".
Rechtsklick in das leere Feld unter "Conditions" und "New".
Damit die Quest nur von unserem Trainer verwendet wird, wählen wir hier- "Condition Function: GetIsID",
- "Parameters: mdeTrainerNPC",
- "Comparison: ==",
- "Value: 1.000" und
- "Run on: Subject".
Dann erfolgt die Abfrage, ob der NPC überhaupt in den passenden Trainer-Gilden ist, deshalb erstellen wir zwei weitere Conditions:- "Condition Function: GetInFaction",
- "Parameters: JobTrainerFaction",
- "Comparison: ==",
- "Value: 1.000",
- "Run on: Subject"
- "Condition Function: GetInFaction",
- "Parameters: JobTrainerLightArmorFaction",
- "Comparison: ==",
- "Value: 1.000",
- "Run on: Subject".
- "Condition Funtion: GetBaseActorValue",
- "Parameters: LightArmor",
- "Comparison: <",
- "Value: 90",
- "Run on: Target".
Wenn wir alles richtig eingestellt haben, sollte das Fenster jetzt folgendermaßen aussehen:
Wir schließen das Fenster mit OK und fügen im nächsten Fenster einen weiteren Topic mit Doppelklick hinzu.
Das passen wir - wie im vorherigen Schritt - an, bis wir folgendes Ergebnis erhalten:
Hier verwenden wir unter "Share Response Data From Info" die Bedingungen aus "TrainingTooHigh03".
Der Topic wird also aufgerufen, wenn uns der Trainer nichts mehr beibringen kann.
- Jetzt schließen wir alle Quest-Fenster.
- Unter "QuestData" geben wir unserer Quest eine ID und einen Namen.
- Dann platzieren wir unseren Trainer an der gewünschten Stelle.
==> Wenn wir keine Fehler gemacht haben, ist im Spiel jetzt ein neuer Meistertrainer für leichte Rüstungen vorhanden.
Hinweise:
- Es besteht an einigen Stellen natürlich noch Optimierungsbedarf (vor Allem im Bereich der Dialoge), aber um auf den richtigen Weg geführt zu werden, sollte das Tutorial trotzdem hilfreich sein.
- Man könnte natürlich auch das vorhandene Skript "DialogueTrainers" anpassen, aber ich denke die sauberere Variante ist halt die, ein neues Skript zu erstellen.
Inkonsequenter weise funktionieren 3 oder 4 Lehrgebiete auch direkt mit dem Originalskript, wenn die Trainer in den richtigen Gilden drin sind, der Rest ist personengebunden.