Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Meine eigene modifizierte Story
#15
Ich habe mich jetzt knapp zwei Stunden mit deinem Code auseindergesetzt. Ich möchte dich noch einmal darum bitten deinen SQL Code so zu posten, dass ich ihn direkt in meine Datenbanken einfügen kann um ihn zu testen. Wenn du im SQLite Manager einzelne Zeilen exportierst, dann werden immer doppelte Anführungszeichen (") um die einzelnen Einträge gesetzt. Wenn ich den Code jetzt so einfüge, werden alle Einträge als Text interpretiert, was direkt zu einem Spielabsturz führt. Das bedeutet für mich, ich muss erstmal alle überflüssigen doppelte Anführungszeichen löschen und einen Teil der anderen in einfache Anführungszeichen umwandeln. Diese zusätzliche Arbeit würde ich mir gerne sparen. Sauberen SQL Code bekommst du, wenn du die ganze Tabelle in eine SQL Datei exportierst und anschließend die benötigten Zeilen in eine neue Datei kopierst.



So wie ich das sehe, hast du noch ein Verständnisproblem mit Statements und Conditions. Statements sind Aktionen, die ausgeführt werden sollen, wie z. B. die JoinParty Anweisung für den Hund oder die SetCounter Anweisung für die Quest. Immer wenn etwas passieren soll, wird ein Statement dafür benötigt.

Conditions sind Bedingungen, die erfüllt sein müssen, damit etwas passiert. Die Quest wird erst geöffnet, wenn der Counter den Wert 1 hat. Damit das auch passsiert muss das dazugehörige Statement natürlich aufgerufen werden. In deinem Beispiel passiert das im Dialog mit dem NPC. Hier hattest du das Statement in die Felder für Conditions eingetragen, was dann zu einem Absturz führt. Hier der richtige Code für die Dialogzeile:





Bei den Condtions hast du das letzte Feld ConditionStatementGUID mit einem BLOB ausgefüllt. Wird in diesem Fall nicht benötigt, da kein Verweis auf ein bestimmtes Statement benötigt wird. Es bekommt deshalb den Wert X'00000000000000000000000000000000'.





Da du die Statements mit der SetCounter Anweisung erst als Conditions angelegt hast, hatten sie alle eine Spalte zuviel. Außerdem war da noch etwas mit den BlockGUId durcheinander geraten. Hier der korrigierte Code:






Ich habe noch ein paar Fragen zum Ablauf deiner Quest.

Der Held spricht den NPC an und bekommt den Auftrag den Hund zu retten. (Counter wird auf 1 gesetzt und die Quest aktiviert.)
Der Held läuft dann zu Wolfi. Sprcht er ihn erst an und die beiden kämpfen gemeinsam gegen die Wölfe?
Wann sol die Quest geschlossen werden? Im Dialog mit Wolfi, nach dem Kampf gegen die Wölfe, oder erst nachdem beide zurück beim NPC sind?
Warum stirbt der NPC plötzlich und vor allem woran?

EntryPoints sind der Standort, an denen ein NPC (oder irgendewas anderes erscheinen soll). Da bei dir weder Wolfi noch die Wölfe schon von Beginn an an einer bestimmten Stelle stehen sollen, musst du dafür jeweils einen eigenen EntryPoint anlegen. Die EntryPoints findest du alle in der gamea1.db4. Wenn die Quest aktiviert wird, musst du in einem Statement das Erscheinen auslösen. Das geschieht mit einer TransferEntity Anweisung. Du findest dafür jede Menge Beispiele in der Tabelle _Scripts_Statements.
Zitieren


Nachrichten in diesem Thema
RE: Meine eigene modifizierte Story - von Lord Demon - 28.07.2024, 09:44



Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste