Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Meine eigene modifizierte Story
#1
Sehr geehrter Lord Demon,

ich habe nun mehrere Stunden an diesem Projekt gearbeitet und wäre Ihnen sehr dankbar, wenn Sie meine bisherige Arbeit überprüfen könnten. Bevor ich fortfahre, möchte ich sicherstellen, dass keine ungewollten Fehler aufgetreten sind. Es wäre großartig, wenn ich eine Rückmeldung von Ihnen erhalten könnte.



Localea - Datenbank

   


Statica1 - Datenbank


 Zeile -  StoryDialogs


   



Zeile - StoryDialogsTakes

   




Zeile - StoryDialogsChildMapping


   
Zitieren
#2
Grundsätzlich bin ich gerne bereit Code zu Testen. Dabei kann ich mit Screenshots leider nicht viel anfangen. Dazu bräuchte ich dann schon den dazugehörigen SQL Code. So mache ich das übrigens auch. Ich schreibe den Code, füge ihn dann in die Datenbanken ein und dann starte ich das Spiel um den Code zu testen. Wenn Fehler im Code sind, gibt es entsprechende Fehlermeldungen, die mich darauf hinweisen, wo ich etwas falsch gemacht habe.So solltest du auch vorgehen. Wenn du bei Fehlermeldungen nicht weiter weißt, kannst du gerne geziel danach fragen.

Auf den ersten Blick sind mir aber tatsächlich einige Fehler aufgefallen.

Tabelle _Story_DialogTakes

Statements und Conditions dürfen nicht leer bleiben. Wenn diese nicht benötigt werden muss hier X'00000000000000000000000000000000' stehen.
Der Verweis auf die locale erfolgt über die Spalte TakeLocaId, nicht über TakeShortTextLocaId.

Eine kleine Bitte noch: bitte lass das Sie weg. In Foren ist es üblich, dass man sich duzt. Habe ich noch nie anders erlebt.
Zitieren
#3
Hallo, ich habe mich jetzt weitere 3 Stunden mit meinem Projekt beschäftigt. Ich habe einen neuen NPC im Startgebiet angelegt, damit ich nicht ständig bis nach Nadoret reisen muss, nur um etwas testen zu können. Die erste Dialogzeile scheint ohne Fehlermeldung zu funktionieren, leider schließt sich nach der ersten Dialogzeile das Fenster direkt wieder, anstatt dass die zweite Dialogzeile angezeigt wird. Wo könnte da der Fehler liegen?

Hier sind die SQL Codes:

localea1 Datenbank

INSERT INTO "_Locale" VALUES ("89796589-1fb3-fe0f-b9fc-18287319f1c1","Neue Waren");

INSERT INTO "_Locale" VALUES ("2e943fd1-e2b3-5f82-9c34-e7735c4795e0","Zeigt her.");


gamea1 Datenbank

INSERT INTO "_Instance_NPC" VALUES ("X'0EF0143C0C58DC14E065AA9AE4C38E83'","|Level|Objects|NPC|Bakur","locr00_boot","","X'3E795B3F0000000003C9033F00000000000000000000803F000000000000000003C903BF000000003E795B3F000000007AD7CD41F8056D3F52A417C00000803F'","Bakur","Bakur","characters/male","dummies/char","Bakur","stateobjects/petrified_mensch","1","npc_uni_waffen","male","male_actor_10","male","FaAllFriendly","simple_fighter","","","","","1.0800000429153442","3.4000000953674316","4","0","1","15","","","NPC","","","1","1","10","1","1","10","1","1","10","8","19","19","8","8","8","8","8","0","0","0","0","0","0","0","0","0","0","0","0","-500","-500","10","10","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","30","2","0","0","0","0","0","0","30","0","0","5","0","0","5","1","3","0","0","0","0","0","0","0","0","0","All","Medium","","InSight","","on:PickPocketingFailed:on_pp_haendler.xml","map/map_marker_blue","0","characters\\physiks_dummy","2","6","0","1","0","0","0","0.8500000238418579","leather","30","100","15","Everything","1","0","1","","","2","1","-1","lookat_locr01_haendler_bakur","Mittellaender","0","","","","0.699999988079071","","","0","","","","12","1","3","20","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","-500","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","-500","1","","","1","0.5","","haendler_bakur","pp_haendler_01;pp_haendler_02","Auto","","-500","-500","-500","-1","0","9",null);




statica1 Datenbank


Story_Dialogs

INSERT INTO "_Story_Dialogs" VALUES ("X'F033896F53B37742FFF24573FA5977EE'","bakur_id","Bakur",null,"0",null);



Story_DialogTakes

INSERT INTO "_Story_DialogTakes" VALUES ("X'DB3C3F412C06FFB20442889EDF42C772'","X'F033896F53B37742FFF24573FA5977EE'","bakur_id","StartState","","","StartState","","","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","00000000-0000-0000-0000-000000000000","0","00000000-0000-0000-0000-000000000000");


INSERT INTO "_Story_DialogTakes" VALUES ("X'C3FCB4855B057AA655DBECB79A4944E0'","X'F033896F53B37742FFF24573FA5977EE'","bakur_id","bakur_gsp_1","Bakur","Hero","Take","","","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","89796589-1fb3-fe0f-b9fc-18287319f1c1","0","f0109b0a-cdd6-687d-651d-50867199f0fd");


INSERT INTO "_Story_DialogTakes" VALUES ("X'5A12E0B6199F284741C49AD12916C1BD'","X'5374756D6D65725F416C72696B444941'","bakur_id","bakur_gsp_2","Player","Bakur","Response","","","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","X'00000000000000000000000000000000'","2e943fd1-e2b3-5f82-9c34-e7735c4795e0","0","0ab96c09-56ea-1f27-5f31-de53046f1da7");


Story_DialogTakeChildMapping

INSERT INTO "_Story_DialogTakeChildMapping" VALUES ("X'A4F10FB0CD9A9DF4EE6ABBBC1B90BAAE'","X'DB3C3F412C06FFB20442889EDF42C772'","bakur_gsp_1","0","X'F033896F53B37742FFF24573FA5977EE'");

INSERT INTO "_Story_DialogTakeChildMapping" VALUES ("X'8690B574BAF3CA7C7601EB27D0D63751'","X'5A12E0B6199F284741C49AD12916C1BD'","bakur_gsp_2","0","X'F033896F53B37742FFF24573FA5977EE'");
Zitieren
#4
Kann ich mir gerne morgen mal anschauen. Sieht aber auf den ersten Blick richtig aus. Hast du es nicht selbst getestet?

Noch zwei Hinweise:

  1. Wenn du den SQL Code exportierst, setzt der SQLite Manager immer doppelte Anfürhrungszeichen und die BLOBs. Wenn man den Code so einfügt, werden die BLOBs als Strings interpretiert, was dann zu einem Absturz führt.
  2. Bitte pack den SQL Code in Code Tags und diese dann in einen SpoilerTag. Die Forensoftware ersetzt bestimmte Zeichenfolgen automatisch durch entsprechende Smilies (siehe den Code deines NPCs), was den Vode fehlerhaft macht.. Die Spoiler Tags verhindern, dass die Zeilen zu breit für das Fenster werden, so dass man beim Lesen nicht ständig nach rechts blättern muss.

Zum Schluss noch ein Tipp. Für die Einträge in der locale.db4 soilltest du keine Identifikatoren verwenden, sondern lieber aussagekräftige Namen. Das macht (jedenfalls für mich) das Arbeiten mit den Dialogtesten wesentlich einfacher.
Zitieren
#5
Habe ich bereits selbst getestet. Wenn ich den NPC anklicke, dann sagt der NPC zu mir: Neue Waren

Aber beim nächsten klicken schließt sich das Fenster wieder. Eigentlich sollte dann dort ja der Dialog: Zeigt her. Erscheinen
Zitieren
#6
Da sind noh zwei kleine Fehler im Code. Hier der korrigierte Code:

In dieser Zeile hast du eine falsche DialogGUID eingetragen.

Hier hast du bei TakeGUID einen falschen Wert eingetragen. Diese Spalte bekommt immer die GUID der Zeile, auf die sie folgt.
Zitieren
#7
Danke für Deine ausführliche Hilfe.

Die Aktionen von den NPC bei den Gesprächen stehen unter _Scripts_Conditions drin soweit ich mich erinnern kann. Ich kann dort leider keiner Zeile einer Aktion finden wodurch sich das Handelsfenster öffnet lässt.

Bin ich vielleicht nicht im richtigen Bereich dafür? Der NPC soll nachdem Satz von mir: Zeigt her. beim nächsten Klick das Fenster mit Handelswaren öffnen. Dafür müsste doch einen Eintrag unter _Scripts_Conditions angelegt werden der mit dem eben erwähnten Dialog verbunden ist. Ist dies so richtig?
Zitieren
#8
Da bist du allerdings in der falschen Tabelle. _Scripts_Conditions enthält Bedingungen. Die brauchst du, wenn eine Dialogzeile von irgendetwas abhängig sind.

Aktionen sind in der Tabelle _Scripts_Statements abgelegt. Um das Angebot eines Händlers anzuzeigen brauchst du eine ShowTradeUI Anweisung.
Zitieren
#9
Brauche ich in der Richtung nicht auch eine Bedingung für den Dialog damit die Aktion ausgeführt wird zum öffnen des Handelsfensters?

Bearbeitung: Der NPC steht nun und mit Ihn lässt sich auch handeln. Jetzt setze ich mich an die Story Aufgaben. Ich melde mich wieder sobald ein neues Problem aufsteht bezüglich der Story.
Zitieren
#10
(26.07.2024, 05:49)Lord Demon schrieb:
Hier hast du bei TakeGUID einen falschen Wert eingetragen. Diese Spalte bekommt immer die GUID der Zeile, auf die sie folgt.

Oh. Meine Logik hatte an dieser Stelle daneben gelegen. Hatte gedacht das der eigentliche Dialog erst bei der ersten Take Zeile startet. Aber sie startet ja schon bei StartState. Das ist echt auch alles unübersichtlich. Eigentlich könnte man doch ein Tool schreiben das extra für die  einzelnen Zeilen gedacht sind mit dem Fokus auf die Hexa Strings auch gennant BLOB da diese oftmals verschiedene Zeilen in Tabellen aneinander bindet. Hast Du darüber noch nie nachgedacht oder fehlt dir das nötige Wissen zur Programmierung von solchen Sachen? Aber der BLOB Generator ist doch auch von Dir also glaube ich nicht das Dir das Wissen fehlt.
Zitieren
#11
Unübersichtlich ist das Ganze nur am Anfang. Wenn man sich lange genug damit beschäftigt, hat man ziemlich schnell raus, wie die Tabellen zusammenhängen. Die Art und Weise, wie ich meine BLOBs erstelle und verwende, erlaubt es mir, sehr gut den Überblick darüber zu behalten. Ein Tool dafür zu programmieren habe ich nie ernsthaft in Erwägung gezogen. Die Zeit, die ich dafür hätte aufwenden müssen, hätte ich dann ja auch nicht in die Entwicklung von Mods stecken können.
Zitieren
#12
Es tut mir Leid aber ich werde es ohne Deine Hilfe niemals hinbekommen da meine erste Story Aufgabe zu erschaffen. Du hast zwar eine tolle Anleitung gegeben über das Drakensang Modding was auch Aufgaben also Quests angeht. Aber leider sind diese Zeilen in Drakensang Am Fluss der Zeit fast vollständig unterschiedlich aufgebaut. Ich bräuchte da echt Deine Hilfe bei sonst werde ich da niemals bei weiterkommen.


Am besten wäre es mal das ich hier alles von der Story schreiben würde. Angefangen bei den Inhalt bis hin zu den Einträgen der Datenbänken die ich bis hier hin getan habe.


Der Inhalt: Ein NPC namens Chris steht im Startgebiet beim Lagerfeuer. Er bittet um Hilfe weil sein Hund genannt Wolfi von Tieren angegriffen wird. Der Held nimmt die Quest an und die genannten Tiere erscheinen weiter hinten im Wald im Startgebiet. Der Held geht zu dem Waldgebiet und besiegt die paar Tiere und spricht Wolfi an. Wolfi schließt sich der Gruppe an. Die Quest wird aktualisiert und der Held bekommt 15 Abenteuerpunkte. Der Held bringt Wolfi zu den NPC Chris zurück. Als der Held Chris ansprechen will und sagen möchte das er seinen Hund gerettet. In dem genannten Moment sagt Chris noch kurz 2-3 Worte und stirbt anschließend. Die Quest wird abgeschlossen und der Held bekommt 30 Abenteuerpunkte. Er hat als Leiche Beute auch genannt Loot dabei ein paar Heller und ein Zettel mit Text drauf....

Anmerkung: Der NPC Chris stirbt und nicht der Wolf


Jo. Vor habe ich erstmal das ganze bis zum Zettel.


Einiges habe ich bereits schon hinbekommen unter anderem: NPC Chris erstellt und beim Lagerfeuer platziert. Er hat auch den Text wo er den Helden um Hilfe bittet. Wolfi steht auch weiter hintem im Wald als Monster mit den Status FaFreund und hat auch einen Dialog zum ansprechen und einen Script damit er in die Gruppe aufgenommen wird.


Was noch nötig ist das Wolfi und die anderen Tiere erst erscheinen sobald man mit den NPC Chris geredet hat. Dann noch der komplette Quest Aufbau. Als letztes noch der erweiterte Dialog wo Chris die letzte Worte sagt und anschließend stirbt. Den erweiterten Dialog könnte ich glaube ich auch alleine hinbekommen. Aber bei der Tabelle _Storys_Tasks da sieht es für mich nicht aus gut mit Fortschritten ohne deiner Hilfe von Erklärungen.



Die 3 Tiere die Wolfi angreifen wollen habe ich auch noch nicht eingeführt kann ich später aber noch machen.


Die Quest an sich habe ich so ausgefüllt wie ich konnte in der Datenbank. Ich schreibe hier unten jetzt mal direkt alle SQL Codes.


Localea1 Datenbank



Wolfi




statica1 Datenbank


_Story_Dialogs


_Story_DialogTakes



Story_DialogTakeChildMapping


_Scripts_Statements



_Story_Tasks

Zitieren
#13
Okay, da ist ja noch einiges zu tun. Lass uns mit der Quest angangen. Dafür brauchst du zunächst zwei Conditions, eine um die Quest zu öffnen und eine um die Quest wieder zu schließen. Bei deiner Geschichte bietet es sich an bei den Conditions mit Countern zu arbeiten. Counter sind nichts anderes als Variablen, denen ein Zahlenwert zugewiesen wird, der dann abgefragt werden kann. Das Zuweisen des Werts erfolgt dann in einem Statement. Die GUIDs der Conditions trägst du dann in den entsprechenden Feldern in deiner Quest ein. Ich denke, die Feldnamen der Tabelle _Story_Tasks erklären von selbst wo was hinkommt. Zum Aufbau der Conditions schaust du dir am besten ein paar Beispiele in der Tabelle _Scripts_Condtions an. Bei Unklarheiten, frag einfach.

Um die Quest zu starten, muss der Counter counter_wolfi den Wert 1 haben. Die dazugehörige Condition wäre dann:
Um die Quest zu schließen, muss der Counter den Wert 2 habe.
Jetzt muss der Counter natürlich nich die entsprechenden Werte bekommen. Dazu brauchst du dann wieder zwei Statements mit einer SetCounter Anweisung.

Das  erste Statement kommt in den Dialog mit dem NPC. Der Counter wird auf 1 gesetzt und die Quest dadurch automatisch geöffnet. Das zweite Statement mit

kommt dann in den Abschlussdialog mit dem NPC, bevor er stirbt. Hinter die SetCounter Anweisung kannst du auch noch eine GiveQuestXP Anweisung setzen, um die AP für die Quest zu vergeben.

Für Wolfi und die drei Wölfe brachst du dann noch EntryPoints, also insgesamt vier. Mit EntryPoints legt man fest, wo ein NPC (oder irgendetwas anderes) erscheinen soll. Diese findest du in der gamea1. Da Wolfi und die Wölfe erst erscheinen sollen, wenn der Held  die Quest angenommen hat kommen sie zu Beginn in den Level _graveyard_. Das Erscheinen der Wölfe und Wolfis geschieht dann über TranferEntitiy Anweisungen. Dies packst du am besten in das gleiche Statement im Startdialog mit dem NPC , hinter die SetCounter Anweisung.

Was natürlich auch noch fehlt sind die Questtexte. Für jede Quest brauchst du drei Einträge, eine für den Titel, einen für den Text, der angezeigt werden soll, wenn die Quest geöffnet ist und einen Text, der angezeigt wird, wenn die Quest geschlossen ist.

Ich denke, das reicht für heute erstmal. Versuch die Sachen umzusetzen und dann sehen wir weiter.
Zitieren
#14
Soweit ich Dir nun folgen kann habe ich dies nun so ausgefüllt.

_Scripts_Conditions










Die Anweisung mit Counter Wert 1 öffnet die Quest und die Anweisung mit den Counter Wert 2 schließt die Quest in der Richtung von Counter 1 öffnet die Quest und stellt den ersten Abschnitt dar bis zur Rettung von Wolfi und der zweite Counter startet sobald man mit Wolfi gesprochen hat und endet beim NPC Chris? So habe ich dies verstanden wenn es falsch ist bitte korrigieren


Bearbeitung: Hatte vergessen die SetCounter Einträge zu schreiben. Hier sind die ob dies alles richtig ist wage ich zu bezweifeln.





Dann noch die überarbeitete Dialogzeile mit dem NPC



Bearbeitung2: Das ist alles so unübersichtlich. Ich habe die SetCounter Einträge jetzt aus der Tabelle _Scripts_Conditions entfernt und in die Tabelle _Scripts_Statements eingefügt. Es erschien nun keine Fehlermeldung mehr und die Quest ließe sich öffnen beim Anspruch vom NPC Chris. Habe auch oben die Einträge bearbeitet. Jetzt sind alle SQL Anweisungen die ich hier nannte im Beitrag aktuell.

Habe jetzt übrigens auch hinter der SetCounter 1 Anweisung die GiveXP Anweisung gesetzt für 5 Punkte als Test, funktioniert auch alles die steht aber ebenfalls oben im überarbeiteten SQL Code mit drin. Für den TransferEntity Eintrag brauche ich einen EntryPoint für die Position im Gebiet. Muss ich dafür einen extra Eintrag machen und wie soll dies genau aussehen?


Hier sind noch die Texteinträge für die Quest. Die Texteinträge in der Localea1 Datenbank sind von meiner Betrachtungsweise aus am einfachsten.



Hier der überarbeitete _Story_Tasks Eintrag.

Zitieren
#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
#16
Danke für Deine weitere Hilfe. Zu Deinen gestellten Fragen:

Frage 1 So wie Du es sagtest ist es richtig Der Held spricht den NPC an und bekommt den Auftrag den Hund zu retten. (Counter wird auf 1 gesetzt und die Quest aktiviert.)

Frage 2 Der Held läuft dann zu Wolfi. Der Held kämpft alleine gegen die anderen Wildtiere. Erst nach diesem Kampf spricht er Wolfi an und nimmt ihn mit. Dann gehen sie gemeinsam zurück zu Chris.

Frage 3 Die Quest soll abgeschlossen werden wenn der Held zusammen mit Wolfi zurück bei Chris ist und der Held ihn anspricht.

Frage 4 Wenn ich später da bei allem durchblicke möchte ich natürlich selber Storys erstellen. Ich füge ihn dann eine Schriftrolle als Loot hinzu die dann eine darauffolgende Story startet
Zitieren
#17
Meld dich einfach, wenn du an irgendeiner Stelle nicht weiterkommst oder noch Fragen hast.
Zitieren
#18
Ich habe tatsächlich gerade noch eine wichtige Frage über Begleiter und das Aufnehmen in die Gruppe. Ich habe Wolfi in der Datenbank Immunität gegen alles und jenes gegeben zusätzlich die Unsterblichkeit also min. Lebenspunkte 1. Es gibt ja aber in der Quest wo man seine Ausbildung beendet NPC die sich während der Quest über sich der Gruppe anschließen aber beim Tod nicht sterben sondern im Sterben liegen sobald sie im Kampf 0 Lebenspunkte erreichen.

Darunter zählen: Bardo bei der Dieben Aufgabe und der Dachs bei der Elfen Aufgabe.

Was mich jetzt fasziniert das in der Datenbank keine JoinParty Anweisung vorhanden ist für diese NPC.


Wieso können die genannten NPC im sterben liegen wie der Held und seine Anhänger(Ardo, Cuano, Frogramm) aber andere NPC sind tot sobald sie sterben?


Es besteht noch ein Problem mit meinem Dialogen.

Mir kam gerade ins Blickfeld das ich unter _Story_Dialogs 2 verschiedene Einträge habe. Diese sind dann noch quer verteilt in der _Story_DialogTakes. Manche sind verbunden mit wolfi_rettung andere mit chris_rettung

Die hier:

_Story_Dialogs


_Story_DialogTakes


Die Quest öffnet sich zwar beim ansprechen vom NPC Chris jedoch kann sie nicht fortgeführt werden bei Wolfi. Wärst Du so freundlich und schaust Dir das nochmal an? Das mit dem NPC Transfer Point fand ich jetzt immer noch nicht heraus damit die Tiere sich nach starten der Quest dort erscheinen
Zitieren
#19
Wenn du bei Immunities Everything eingibst, ist der NPC immun gegenüber allen Arten von Schaden LEmin auf 1 zu setzen ist dann unnötig.

Sowohl für den Dachs als auch Bardo sind natürlich JoinParty Anweisungen vorhanden. Hast du wahrscheinlich übersehen oder vielleicht in der falschen Tabelle gesucht. Eine andere Möglichkeit jemanden in die Gruppe aufzunehmen gibt es nicht.

Party Mitglieder können grundsätzlich nicht sterben. Die stehen nach einem Kampf immer wieder auf. 

Was den Dialog angeht, so hast du ntürlich zwei, einen mit Chris und einen mit Wolfi. Die haben direkt nichts miteinander zu tun. Wo sie in der Tabelle stehen ist völlig egal. Das Spiel weiß aufgrund der DiailogGUID welche Zeilen zusammengehören.

Bevor du das Statement mit der TransferEntity Anweisung anlegen kannst, musst du Einträge in der gamea1 für die Wölfe und die EntryPoints anlegen. Die TransferEntity Anweisung enthält wer wo erscheinen soll. Solange ich diese Sachen nicht kenne, kann ich dir auch kei Codebeispiel dafür geben.
Zitieren
#20
Danke für die genannten Informationen über die Party Mitglieder.

Erstmal das Problem mit der Story. Welche Dialogid soll ich denn unter _Story_DialogTakes verwenden? Unter _Story_Dialogs sind 2 Einträge mit 2 verschiedenen Dialogid. Die beiden Einträge haben auch eine unterschiedliche DialogGUID. Ich verstehe langsam nichts mehr
Zitieren




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