nidhogg 2008-3-8 17:50
关于外部对话编辑器的问题
原本想尝试用的是Ghanima External Dialog Editor,因为可以直接导出,但是遇到一个很傻的问题。。。不知为何,我键入的字好像没办法保存,不管在框里输入什么对话还是会退回原来的模样。。。虽说是beta版但不应该出这种问题,所以觉得应该是我自己编辑不当,或者说完全不知道如何编辑-__- 或者会不会是java运行环境版本的关系,我的好像是6,但它上面要求1.4,不过此工具和JRE 1.4都是2003年发行的。。。总之,不解。。。
所以现在退回来用比较原始的编辑方法。。。用mherberger制作基于excel的NWN Master Dialog Tree,感觉还是很好用的,虽说还是少不了手工复制。先前用文本导出器但是感觉不好,因为对话顺序全乱。不过对于非对话文本还是很好用的。。。
但现在好像还没找到更方便的外部编辑器。。。
Ghanima the External Dialog Editor截图
[attach]16973[/attach]
NWN Master Dialog Tree截图
[attach]16979[/attach]
锂之垣 2008-3-9 01:55
我用的是TlkEditR13b,不知是否合乎楼主的要求。软件运行也需要sunjava支持,我觉得Java Platform Standard Edition (Java SE) 6 Update 3 兼容性较好,而Java Platform Standard Edition (Java SE) 6 Update 4用过之后确实有不兼容的现象(当时官方推荐安装6 Update 3),现在刚发现已经是6 Update 5了,还没有用过,不做出评论了。我用过的大多数需要java支持的软件说只是支持1.4,实际上用6 Update 3 完全可以。
TlkEditR13b下载:
[url]http://nwvault.ign.com/View.php?view=Other.Detail&id=669[/url]
Java Platform Standard Edition (Java SE) 6 Update 3 :
[url]http://java.sun.com/products/archive/j2se/6u3/index.html[/url]
Java Platform Standard Edition (Java SE) 6 Update 5 (无法用flashget下载,但可以用迅雷5下载):
[url]http://www.java.com/en/download/manual.jsp[/url]
TlkEdit Readme:
NWN1 vs. NWN2
Running TlkEdit
Spell Checking
Editing
Key Bindings
2DA Editing
TLK Editing
TLK Diff Feature
TLK Lookup
GFF Editing
ERF Editing
Internationalization
How to modify default char sets / encodings
Credits
TlkEdit wouldn't be the same without
The SwingX library, which can be found at swingx.dev.java.net
JMySpell [url]http://jmyspell.javahispano.net/[/url]
Other peoples' work included in this release :
TlkEdit.exe is a janel native java launcher, see janel.sourceforge.net
The icons are part of the 'Nuvola' icon set, created by David Vignoni for KDE. See [url]www.icon-king.com.[/url]
Patch version of dlpcpakv01 by Garad Moonbeam ( dragonlance races ).
NWN1 vs NWN2
The tlk and gff format for NWN1 and NWN2 is the same except for the string encoding used. That means that TlkEdit cannot distinguish between files for NWN1 or NWN2, but opening a NWN2 tlk file as NWN tlk file will display lots of garbled text. When launched with TlkEdit2.exe TlkEdit will use NWN2 mode by default. To open or save a file in NWN1 format you need to select the "All Files - NWN 1 mode" filter in the Open File / Save As dialog. The mode in which a file will be written is also displayed in the title bar. The default mode can be set with the tlkedit.defaultNwnVersion system property, i.e. add -Dtlkedit.defaultNwnVersion=NWN1 or -Dtlkedit.defaultNwnVersion=NWN2 to the tlkedit startup file ( either TlkEdit.lap/TlkEdit2.lap or tlkedit.sh )
Running TlkEdit
Windows
TlkEdit.exe is provided as a .EXE launcher for TlkEdit, startup properties can be found in TlkEdit.lap (plain text file)
Linux / OS-X
See tlkedit.sh
Server Mode
By default, TlkEdit will try to connect an already running instance so that there can only be one open TlkEdit instance. This behaviour can be changed by editing TlkEdit.lap and replacing the main class ( org.jl.nwn.editor.EditorServer ) with org.jl.nwn.editor.EditorFrameX.
Memory Usage
The maximum amount of memory java is allowed to use by default is 64MB. This can be overridden using the -Xmx switch. Both TlkEdit.lap and tlkedit.sh use this to set the maximum amount to 128MB. Memory usage ( heap space ) is displayed in the TlkEdit status bar, so you can tell when you are running out of space ( some spell checking dictionaries are rather greedy - de_DE_comb needs about 45 MB )
Spell Checking
Spell checking is provided by JMySpell, a Java implementation of the OpenOffice spell checker MySpell. Dictionaries can be downloaded from the OpenOffice web site [[url]http://wiki.services.openoffice.org/wiki/Dictionaries[/url]]. The site offers dictionaries in both myspell and (newer) hunspell format. JMySpell will only work with myspell dictionaries. The dictionary zip file should be placed in the dict subdirectory of the TlkEdit dir. Afterwards you need to edit the file dict/dictionaries.properties and set the correct dictionary file for your language code. If you want to use en_US.zip (download) or de_DE_comb.zip (download), the properties are already set correctly.
Key bindings
Key bindings (hot keys) can be altered by editing the file keybinding.properties in the settings directory. TlkEdit needs to be restarted for the changes to take effect. On OS-X TlkEdit should map 'control' to the 'command' key, but I couldn't test it.
Editing tlk files
Cell editing is stopped by clicking somewhere outside the cell with the mouse or preferably by pressing ALT+ENTER ( you can input line breaks by pressing enter ).
Unless you are editing a cell, cut/copy/paste work in entire table rows. This uses an internal clipboard, so that you can copy tlk entries to other tlk files opened in the editor, but not to other applications
Search & Replace
Pressing Enter or clicking the "find" button will hide the search dialog, unless the "keep dialog" checkbox is selected. When "keep dialog" is checked you can step through the occurences of the search term with "find".
The "flags" field
This field defines which of the 3 values ( String, Sound ResRef and Sound Length ) are actually used by NWN. If you enter a string but set the flags to 0, the string will NOT be used in game. The flags field is set automatically when you enter something in the "String", "Sound ResRef" or "Sound Length" field, so you can safely ignore it.
diff Menu
The tlk editor keeps track of changes to the tlk table. Modified lines are marked with * . This mark can be set/removed manually with the "+*" / "-*" buttons ( hotkeys Alt-m / Alt-u ).
menu items
"save diff" : save all modified entries as diff file
"merge diff" : load a diff file. Entries in the diff file will replace existing entries and will be marked as modified
"merge dtu" : load a file created by DialogTLK
"discard diff info" : set all lines to unmodified ( this will NOT restore the original tlk entries )
"diff overview" : display a list with the numbers of all modified entries. Selecting a number in the list will display the entry in the editor
( note : there is no default extension for these diff files, i use .tlu )
tlk lookup
Whenever you edit 2da or Gff files and select a cell with an integer value or a CExoLocString node TlkEdit will try to resolve that value as a StrRef and display the TLK String in the text area in the TLK lookup dialog. Of course you need to have at least one tlk file opened for this. If you have more than one tlk file opened in the editor you can select which one is used for tlk lookup by activating the tab and selecting the apropriate item from the 'tlk lookup' menu. By default the first tlk file that's loaded will be used as default tlk table and the second will be used as user tlk table ( i.e. for StrRefs >16777216 ).
Editing 2da files
Nothing much to say here ;) If you input strings that contain spaces the editor will try to add quotation marks as needed. The cut/copy/paste functions use the system clipboard, which means you can copy 2da lines into another application ( like excel ) and vice versa. Paste works only if the number of columns matches.
When entering StrRefs for custom content you might want to try the "Edit->Toggle User Flag on StrRef" menu item.
The 'alter table' menu item pops up a dialog that will allow you to add, remove (drop) or rename a table column
Editing gff files
cut/copy/paste works on entire subtrees, this uses an editor internal clipboard, so you can copy nodes to another gff file.
The 'find' function will not find text inside void fields and 'replace' can only be used on CResRef, CExoStrings and CExoLocString substrings.
By default, pressing the TAB key will expand / collapse a selected struct or list.
Editing erf files
Should be straightforward enough :) Careful when editing ResRefs though : if you rename a resource and another resource with the same name already exists it will be replaced !
Selecting edit resources from the erf menu will open selected 2da or gff files for editing. The files will be extracted as temporary files and a new editor panel is added for each. Everytime you save one of that editor panels the whole erf file will be rewritten.
Internationalization
(todo)
Encodings ( char sets )
NWN identifies a TLK file's language by looking at the value of byte number 0x08 in the tlk file ( the byte following the file type + version string "TLK V3.0" ). This byte also determines the encoding of the file, i.e. the way all those bytes are converted into readable text. The language to encoding mappings used by TlkEdit are as follows : code language encoding NWN 1 encoding NWN 2
0 English CP1252 UTF-8
1 French CP1252 UTF-8
2 German CP1252 UTF-8
3 Italian CP1252 UTF-8
4 Spanish CP1252 UTF-8
5 Polish CP1250 UTF-8
6 Unknown Unused (CP1250) UTF-8
128 Korean MS949 UTF-8
129 Traditional Chinese MS950 UTF-8
130 Simplified Chinese MS936 UTF-8
131 Japanese MS932 UTF-8
These values are used for tlk files and CExoLocStrings in gff files. The mapping used for languages 0-4 is correct as far as I can tell. However the encoding used can be modified with the -Dtlkedit.charsetOverride command line switch. Values are of the form
<NWNVersion>:<code>:<encoding>[;<code>:<encoding>]+
Launching TlkEdit with
java -Dtlkedit.charsetOverride="NWN1:2:ISO-8859-1" -jar tlkedit.jar
would change the encoding used for German (2) NWN1 tlk files to ISO-8859-1. For NWN2 use "NWN2" as version string. The override parameters can also be added to the tlkedit.lap or tlkedit2.lap files which contain the startup configuration for TlkEdit.exe and TlkEdit2.exe.
The list of encodings supported by Java2 can be found in the documentation under "Guide to Features"->"Basic Features, Internationalization"->"Supported
水月 2008-3-9 10:58
LS说的编辑器是我一直在使用的,性能不错。
至于说自己编写对话,恐怕还是用Toolset比较好,毕竟是原配的嘛。
Erodoeth 2008-3-9 14:41
[quote]原帖由 [i]锂之垣[/i] 于 2008-3-9 01:55 发表 [url=http://www.odyguild.net/bbs/redirect.php?goto=findpost&pid=94714&ptid=12414][img]http://www.odyguild.net/bbs/images/common/back.gif[/img][/url]
我用的是TlkEditR13b,不知是否合乎楼主的要求。 [/quote]
否,nidhogg要的是编辑模组内部dlg对话文件的工具,你给的工具编辑的是tlk文件
To nidhogg:输入完语句按Ctrl+回车,和qq的默认设定一样。
nidhogg 2008-3-9 17:41
致 锂之垣:
TlkEditR13b试过的,conversation可以编辑,但是非常非常之不方便。。。。另外我的java好像是update 3,看来大概是稳定的。
致 水月:
在toolset里编辑似乎不是很适合同时分属两地进行,对话导出到新建模组又很担心出错。。。不过现在确实弄得有点太复杂化了。
致 Erodoeth:
原来素这样滴-__-
试了下确实应该这样,谢谢~~~
我大概知道NwnMultiLang为什么不太好用了。它把npc说话和玩家回复分开导出了。。。