灰衣游侠 发表于 2018-11-25 21:35:55

遇上了很奇怪的事:修改了部分民族后显示语言dll文件出错...

我是用upmod做的exe...用reshacker和vs修改了语言dll(包括全部三个dll)里民族的称呼,介绍和位置(原始版本中dll的10230开始是随机和各民族的称呼)...还加了几个民族...用新的interface替换了旧的interface......
然后点击EXE后显示:
"Games/....../Data/Language_x1_p1.dll"没有被指定在windows上运行,或者它包含错误。。。。。。"然后我又做了一个test-mod......当各民族序号从10230开始时~添加民族后一切正常......
当各民族序号修改后...游戏仍能打开...但是只能显示部分民族......

最奇怪的是不管怎么改,都没有出现不能运行的情况......
是不是说不能用age修改旧的民族名称???(我在Age里也把部分民族的名称改了)......

我是谁004 发表于 2018-11-25 21:53:58

那么,在MOD对应的XML文件里是否正确指定了新的文明的属性?

灰衣游侠 发表于 2018-11-26 13:17:31

我是谁004 发表于 2018-11-25 21:53
那么,在MOD对应的XML文件里是否正确指定了新的文明的属性?

恩恩...test-mod里只显示部分民族是因为我在xml里修改起始民族序号时把51100写成了51110~确实是我搞错了~3q~
还有language_x1_p1.dll打不开的问题我好像找到原因了!!!
我昨天晚上把test-mod里各部分都修改过了......但是依旧能打开......
刚才修改了一下language和language_x1.dll~reshacker立刻出错...test.exe打不开了......
似乎不能修改两个老的dll~不知道是reshacker的问题还是dll的问题......
我还看了下葡萄牙mod的games/data...他也修改了两个老的dll...把西班牙改成了卡斯蒂利亚...用age打开dat文件~用vs打开xml文件后...发现卡斯蒂利亚依旧是spanish......dat和xml文件里的民族名称不影响游戏显示出来的内容...是dll起了作用......
不清楚葡萄牙mod是如何做到的...葡萄牙mod看上去好复杂...帝国时代文件夹下面有专门的葡萄牙文件夹...里面好多看不懂的玩意......

我是谁004 发表于 2018-11-26 14:01:04

灰衣游侠 发表于 2018-11-26 13:17
恩恩...test-mod里只显示部分民族是因为我在xml里修改起始民族序号时把51100写成了51110~确实是我搞错了~ ...

不能修改的话,可以试试resedit或者restorator,看看会不会出问题。因为一些资源编辑工具在导出dll为文本之后不能直接再导入,必须经过改动才行。
葡萄牙mod有很多通过修改EXE文件而成的独特功能,例如击杀经验、随机佣兵、新增秘籍等,这些仅靠AGE是做不到的。我的mod也有类似的特性。

灰衣游侠 发表于 2018-11-26 19:39:19

我是谁004 发表于 2018-11-26 14:01
不能修改的话,可以试试resedit或者restorator,看看会不会出问题。因为一些资源编辑工具在导出dll为文本 ...

恩恩谢谢...restorator已经下好了......{:5_432:}

灰衣游侠 发表于 2018-11-26 19:39:58

我是谁004 发表于 2018-11-26 14:01
不能修改的话,可以试试resedit或者restorator,看看会不会出问题。因为一些资源编辑工具在导出dll为文本 ...

修改exe吗?是用exescope修改的吗...

我是谁004 发表于 2018-11-26 19:58:10

灰衣游侠 发表于 2018-11-26 19:39
修改exe吗?是用exescope修改的吗...

eXeScope和ResHacker等一样,都只是修改EXE、DLL等文件中的资源的工具,而对它们的执行部分是不能动的。修改EXE是通过反汇编确定要修改什么东西,然后通过编辑EXE文件使其加载自制的DLL来实现的。

灰衣游侠 发表于 2018-11-26 20:37:28

我是谁004 发表于 2018-11-26 19:58
eXeScope和ResHacker等一样,都只是修改EXE、DLL等文件中的资源的工具,而对它们的执行部分是不能动的。 ...

啊...是这样...(听上去很麻烦...
页: [1]
查看完整版本: 遇上了很奇怪的事:修改了部分民族后显示语言dll文件出错...