⑴ fo4edit怎么设置中文
本帖最后由 妈妈说用户名不能太长 于 2015-12-24 14:38 编辑
2015-12-19 为master条目的复制添加了空值判定,修复了2015-12-17master条目为空时进行复制可能导致部分条目失效的问题 (如果论坛有汉化,最好优先用汉化版本,如果仍然存在英文,可以考虑使用下这个) 另外有人提到汉化不全的问题,这个脚本的功能是快速恢复被mod覆盖的文本,并不是自动汉化。。。如果是新增的文本是不会覆写过去的。而且覆写过程只会覆写条目顶层的FullName和Description,不会覆写其他任何任何任何内容,所以类似技能相关的lable标签,嵌套在其他标签内的名字和描述都不会自动汉化,依然需要手动处理。所以还是那句话:如果论坛有汉化,最好优先用汉化版本。
首先是FO4Edit下载
http://bbs.3dmgame.com/thread-4981009-1-1.html
FO4Edit中文化
中文化部分可以使用老滚5当时使用的方法,只不过需要需要变更默认加载的文件,我这里写了一个简单的bat文件
放到FO4Edit文件夹下,执行runFO4EditCN.bat即可启动支持中文的FO4Edit 中文UTF8支持来源 来源点我
自己下载,然后用命令行“hdtTES5EditUTF8_loader.exe FO4Edit.exe”执行也是一样的
刚载入mod之后,Fallout4.esm并没有加载本地化文件 右键Fallout4.esm,依此选择Other -> Localization -> Language -> cn(或者你需要的语言) 选择完之后就能看见正常的文本了 写在修改mod之前 千万不要直接使用FO4Edit修改Fallout 4.esm,如果要汉化主文件,建议使用Fallout4Translator
http://bbs.3dmgame.com/thread-4980980-1-1.html
这里有更为详细的使用方法,如果认为本篇接下来的说明过于简介,可以去下面的帖子看看 http://bbs.3dmgame.com/thread-4991180-1-1.html
作者是shihenwx同学
带界面的完全汉化版也有了,大家可以试试,暂时还不太完善,如果有问题可以去下面帖子反馈,大家多用才能早点完善。 http://bbs.3dmgame.com/thread-4990796-1-1.html
【简略教程】 我下面提到的内容是用来将Fallout 4.esm中已有的文本,覆盖到其他mod中的。 比如英文版的“更多的装甲槽位”和“更多的可改造服装”,他们会修改服装,然后顺带改了服装的名字,所以游戏里会显示英文服装名字。这时候就可以用这个方法,将Fallout 4.esm中的中文,覆盖到这些mod里面,然后这些mod就中文化了。 这个方法的优势是,可以让mod和当前你使用的原版文本内容一致,比如你可能在使用简体中文那么复制之后得到的mod就是简中的,而现在发布的汉化可能是针对原版繁中的。(不过由于是复制原始文本,所以如果mod新增了物品,还是需要手动汉化) 如何使用FO4Edit快速修改esm/esp文件来恢复被mod覆盖的原版内容文本
FO4Edit自某个版本提供脚本功能之后,其可用性提高了一大步。
这里讲一下如何使用它来快速恢复被修改的原版文本 1、首先需要用FO4Edit打开esp/esm文件 当然这一步是废话。。。但是必须要有。而且最好单独打开,这样可以保证复制过去的是原始文本。 2、载入本地化文件 载入之后右键需要汉化的mod(或者mod条目浏览那里的空白也可以) 依此选择Other -> Localization -> Language -> cn(或者你需要的语言) 3、恢复文本 在你需要恢复的 mod/条目/条目分类 上点击右键,选择 Apply Script 然后在Script的下拉列表里找到名为“Restore record names from master”的脚本 当然,那个不知道是猴年的脚本,直接运行是没有用的(也许每个人都不一样,但我这边是不行的) 所以需要将该脚本进行修改,将'FULL'和'DESC'字段的名字补全为'FULL - Name'和'DESC - Description' (请下载附件的pas文件,复制到FO4Edit的Edit Scripts文件夹下,然后使用。这里就不讲了) 4、执行脚本 点击OK,一秒还原(以More armor slots.esp为例,如果mod大了,估计会慢些) 5、关闭FO4Edit并保存修改 用过FO4Edit的都懂。。。点右上角关闭,然后勾上要保存的脚本,点OK。 右下角有个备份选项(请确保勾上了),如果修改之后无法正常工作可以用来还原,目录就在存放esp的Data文件夹的FO4Edit Backups子文件夹里 Script: 为了方便更新,不再列出code内容,请使用附件的pas文件 图?因为需要一点动手能力,所以就放步骤3那里调用脚本那一步的图 (主要是告诉大家点哪里比较方便,实际自己会玩的话,可以试一试,很多方法可以完成这一步) 图以外的步骤如果试了一下,发现自己不会的话,请使用别人编辑好的esm/esp文件。 呃,但愿别沉的太早了。
⑵ delphi 中 读取文件
Delphi同Object Pascal一样支持三种文件类型,即:文本文件、记录文件、无类型文件。
文本文件
文本文件类型的版变权量用如下方法声明:
var
TextFileVar: Text ;
文本文件是以行为单位进行读、写操作的。由于每一行长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。而且文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
记录文件
记录文件是一种操作更为灵活的文件类型。它允许同时为读和写打开,而且由于记录文件中每条记录的长度固定,所以可随机存取。记录文件的类型变量可如下声明:
var
RecordFileVar: file of RecordType;
RecordType是一个自定义的记录类型。
无类型文件
无类型文件提供了底层的I/O通道,可用于存取可变长度记录的文件。经常用于文件的复制操作中。由于Delphi提供了更好的方法,所以无类型文件很少使用。
⑶ delphi中如何读取ini文件中的内容,并显示在edit中,需要执行程序后edit中就显示
在程式的OnCreate属性增加FormCreate事件: //程式启动就执行
procere Tfrm_main.FormCreate(Sender: TObject);
begin
With TINIFile.Create(filename) do begin //filename为文件路径+名称
edit1.Text :=ReadString(SectionName,IdentName,DefaultValue);
end;
end;
例如,以下三行为ini文件中的内容,那麼,PrinterSetting为SectionName,ComNo和BaudRate均为IdentName,DefaultValue表示找不到相关SectionName或IdentName时采取的默认值(找不到则为DefaultValue,找得到则为找到的值,如ReadString('PrinterSetting','ComNo','2')=1而ReadString('PrinterSetting','ComNumber','2')=2).
[PrinterSetting]
ComNo=1
BaudRate=9600