Kann es vllt auch sein das du am Anfang eine Condition gesetzt hast die nicht erfüllt wird?
Ich hatte z.B. ausversehen mal eine 0 anstatt eine 1 bei GetIsPlayableRace gesetzt und so hat die Quest garnicht erst angefangen.
--
If you're not too great at construction - don't worry! You can place a variety of characters in silly positions. Ihr glaubts mir nicht? Klick
Also das Hauptproblem ist erstmal, dass das Topic nicht auftaucht. Muecke49s Antwort war schon genau richtig, ich werde versuchen das noch ein wenig auszuführen.
Erstmal ein kleiner Tipp: Zu Testzwecken würde ich dir empfehlen, dass du einfach alle Conditions, die du eingegeben hast, löschst. So kannst du ganz klar und deutlich sehen, ob das Script funktioniert hat, das du geschrieben hast.
Noch ein Tipp: Es gibt eine Mod namens "Lore Dialogue 300", kennst du die? Als ich angefangen habe, Dialoge zu schreiben, habe ich mir für die technischen Aspekte einfach ein paar Mal diese Mod angesehen. Denn die Mod deckt viele Bereiche des Dialogsystems ab. Download bei TESNexus
Wenn du diese Mod im CS öffnest, wirst du bei Quests irgendwo die eine Quest finden, in der die Topics der Mod sind.
Bei dieser Mod kannst du auch gut sehen, wie das Hinzufügen von Topics funktioniert. Sieh dir dazu das Script an, das der Quest gegeben wurde (im ersten Reiter ist irgendwo so ein Scroll-Down-Menü, bei dem ein Scriptname zu sehen ist - rechts davon ist ein Button, mit dem du das Script öffnen kannst).
Du wirst sehen, dass das Script im Grunde ganz simpel ist, da immer wieder das Gleiche geschieht.
Ich habe dieses Script mal grob für dich hingeschrieben. Es sieht so aus:
Erklärungen:
1) Am Anfang wird eine Short-Variable erstellt (die den Namen DoOnce trägt, aber das ist egal).
2) Danach wird dem Script gesagt, dass es nur im GameMode laufen soll.
3) Die "If ..."-Zeile sagt im Grunde: Wenn die gerade eben erstellte Variable gleich 0 ist (wenn also noch nichts mit ihr passiert ist), dann führe eine Reihe von Befehlen aus.
4) Der letzte dieser Befehle ist "Set DoOnce to 1". Was bedeutet das? Naja, die Variable DoOnce wird auf 1 gesetzt, das heißt das nächste Mal, wenn das Script bei (3) abfragt, ob die Variable gleich 0 ist, wird es feststellen, dass dem nicht so ist, und folglich alle Befehle innerhalb der Klammer "If..."/"EndIf" überspringen. Das Skript wird also effektiv nur ein einziges Mal ausgeführt.
(5) Am Ende der Liste von Befehlen steht die "EndIf"-Zeile; die sagt, dass die darunterstehenden Befehle nicht mehr diese Bedingung erfüllen müssen.
(6) Der einzige Befehl, der darunter steht, ist der "End"-Befehl. Der sagt nur: Hier ist der Teil des Skripts, der im GameMode laufen soll, zu Ende (in diesem Fall ist das aber das komplette Skript!)
Das kannst du im Grunde direkt kopieren und als neues Script speichern.
Was passieren wird: Egal welchen NPC du ansprichst, er wird das Thema "Hunter" haben. Warum? Na weil du hoffentlich zu Testzwecken vorher alle Bedingungen von deinem Thema entfernt hast. Wenn das Thema erscheint, dann ist alles in Butter. Du kannst dann wieder die Conditions hinzufügen, so dass nur noch der eine NPC aus deiner Mod dieses Thema anbietet.
Das Skript wird also effektiv nur ein einziges Mal ausgeführt.
...
Ähnlich wie in Morrowind wird bis zum return-Statement das gesamte Script durchgearbeitet. Nur sorgt der DoOnce-Schalter dafür, dass die Operation nicht mehrfach ausgeführt wird - das Script nudelt aber fröhlich weiter (und verbraucht Ressourcen).
Problem: Dann verschwinden aber auch die Dialoge aus dieser Quest wieder.
Also, steht zumindest so beim CS Wiki, ich habs selbst noch nie ausprobiert. Machst du das so bei Dialog-Quests?
Problem: Dann verschwinden aber auch die Dialoge aus dieser Quest wieder.
Also, steht zumindest so beim CS Wiki, ich habs selbst noch nie ausprobiert. Machst du das so bei Dialog-Quests?
...
Deshalb erstellt man ja auch zwei Quests: Eine mit Script, eine ohne - und in der ohne liegen dann die Dialoge.
Grundsätzlich sollten Quests, die Dialoge haben, niemals ein laufendes Script haben. Laufende Scripts gehören immer und ohne Ausnahme in "dummy"-Quests. Erspart eine Menge Arbeit .
sry das ich solang auf mich warten lasse. ich hab ein tut durchgearbeitet in dem steht das mein Script reichen sollte (abgesehen natürlich davon das kein Topic genannt ist).
so jetzt hab ich es endlich geschafft zumindest fast, denn noch immer liegt irgenwo ein Fehler vor . wenn ich ein eigenes GREETING erstell und einen eigenen Char und dem Char des Greeting zuteile benutzt der des net, statdessen sagt er "Ich habe keine eigene Begrüßung" oder so ähnlich wenn ich es aber irgendeinem anderen Char zuteile benutzt er des weiß jemand warum?
--
Name: Feurio
Wer die Wahrheit sucht, sucht solange, bis er erkennt das sie direkt vor einem ist.
Edit: Erste Antwort gelöscht, da erst den Beitrag falsch verstanden......*schäm*
Hrmm, hat dieser NPC eine eigene Rasse? Wenn er dieses Greeting nicht nutzt, doch andere schon, dann stimmt noch irgendwas mit den Conditions nicht. Das müssen nicht mal die Conditions des Greetings sein, es können auch die Conditions der Quest sein. Wenn Du dort eine Condition mit PlayableRace eingegeben hast, kann da der Hund schon begraben liegen, falls dieser NPC keine der Vanillarassen hat, sondern eine eigens erstellte.
Check also mal die Conditions im Greeting und vor allem auch in der Quest, welche den Dialog trägt.
Conditions stimmen ich hab zum Test mal einfach einen Waldelf erstellt -> die Condition Playable Race stimmt also sonst stimmen sie auch die einzige weitere Bedinung ist nämlich GetIsId und dann ID meines Test NPC und Value ist auf 1
--
Name: Feurio
Wer die Wahrheit sucht, sucht solange, bis er erkennt das sie direkt vor einem ist.
Wenn dein Char eine eigene Rasse ist, musst du ihm bei der Race-Erstellung, ich glaube auf der ersten Seite (wenn nicht, geh die anderen Reiter durch) bei Voice, die Stimme einer Oblivion-Rasse (also Redguard oder Nord z.B.) zuordnen. Oder du machst für deinen Char eine eigene Sprach-Aufnahme, ansonsten kommt immer der unten genannte Spruch.
--
[FONT=Fixedsys]"Death smiles at us all
all we can do
is smile back"[/FONT]