NWNノート @Wiki

TLKについて

最終更新:

匿名ユーザー

- view
管理者のみ編集可
訪問者:本日 - - 人 / 昨日 - - 人 / 全体 - -


TLKファイルについて


概要

   NWNではNPCとの会話文(会話データではない)やアイテム名、技能や特技の名称等のプレイヤーの言語に依存するデータ類はTLKという形式のファイルに格納します。
TLKファイルはゲーム内の全ての文字列データを保持するファイルで、ファイルフォーマットについてはBioware社によって定義されています。
ここでは、TLKファイルの作成方法について説明します。
なお、以降は文字列データのことを文字列リソースと呼ぶことにします。

参考資料

  Bioware社 TalkTable(dialog.tlk) File Format
http://nwn.bioware.com/developers/

  Wiki CCG TalkTable
http://ccg.dladventures.com/index.php/TalkTables

既定TLKファイルの作成方法

   他のカスタムコンテンツを作成する時に名称や説明文等はTLKファイルに格納する必要があります。
このTLKファイルの作成には2種類の方法があり、ここでは既定のTLKファイル内の文字列リソースの置換及び新しい文字列リソースの追加の方法について説明します。。
既定のTLKファイルとはNWNをインストールしたディレクトリにあるdialog.tlk(またはdialogF.tlk)を指します。

  1) DialogTLKを起動します。
    DialogTLKは、TLKファイルを編集するためのツールです。
    DialogTLK
http://nwvault.ign.com/View.php?view=Other.Detail&id=687

   

  2) EditメニューのAddをクリックするか、またはアイコンのAddをクリックします。
     

  3) Enter String Informationというダイアログが表示されるので、
String Referenceに文字列リソースの番号、
String Dataに文字列リソース
を入力します。
但し、外国製のツールのため、日本語を入力しても文字化けして表示され、編集ができません。

  日本語を入力しても 

  文字化けしてしまう 

  4) そこで適当な文字列を入力して追加した後
   

    FileメニューのExport to XMLをクリックし、保存するファイル名を入力してXMLファイルとして外部に保存します。
     

  5) テキストエディタで保存したXMLファイルを開きます。
   

    開いたXMLファイルを編集します。
文字列リソースの番号は<ref></ref>の間、
文字列リソースは<string></string>の間
に記述します。
編集後は、XMLファイルを保存します。
   

  6) DialogTLKを起動し、FileメニューのImport from XMLをクリックします。
開くファイル名に5)で編集したXMLファイルを指定します。
     

    XMLファイルの内容が取り込まれます。
ちなみにこの一覧の画面は文字化けしません。
   

  7) FileメニューのMerge with dialog.tlkをクリックします。
保存するファイル名にdialog.tlkと入力して外部に保存します。
但し、NWNがインストールされているディレクトリ配下のdialog.tlkに直接保存しないようにしてください。
もし、問題があっても元に戻せなくなりますので別のディレクトリに保存するようにして下さい。
     

  8) 既定のTLKファイルと差し替えるdialog.tlkの完成です。
実際のインストールの手順は他のカスタムコンテンツの記事を参照して下さい。
   

   既定のTLKファイル内の文字列リソースを置換したい場合は置換する文字列リソース番号で作成すればいいだけです。

カスタムTLKファイルの作成方法

   上記の手順では既定のTLKファイルと差し替えるTLKファイルを作成しますが、配布する場合にサイズが大きくなり、またNWNのインストール状況(拡張セットの有り無し)によって既定のTLKファイルが変わってしまうため、状況によっては導入ができない可能性があります。
これに対して、カスタムTLKファイルを作成する場合は、使用者のインストール状況に関わらず導入することができます。
欠点は既定のTLKファイルにある文字列リソースを置換することができず追加のみであること、カスタムTLKファイルはそのままでは使用することができず、モジュールのプロパティで使用するTLKファイルを指定する必要があるということです。

  1) 手順1) - 6)までは「既定のTLKファイルの作成方法」と同じです。
以下はインポートが完了した状態です。
   

  2) FileメニューのExport as TLKをクリックします。
保存するファイル名にカスタムTLKのファイル名を入力して外部に保存します。
     

  3) カスタムTLKファイルの完成です。
実際のインストールの手順は他のカスタムコンテンツの記事を参照して下さい。
   

文字列リソースの番号について

   上記の手順を注意深く読んだ方は気づいているかもしれませんが、既定のTLKファイルと差し替える場合とカスタムTLKファイルを作成する場合では、文字列リソースの番号が異なっています。
Bioware社のドキュメントによれば、既定のTLKファイルの場合は使用できる文字列リソースの番号は0 - 16777215までとなっています。
また、カスタムTLKの文字列リソースの番号については16777216以降となっています。
但し、カスタムTLKの場合は、ファイル内の文字列リソース番号は0から始まる必要があります。
少し、ややこしいのですがファイル中では0から作成し、そのカスタムTLKファイルを参照する2daファイルでは16777216から記述します。
つまり、16777217と2daファイルに記述した場合はカスタムTLKファイルの1番の文字列リソースが取得されるということです。
なお、Bioware社ではカスタムTLKファイルを作成する場合は極力0番は使用しないようにとあります。(上記の例では使用していますが)
0番は通常は「Bad Strref(悪い文字列リソース番号)」と書き、使用しないようです。


名前:
コメント: