[Modding] Probleme mit der .dlg

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Hi,

ich habe einen kleinen Mod für BG1 EE geschrieben, der einen Leitfaden in das Spiel einfügt mit dem der Spieler die Fähigkeit erhält einen Händler zu beschwören.
(Einen etwas ausführlichere Version -Djinmod- hatte ich auch damals unter jasteys ausgiebiger Patronage für BG2 erstellt.)

Leider werden in BG1 EE die Texte von Namen / Beschreibungen / Dialogen (.cre / .itm / .spl / .d) im Spiel nicht übernommen.

Öffne ich die Datein mit DLTC wird alles korrekt angezeigt - Im Spiel dafür nur Kauderwelsch und zwar auf Englisch, obwohl ich die Spracheinstellung auf Deutsch steht.

Die Verlinkung in der .d funktioniert korrekt, also bei Antwort 1 öffnet sich die .sto und bei Option 2 endet der Dialog, nur der Text stimmt eben nicht.
Die zweite Antwort in der .d ("Heute brauchen wir nichts.") wird korrekt angezeigt. Eine entsprechende Dialogzeile existiert bereits im Spiel und wurde scheinbar erkannt.

Die Bennung in der .tp2 habe ich nach dem gleichen Muster wie in BG2 Mods verwendet, wo ich das Problem noch nicht hatte (BG 2 EE habe ich noch nicht getestet).

z.B.:

.itm (in der .tp2):

COPY ~HMBG1EE/itm/NQ#MERC1.itm~ ~override/NQ#MERC1.itm~
SAY NAME1 @2
SAY NAME2 @2
SAY DESC @3

.d:

BEGIN nq#merc1

IF ~!Gender(LastTalkedToBy,FEMALE)~ THEN BEGIN HELLO01
SAY ~Hallo Reisender! Wollt Ihr meine unglaublichen Waren sehen? Ich würde Euch auch ein paar Goldstücke für Euren unötigen Ballast geben!~
IF ~~ THEN REPLY ~Ja, zeigt uns Eure Waren.~ DO ~StartStore("nq#merc1",LastTalkedToBy(Myself))~ EXIT
IF ~~ THEN REPLY ~Heute brauchen wir nichts.~ DO ~~ EXIT
END

IF ~Gender(LastTalkedToBy,FEMALE)~ THEN BEGIN HELLO02
SAY ~Hallo Reisende! Wollt Ihr meine unglaublichen Waren sehen? Ich würde Euch auch ein paar Goldstücke für Euren unötigen Ballast geben!~
IF ~~ THEN REPLY ~Ja, zeigt uns Eure Waren.~ DO ~StartStore("nq#merc1",LastTalkedToBy(Myself))~ EXIT
IF ~~ THEN REPLY ~Heute brauchen wir nichts.~ DO ~~ EXIT
END

(.tp2: COMPILE ~HMBG1EE/dlg/NQ#MERC1.d~)

Der einzige Unterschied den ich in andere Mods gesehen habe ist, dass ich für den Händler keine Eintragung in der pdialog.2da vorgenommen habe, was meines Erachtens hier aber keinen Einfluss haben sollte.
Insbesondere, dass die mit WEIDU eingefügten Texte mit DLTC korrekt anzeigt macht für mich wenig Sinn.
Hat Windows evtl. irgendwo eine unsichtbare Kopie der .dlg die er nutzt?


Folgendes scheint auf das Problem zu passen, nur kann ich dem k eine Lösung entnehmen:
Eine Mod fügt neuen Text in das Spiel ein. Dies geschieht immer nur für eine Sprachversion.

Ändert Ihr nun im Spiel die Sprachversion, werden die neuen Texte nicht dargestellt, sondern nur als "invalid: xxxxxxx".
Modinhalte können also nur !
in der Sprachversion gespielt werden, zu der sie installiert wurden.
Solltet Ihr dieses "invalid" in Eurem Spiel sehen, dann bedeutet es, dass die neuen Modtexte nicht in der aktiven dialog.tlk vorhanden sind. Das kann also entweder bedeuten, dass die falsche Sprachversion ausgewählt wurde, oder, dass Ihr einen Savegame verwendet, der mit nun fehlenden Mods gemoddet wurde - s.u.

Ich hoffe, dass jemand weiß wie ich das Problem beheben kann!

Lg Genwa
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
Hast Du BG:EE mit SoD von GOG oder Steam? Dann musst Du vor der Installation von Mods erstmal Modmerge laufen lassen:
https://forums.beamdog.com/discussi...omething-weidu-nearinfinity-dltcep-can-use/p1

Ansonsten frage ich trotzdem nochmal nach, was in der weidu.conf steht (müsste irgendwas mit DE_xx sein). Das ist die Sprache des Spiels, auf die die Mod installiert wurde. Wenn Du die ändern willst, kannst Du die weidu.conf vor der Installation der Mod einfach löschen.

Einen Eintrag in die pdialog.2da bräuchte Dein Händler nur, wenn er sich der Gruppe anschließen könnte (so wie die anderen NPC).
 

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Ich habe die Version von Steam.

Modmerge habe ich heruntergeladen, aber ".go" ist mir vorher noch nie über den Weg gelaufen. Wie / Womit führe ich die Datei (ich nehme an modmerge.go) denn überhaupt aus und sollte ich das Spiel vorher reinstallieren? :hae:

Die "weidu.conf" sagt:

 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
weidu.conf sieht gut aus (hattest Du ja auch gesagt, dass Du auf das deutsche Spiel installiert hast, wollte nur sichergehen).

Zur Ausführung von Modmerge kenne ich mich nicht aus, da hoffe ich, dass Dir jemand anderes weiterhelfen kann.

Dann ist das aber wohl Dein Problem; wenn das nicht vorher ausgeführt wird, kommt es bei Mods zu Textsalat (weil nicht die richtige dialog.tlk gepatcht wird).
 

Mindriel

Traumläufer
Registriert
22.12.2000
Beiträge
1.781

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Hi, erstmal vielen Dank. Moderge läuft, der erste Teil des Problems ist gelöst und hat den Blick auf den zweiten Teil frei gemacht :p

Die .spl und .cre sind jetzt korrekt benannt.
Der Start des Dialoges führte allerdings zu Abstürzen, bis ich probeweise "ä, ö und ü" durch andere Buchstaben ersetzt habe...

Damit komme ich im Zweifel klar und probiere jetzt erstmal ob das Problem weiter besteht, wenn die Dialogzeilen aus der .tra gezogen werden.
-> Edit: Das macht leider keinen Unterschied.
 
Zuletzt bearbeitet:

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Das Problem mit den Umlauten könnte am Encoding liegen.
Alle Nicht-ASCII Zeichen (also ä, ö, é, 日 etc.) kann man unterschiedlich kodieren.

Früher ist in der deutschen Version latin1 (iso-8859-1) genutzt worden, dein Texteditor könnte aber z. B. UTF-8 verwenden.
Vielleicht mal schauen, ob du da eine Einstellung findest.

Wie das bei den Enhanced Editions aussieht, kann ich allerdings nicht sagen.
Mein Wissen sollte man eh mit Vorsicht genießen, bin auf 'nem ziemlich altem Stand.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
Die Texte müssen als utf-8 ohne BOM vorliegen.

Entweder, Du hast die Möglichkeit, sie gleich so abzuspeichern. Oder Du nutzt die in weidu implementierte Konvertierung bei der Installation HANDLE_CHARSETS (wenn die Mod z.B. für die alte BGII-Engine und die EE funktionieren soll.) Bevor ich das jetzt beschreibe, warte ich erstmal, ob Du das brauchst oder ob das Abspeichern der tra-Dateien in utf-8 ohne BOM Dir ausreicht.
 

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Problem gelöst!

Um als UTF-8 ohne BOM zu speichern musste ich einen alternativen Editor (Notepad++) laden. Der Windows 10 Editor hatte keine entsprechende Funktion...

Vielen Dank für die schnelle und kompetente Hilfe! :up:
 

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Seit dem neuen Update läuft bei mir leider nichts mehr.
Um EE überhaupt starten zu können musste ich erstmal alle Mods deinstallieren. Eine Neuinstallation der Mods klappt aber leider nicht mehr, da sie Modmerge nicht finden. Dieses kann ich aber nicht reinstallieren, weil es der Meinung ist, dass es noch installiert wäre.
Ich habe daher versuchsweise EE deinstalliert und dann wieder installiert, was aber nicht geholfen hat.

Was muss ich den löschen, damit die modmerge .exe erkennt, dass es eine Neuinstallation braucht?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.946
Das weiß ich nicht, aber ich kann Dir ein anderes (besseres) Tool von @Argent für die gleichen Anwendung empfehlen: DLC Merger

Hm, wobei Du das eventuell nicht laufen lassen solltest, wenn noch nicht klar ist, ob Dein Spiel nu ge-modmerged wurde, oder nicht. Ich habe im Modmerge-Thread mal nachgefragt.
 

Genwa

Betrachter
Registriert
08.01.2018
Beiträge
328
Ich konnte eine Fehlermeldung, die bei den Installationsversuchen für eine Millisekunde auf dem Bildschirm erschien, mit einem Screenshot einfangen. Nachdem ich "sod-dlc.key" gelöscht habe, konnte ich modmerge reinstallieren und die Installation der mods ist jetzt auch wieder möglich.
 
Oben