08.11.2016, 11:34 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2016, 11:37 von Huhn123.)
Was muss bei TakeId hin?
Ich schreibe mal was ich wo rein geschrieben habe(Wenn was falsch ist bitte sagen):
Bei DialogId: habe ich japh_einladung_id rein geschrieben
Bei TakeSpeaker: habe ich japh_einladung_id rein geschrieben
TakeId ist ein frei wählbarer Text, der allerdings eindeutig sein muss.
Der Rest ist leider kompletter Unsinn. DialogId ist die DialogId aus _StoryDialogs. Speaker ist der Speake aus _StoryDialogs. Die Sachen gehören zusammen, also musst du auch die gleichen Bezeichnungen verwenden. Ich habe dir vorhin schon gesagt, du sollst dir einfach mal ein paar andere Einträge anschauen. Warum machst du das eigentlich nicht?
08.11.2016, 11:52 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2016, 11:53 von Huhn123.)
Also muss bei TakeSpeaker loc08_drachenhort_Japhgur hin und bei DialogId japh_einladung_id. Weil bei mir in _StoryDialogs steht bei DialogId japh_einladung_id.
Und bei TakeId kann ich zb Japhgur_id hin schreiben oder so, richtig?
Die EInträge von Rabenaas sind aber anders weil er es ja anders gemacht hat.
08.11.2016, 11:58 (Dieser Beitrag wurde zuletzt bearbeitet: 08.11.2016, 12:09 von Huhn123.)
Weil ich doch den Drachen nicht erstellt sondern dupliziert habe. Das hatte ich gestern geschrieben. Das war ja auf das Skelett beschrieben, das war Rabenaas geschrieben hatte, wenn ich mich nicht irre. Aber da kann man ja umdenken, habe es dann gemacht und zwar hatte ich bei DialogId das gleiche geschrieben wie bei TakeSpeaker weil Rabenaas das auch so geschrieben hatte, und da dachte ich mir, wenn an 2 Stellen bei ihm das gleiche steht, kann ich an den Stellen auch das gleiche schreiben. Aber hast mir ja jetzt geschrieben das da was anderes hin muss also habe ich jetzt bei DialogId japh_einladung_id stehen und bei TakeSpeaker loc08_drachenhort_Japhgur
Du hast doch noch gar nicht alle Datensätze für den Dialog angelegt. Solange du das nicht gemacht hast, wirst du auch Fehlermeldungen bekommen. Wenn du den Drachen dupliziert hast, kann die Fehlermeldung natürlich auch daher kommen. Wie gesagt, solange ich nicht weiß, was du wo wie gemacht hat, kann ich gar nichts dazu sagen. Dann musst du selbst sehen, wie du klarkommst.
Das kann ja gar nicht funktionieren. Du hast in der _StoryDialogTakes ja einge Felder gar nicht bzw. falsch ausgefüllt. Schau dier mal die Beispieldatensätze im Tutorial und vergleiche diesen mit deinen. Dann siehst du, was du falsch gemacht hast. Und warum hast du zwei Einträge in der StoryDialogs angelegt? Du hast doch nur einen Dialog.
Zur den benötigten Einträgen zur Tabelle _Story_DialogTakes zitiere ich jetzt mal aus dem Tutorial und füge auch die dort verwendeten Screenshots bei.
Zitat:Für die Tabelle _Story_DialogTakes wird außerdem eine, immer gleich aufgebaute, Startzeile benötigt, deren Inhalt von dem der normalen Dialogzeilen abweicht.
[...]
Anschließend werden DialogGUID und DialogId in die Tabelle kopiert. Das sieht dann ungefähr so aus.
[Bild: mod_dialog_02.jpg]
Danach wird die erste Zeile des Dialogs ausgefüllt. In die Spalten TakeId und TakeType kommt der Eintrag StartState, die Spalte TakeSpeaker bleibt hingegen leer. TakeSoundActiv erhält den Wert 0, die Spalten in denen üblicherweise BLOBs stehen, bekommen einen leeren BLOB: X'00000000000000000000000000000000'.
[Bild: mod_dialog_03.jpg]
Jetzt fehlt noch eine eindeutiger Bezeichner für den Take als Text. Ich verwende dazu immer die DialogId, lösche das id daraus und füge stattdessen eine laufende Nummer ein. So finde ich die dazugehörigen DialogGUIDs und Textzeilen schneller. Außerdem kann ich den Wert dann einfacher kopieren. Natürlich funktioniert hier auch jeder andere Text.
Die Spalten ConditionRef und ConditionBlock füllen wir zunächst ebenfalls mit dem BLOB X'00000000000000000000000000000000' aus. Wir werden hinterher einige Zeilen mit Bedingungen versehen, aber um zu testen, ob der Dialog grundätzlich funktioniert, sind diese vorerst nicht notwendig. Die Animationen in der Spalte TakeEmote lassen wir auch erst einmal leer. Diese sind ohnehin bei jedem Dialog und jedem Take unterschiedlich.
Die Spalte TakeLocaId wird mit dem Wert als BLOB ausgefüllt, den für die Texte verwendet haben. Das ist besonders wichtig. Stimmen hier BLOB und Identifikator nicht überein, werdet ihr nur Fehlermeldungen lesen können.
Ich blicke da jetzt gar nicht mehr durch wegen den Fehlern die ich gemacht habe. Habe jetzt die 4 Zeilen gelöscht. Also wenn ich es richtig gelesen habe brauche ich zuerst die DialogGUID und DialogId richtig? Wo genau steht die DialogGUID und die DialogId?
@Huhn
Ich kann zwar hier nichts hilfreiches beitragen, aber könntest du dann mal einen Screenshot posten, wenn du es geschafft hast, den Drachen als "Begleiter" ins Spiel zu holen? Wäre einfach nett ein Resultat der Bemühungen hier zu sehen.
(09.11.2016, 11:00)Huhn123 schrieb: Ich blicke da jetzt gar nicht mehr durch wegen den Fehlern die ich gemacht habe. Habe jetzt die 4 Zeilen gelöscht. Also wenn ich es richtig gelesen habe brauche ich zuerst die DialogGUID und DialogId richtig? Wo genau steht die DialogGUID und die DialogId?
Irgendwann blickt keiner mehr durch, was Du wann wo gemacht, wieder gelöscht oder verändert hast. Schreib bitte mal auf, was von Dir jetzt in welcher Tabelle in welchem Feld steht. Am besten keine Screenshots, sondern schriftlich, also
Ok. Also ich habe die 2 erstellten Tabellen von mir in _Story_Dialogs gelöscht und die von 2 von _Story_DialogTakes gelöscht, heißt also ist wie am Anfang als wenn man nichts drann geändert hätte.
Das einzigste was ich jetzt geändert habe ist in der game.db4 dort habe ich unter _Instance_MonsterLarge eine neue Zeile erstellt mit folgenden Inhalt:
Bis dahin scheint alles in Ordnung zu sein, keine Fehlermeldung und der Drache ist dort. Also muss der Fehler weiter vorne liegen bei static.db4 da ich da ja dort wieder alles gelöscht habe.
Der Fehler liegt mit Sicherheit in der static.db4. Bevor ich allerdings konkrete Angaben zu den notwendigen Einträgen machen kann, muss ich genau wissen, was du wo eingetragen hast. Ich blicke jetzt nämlich auch nicht mehr durch.
Fangen wir mit der locale.db4 an. Da solltest du zwei Einträge mit dem Text haben. Was ich brauche sind die Werte die du für LocaId eingetragen hast.
Dann die Tabelle _Story_Dialogs. Gestern hattest du noch zwei Einträge darin. Du brauchst aber nur einen. Also einen davon löschen, sonst muss ich bei den weiteren Datensätzen nur raten und das geht dann schief. Hier brauche ich alle Werte, die du eingetragen hast.
Biite auch hier keine Screenshots, sondern so wie Rabenaas es schon geschrieben hat.
Bei Static.db4 habe ich jetzt alle Zeilen gelöscht die ich hinzugefügt hatte. Heißt also beide Zeilen in _Story_Dialogs und beide in _Story_DialogTakes. Ist also als wenn nichts verändert wurden wäre in der Static.db4
Und hier die Einträge in der Static.db4 in der Zeile _Story_Dialogs die ich gerade rein geschrieben habe:
1. DialogGUID: Dort habe ich mit dem BLOB Generator einen BLOB erstellt und den dort rein geschrieben.
2. DialogId: ??? Weiß nicht was da rein soll. Stand vorher japh_einladung_id Kann ich das wieder so hin schreiben?
3. DialogName: ??? Weiß nicht was da rein soll. Stand vorher japh_einladung_id Kann ich das wieder so hin schreiben?
4. DialogSpeaker: Dort habe ich den Text von der game.db4 genommen in der Zeile _Instance_MonsterLarge und zwar dort 19. Name (TEXT): loc08_drachenhort_Japhgur Also habe ich bei DialogSpeaker loc08_drachenhort_Japhgur rein geschrieben
5. DialogGroup: Frei gelassen
6. DialogAsConversation: 0
Bevor wir den Dialog anlegen, musst du noch einige Änderungen bei dem Drachen vornehmen. Wenn man NPCs jeglicher Art dupliziert, muss nicht nur die Guid sondern auch die Werte in den Feldern _ID, Id und Name geändert werden. Diese Werte müssen immer eindeutig sein. Für den Dialog wird ja ein Speaker benötigt. Dieser Wert muss mit dem Wert aus dem Feld Name des NPCs über einstimmen. Wenn dieser Name zweimal vorkommt, nimmt Drakensang den ersten den es findet. Das wär in deinem Fall der Drache im Drachenhort. Da du in Avestreu bist geht das also nicht.
Der Eintrag für die Tabelle _StoryDialogs muss so aussehen:
1. DialogGUID: irgendein Blob, des es noch nicht gibt
2. DialogId: irgendein eindeutiger Text, japh_einladung_id wäre also okay
3. DialogName: hier kommt immer derselbe Wert wie in DialogId rein, also ebenfalls japh_einladung_id
4. DialogSpeaker: loc08_drachenhort_Japhgur geht nicht, siehe meine Erklärung oben, denk dir einfach einen neuen Namen aus
5. DialogGroup: Frei gelassen
6. DialogAsConversation: 0
10.11.2016, 19:47 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2016, 19:53 von Huhn123.)
Und was soll jetzt bei _ID, Id und Name hin? Hattest geschrieben der Wert muss eindeutig sein. Soll ich bei den Feldern mir irgendwas ausdenken? Oder muss da was bestimmtes hin?
Würde bei DialogSpeaker Japhi gehen? Wenn ja einfach nur Japhi in das Feld schreiben? Dann müsste ja auch bei Name dann Japhi stehen, richtig?