Construction Set Der Dialog-Thread

Bin mit unsicher ob dies der rechte Ort für meine Frage ist, aber da es letztlich um Dialoge geht...

Problem ist folgendes: Ich habe eine Quest gemacht. Klappt ganz wundervoll, nur das ich Probleme habe die Qeustrelevanten Dialoge hinzuzufügen, oder besser zu "aktivieren" sobald die Quest an der entprechenden Stelle ist.

Das sollte ja eigentlich über eine "getstage" condition gehen. Zumindest ist es bei den Orginals-Quets, die ich mir angesehen habe so.

Meine Quest ist beispielsweise nach dem Eingangsdialog auf stage 10. Der Tagebucheintrag dazu kommt auch, also gehe ich davon aus das sie auch tatsächlich bei 10 ist.

Der Folgende Npc, mit dem man reden soll, hat eine Topic-Option mit der Condition "getstage Quest:Meinequest == 10.00"
Ingame sehe ich die Dialog option nicht. Ich konnte das vorerst umgehen indem ich ein Script gemacht habe, das eine Variable immer um eins erhöht (über den getstage befehl), und dann als condition die Variable abgefragt habe. Das klappt, ist aber irgendwie... naja... umständlich?

Also meine Frage: Wie muss eine Condition bei Dialogen aussehen, welche mit getstage arbeitet? Wieso klappt das bei den Orgianlquests über getstage, aber bei mir nicht?
 
Du musst Deine Dialoge mit „AddTopic“ erst einmal hinzufügen damit sie erscheinen. Schreib also einfach ins ScriptResult-Fenster von, z. B. Stage 10, „AddTopic DeineTopicID“. Natürlich ohne Anführungszeichen. Danach noch auf Compile Result klicken. Deine Dialogoption sollte dann erscheinen sobald die Queststage auf 10 wechselt.
 
  • Like
Reaktionen: Darknightwalker
Ich habe das gerade gelesen. Die Mod, die ich gerade bearbeite, ist sehr dialoglastig... d.h., es müssen viele Gespräche geführt werden... jede Quest hat dabei gut und gerne 10 bis 20 Topics... Das ist ja wahnsinnig umständlich, jedes Mal AddTopic TopicID in die Result-Fenster bei den Stages zu schreiben... *stöhn*

Ich kann mir doch unmöglich merken, welche Topic zu welcher Stage gehört und wie die alle heißen...!

Zumal zur selben Topic zu verschiedenen Phasen der Quest auch noch unterschiedliches gesagt wird...

Warum funktioniert das nicht einfach mit GetStage und fertig ist? Das ist ja... *schauder*

Das muss doch auch irgendwie anders gehen... oder?

Als Beispiel: In einer Quest soll man verschiedene NPCs über einen Mord befragen.

Stage 20 - der Hauptmann erzählt über den Mord, Queststage Erhöhung auf
Stage 30 - eine Zeuging erzählt etwas über den Mord (selber Topic, nur sagt sie etwas anderes als der Hauptmann und auch nur, wenn man zuvor mit dem Hauptmann gesprochen hat, wenn also die Stage auf 30 gesetzt wurde), Stage wird auf 40 erhöht...
Stage 40 - Gespräch mit dem Tatverdächtigen, der aber nur mit einem über den Mord spricht, wenn die Stage auf 40 ist (also getstage 40)

Muss ich jetzt bei Stage 20, 30 UND 40 als Result Script jeweils AddTopic MordTopic einfügen oder was...?
 
Zuletzt bearbeitet:
Kann mir mit dem genannten Problem/bei dieser Angelegenheit vielleicht jemand helfen... 50 mal AddTopic TopicID ins Result Script zu schreiben ist wirklich heftig... :(

Und das auch noch bei gut 7 Quests... argh! Bei so gut wie jeder Stage...
 
Zuletzt bearbeitet:
Ein altes Problem, dass ich eigentlich dachte, gelöst zu haben, aber... Pustekuchen...

Um die AddTopic Sache zu testen habe ich ein Test-PI erstellt. Der Test-NPC labert aber nur die Standartfloskeln.

Ich habe einen Überbrückungsdialog geschrieben, damit die Test-Quest startet - nix.

Ich habe es ohne Überbrückensdialog versucht - nix.

Ich habe in die Result Scripts bei den Stages AddTopic <TopicID> reingeschrieben - nix.

Es hat schon einmal funktioniert, warum funktioniert es jetzt nicht mehr? Was mache ich falsch, was ich bei den vorherigen Tests richtig gemacht habe?

Ich bin wirklich langsam fertig mit meinem Latein...
 
Müssen Topics, die ich im Topic-Window in die Spalte "Choices" geaddet habe, auch mit AddTopic im Result Script Window bei den Stages hinzu gefügt werden?
 
Hier einige Dinge, die man bei Quests und Topics beachten sollte:

-"GetIsPlayableRace NONE == 1" sollte immer in den QuestConditions als Abfrage sein.
-Die Priority einer Quest sollte höher als 0 sein (zB. 50 oder 60)
-Die Topics, die der Spieler anklicken können soll, müssen per AddTopic hinzugefügt werden. Ob der Spieler dann tatsächlich das Topic sieht hängt trotzodem noch von den Conditions/Bedingungen ab.

Choices müssen übrigens nicht mit AddTopic hinzugefügt werden. Und wichtig ist, dass die Bedingungen alle stimmen. Ich hoffe das hilft dir weiter.

Grüße
Gildur
 
Zuletzt bearbeitet:
Schön das ich nciht der einzige bin der hier am verzweifeln ist ;) Habs mit Addtopic probiert und es hat geklappt. Vielen Dank!!! Falls die information noch für jemanden relevant ist, ich hab das Addtopic an das Greeting (bzw jede Greeting-Variante, die in meinem Fall vom Geschelcht etc abhängig waren) gesetzt, nicht an das Quest result Script.

Übrigens, @Dunkle Schwester: Es gibt auch einen Edit Button hier, dann musst du keine vier Posts hintereinander machen 8)
 
Zuletzt bearbeitet:
Schön das ich nciht der einzige bin der hier am verzweifeln ist ;) Habs mit Addtopic probiert und es hat geklappt. Vielen Dank!!! Falls die information noch für jemanden relevant ist, ich hab das Addtopic an das Greeting (bzw jede Greeting-Variante, die in meinem Fall vom Geschelcht etc abhängig waren) gesetzt, nicht an das Quest result Script.

Übrigens, @Dunkle Schwester: Es gibt auch einen Edit Button hier, dann musst du keine vier Posts hintereinander machen 8)

Das solltest Du wieder ändern. Auf Grund des AddTopic-Bugs darf bei Mods beim Greeting-Topic, und nur dort, das Add Topic-Eingabefeld nicht benutzt werden. Verursacht Inkompabilitäten zu allen anderen Mods die bei einem Greeting ein Topic hinzugefügt haben. Hier mal ein Link dazu (englisch).
 
Wie darf man das verstehen? Soll man das GREETING-Topic nicht umbenennen (im AddTopic Selektfeld, also diesem Dialogkasten, der sich öffnet, wenn man Add Topic klickt) oder darf man den Anzeigetext bei GREETING nicht ändern (also das, was angezeigt wird, wenn man ein Topic bei den Topics erscheint, z.B. Gerüchte) ?

Ich hab jedes Mal GREETING gewählt bei neuen Dialogen und dann eben da verschiedene Begrüßungen (z.T. auch geschlechtsabhängig) reingeschrieben, aber kein neues GREETING-Topic erstellt.
 
Natürlich kannst Du das Greeting-Topic benutzen. Nur eben nicht das AddTopic-Eingabefeld rechts über dem Eingabefeld für die Choices. Wenn Du bei einem Greeting ein neues Topic hinzufügen möchtest, z. B. um den Dialog fortzusetzen oder eben ganz einfach in die richtige Richtung zu lenken, mußt Du das ScriptResult benutzen.

Also ganz einfach bei einem Greeting, anstatt das AddTopic-Eingabefeld zu benutzen ins ScriptResult-Eingabefeld „AddTopic TopicID“ reinschreiben.

Ist zwar kompliziert, geht aber nicht anders. :)
 
  • Like
Reaktionen: Darknightwalker
Hä???

Ich darf nicht das Topic-Feld benutzen bei "GREETING"... ich hab das aber immer so gemacht und bei mir gabs damit nie Probleme...

Bethesda hat doch selbst genau so gemacht...
 
Zuletzt bearbeitet:
Probleme gibt's nur wenn auch eine andere Mod das AddTopic-Feld benutzt. In dem Fall werden nur von der zuletzt geladenen Mod die Topics, die im Greeting hinzugefügt wurden, angezeigt. Das Du bisher keine Probleme hast liegt vermutlich daran daß Deine eigenen Mods wahrscheinlich sowieso immer ziemlich zum Schluß geladen werden und daß mittlerweile kaum noch jemand das AddTopic-Feld beim Greeting benutzt. Also gibt es auch keine Probleme.

Grundvorraussetzung für Probleme ist eben daß es noch eine weitere Mod geben muss die das AddTopic-Feld benutzt.

Übrigens trat der Bug auch bei Bethesda auf. Wie zumindest dem Artikel, den ich weiter vorne verlinkt habe, zu entnehmen ist war dies der Grund warum KotN, bis zum inoffiziellem Patch, immer zum Schluß geladen werden musste.
 
Zuletzt bearbeitet:
Ja... daran kanns liegen. Danke :) Ja na, werde ich die Topics eben mit AddTopic ins Result Script einfügen. Das erspart mir zumindest die Sucherei im Select Topic Window ;)
 
Für alle die es interessiert hier mal ein Ausschnitt, zum AddTopic-Bug, aus der CS-Wiki:
CS-Wiki: Fixing the AddTopic Bug schrieb:
To make a long story short, if a mod changes GREETINGS, and also uses the AddTopics box to add topics when the new GREETING is played, this functionality will work fine unless another mod which also changes GREETINGS is loaded after that mod (whether or not the second mod also AddsTopics). The deal is that the engine is supposed to increment the AddedTopics IDs when another mod then later changes GREETINGS and doesn't (or doesn't do so correctly, or something along those lines)-- in any case the result is that the topics are still there, but the "connection" between the name of the topic and the ID the game thinks that topic has is lost, so the game can't find the topic to load, so it doesn't (of course). But this will only happen if another mod which changes GREETINGS loads after the mod using the AddTopics box; what's worse is that both GREETINGS themselves play normally, so the mod seems to be working fine.... except that you can't get the quest or whatever, because the topic itself does not appear.

Und für die, die kein englisch können:
Wenn eine Mod die Greetings ändert und die AddTopic-Box benutzt um neue Topics hinzuzufügen funktioniert das ganze ausgezeichnet so lange keine andere Mod, die ebenfalls die Greetings ändert, nach der eigenen Mod geladen wird (unabhängig davon ob die andere Mod ebenfalls die AddTopic-Box benutzt oder nicht). Das Problem ist daß die Engine eigentlich die Id's der hinzugefügten Topics heraufsetzen sollte wenn eine andere Mod später die Greetings ändert und dies nicht, oder nicht korrekt, tut. Das Resultat ist daß die Topics, die im AddTopic-Feld hizugefügt wurden, zwar vorhanden sind aber die Verbindung zwischen dem Namen des Topics und der ID, die das Topic eigentlich haben sollte, nicht mehr stimmt und somit die Engine das Topic nicht mehr finden kann und infolgedessen auch nicht mehr anzeigt. Dieses passiert aber nur wenn eine andere Mod, die, die Greetings verändert, nach einer Mod geladen wird die das AddTopic-Feld benutzt. Das schlimmste daran ist daß die Greetings selbst perfekt funktionieren nur daß man eben keine, eventuell vorhandene, Quest bekommt weil die hinzugefügten Topics nicht angezeigt werden.

Ich füge mittlerweile alle Topics über ein Script oder das Script Result-Feld ein. Geht selbst bei mir deutlich schneller als im AddTopic-Feld nach dem richtigen Topic zu suchen.