Lehrmeister erstellen (kleines Tutorial)

mde

Abenteurer
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 Tutorials, wie man einen Lehrmeister erststellt.




Wie erstelle ich einen Lehrmeister ?



  1. NPC erstellen (dafür gibts genug Tutorials) und Fenster wieder schliessen.
  2. NPC editieren
    1. 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".

    2. 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.

    3. 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 folgendermassen aussehen:

    4. 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 geben wir für "Gold001" als Wert "Gold001" an und für "TrainerType" "3". Der erste Wert stellt die Bezahlung für den Meister dar, der zweite Wert gibt an, ob es sich um einen Master (3), Expert oder Journeyman handelt.

    5. Dann schliessen wir das NPC-Fenster.
  3. Danach erstellen wir eine neue Quest, indem wir unter "Character\Quest" mit der rechten Maustaste klicken und "New" wählen.
    1. 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 schliessen das Fenster.

    2. 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 folgendermassen aussehen:



      Wir machen jetzt einen Doppelklick in 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 darauffolgenden 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" und "Condition Function: GetInFaction", "Parameters: JobTrainerLightArmorFaction", "Comparison: ==", "Value: 1.000", "Run on: Subject". Der Lehrmeister kann natürlich dem Spieler nur was beibringen, wenn er einen gewissen Rang noch nicht überschritten hat, deshalb erfolgt eine Abfrage, wie hoch der aktuelle gelernte Wert ist: "Condition Funtion: GetBaseActorValue", "Parameters: LightArmor", "Comparison: <", "Value: 90", "Run on: Target".
      Im Bereich "Scripts End" fügen wir "Game.ShowTrainingMenu(akSpeaker)" ein und drücken auf "Compile". Wenn wir alles richtig eingestellt haben, sollte das Fenster jetzt folgendermassen aussehen:



      Wir schliessen das Fenster mit OK und fügen im nächsten Fenster einen weiteren Topic mit Doppelklick hinzu. Dieses 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". Das Topic wird also aufgerufen, wenn uns der Trainer nichts mehr beibringen kann.
    3. Jetzt schliessen wir alle Quest-Fenster.
  4. 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 Optimierunsbedarf (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. Inkonsequenterweise funktionieren 3 oder 4 Lehrgebiete auch direkt mit dem Originalskript, wenn die Trainer in den richtigen Gilden drin sind, der Rest ist personengebunden.


All images uploaded with ImageShack.us
 
Zuletzt bearbeitet:
Gerne doch :) Habe hier im Forum ja auch schon oft genug Hilfe gefunden, da sollte man sich auch mal revanchieren :)