Themabewertung:
  • 2 Bewertung(en) - 4.5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Drache als Begleiter? Irgendwie?
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?
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.
Ich bin davon ausgegangen, dass du das hier verwendet hast.

Code:
DialogGUID=X'082053E1B942A65E7D4B43F687E5FF85'
DialogId=bobo_id
DialogName=bobo_id
DialogSpeaker=loc01_bobo
DialogGroup=
DialogAsConversation=0

Woher soll ich wissen, dass du da was anderes eingetragen hast?
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

Edit: Bekomme jetzt eine Fehlermeldung.

Screenshot:


Angehängte Dateien Thumbnail(s)
   
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.
Ich mache mal paar Bilder wie es bei mir aussieht.

Screenshots von DialogTakes was ich dort eingetragen habe:


Angehängte Dateien Thumbnail(s)
               
Aber bevor ich das eingetragen hatte kam keine Fehlermeldung und der Drache war dort.








Und hier von Dialogs:


Angehängte Dateien Thumbnail(s)
       
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.
(08.11.2016, 21:50)Lord Demon schrieb: Und warum hast du zwei Einträge in der StoryDialogs angelegt? Du hast doch nur einen Dialog.
Mein Fehler. Hatte ich hier so geschrieben. Wahrscheinlich habe ich es mit der Art der Verwendung in Dialog_Takes verwechselt.
Das hatte ich in der Tat übersehen.

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.


Angehängte Dateien Thumbnail(s)
       
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

Code:
Tabelle X:
1. Datensatz)
Feld1 = Wert1
Feld2 = Wert2
...

Sonst irrlichtern wir hier noch ewig herum.
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:

1. GUID: X'4ED4C43A3E0389A35BDADB37F1766EA5'
2. _ID: |Level|Objects|MonsterLarge|loc08_drachenhort_Japhgur
3. _Level: location01
4. _Layers: Leer gelassen.
5. Transform: BLOB (Size: 64)
6. Id: Japhgur
7. Graphics: characters/japhgur
8. PetrifiedGraphics: dummies/character_dummy
9. Rot180: 1
10. CharackterSet: Leer gelassen.
11. Placeholder: dummies/dummy_japhgur
12. AnimSet: japhgur
13. AttackFormation: japhgur_attackformation
14. RotateAttackFormation: 0
15. SoundSet: Dragon
16. Physics: Leer gelassen.
17. LargeMonsterSize: X'000030410000B04200003041'
18. LODMaxDist: 200
19. Name: loc08_drachenhort_Japhgur
20. Faction: FaPlayer
21. Behaviour: loc08_beh_purpurwurm
22. LookAtAliveText: Yaphgur
23. LookAtDeathText: Toter Yaphgur
24. MaxVelocity: 2
25. NewHero: 1
26. AggroRadius: 50
27. SetupStorage: Leer gelassen
28. SetupEquipment: Leer gelassen
29. InventoryType: NPC
30. LootTable: Leer gelassen
31. Ab hier kommen die ganzen Stats und Talente die sind ja unwichtig also überspringe ich die. Weiter gehts bei 143.
143. TargetSize: VeryLarge
144. SetupGroups: Leer gelassen
145. VisibilityType: InSight
146. ScriptPreset: Leer gelassen.
147. ScriptOverride: Leer gelassen.
148. MapMarkerResource: map/map_marker_blue
149. PickingPhysics: characters\\physiks_dummy
150. CanRob: 0
151. PickingRange: 12
152. IsLootable: 1
153. StolenGoodsTable: Leer gelassen
154. PickingHeight: 1
155. WildernessLoreDifficulty: 0
156. Infoldentified: Leer gelassen
157. RunSpeed: 2
158. StaticDerivedValues: All
159. ATW6: 3
160. ATW6plus: 2
161. RSKo: 6
162. RSBr: 6
163. RSRu: 6
164. RSBa: 6
165. RSLA: 6
166. RSRA: 6
167. RSLB: 6
168. RSRB: 8
169. CanTalk: 1
170. IsVictoryWorthy: 1
171. DespawnAfterDeath: 0
172. CombatNumberOfPerryActions: 1
173. BasisXP: 60
174. Stufe: 18
175. Immunity: largemonster;poison
176. CorpseDespawnTime: -1
177. HitWeaponSound: paw
178. PortraitCamera_Offset: 5
179. StorageContentCount: Null
180. Groups: Null
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.

Screenshot:


Angehängte Dateien Thumbnail(s)
   
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 locale.db4 steht folgendes:

1. LocaId: 1de4495d-fad3-4377-b759-70afa57b0b01
2. LocaText: Was ist?

Und

1. LocaId: 1de4495d-fad3-4377-b759-70afa57b0b02
2. LocaText: Komm mit.

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
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?




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