最新内容 | 信息资料 | 攻略秘技 | 分类下载 | 评论心得 | 模拟三国 | 游戏专区 |
 

 

三国志V修改法2

作者:小鼠标 来源:琅邪中华文化论坛


下面把我对NBDATA的研究说明如下:
用UltraEdit或者FPE等可以编辑2进制文件的工具打开NBDATA.S5数据如下:
以第一个武将为例
偏移量0000h开始:
+4h:两个字节表示勇名低位在前
+6h:两个字节表示经验低位在前
+8h:两个字节表示士兵低位在前
+Ah:二进制表示说明如下:00 111 111,最高2位未知,中间3位表示寿命,末3位未知
+Bh: 武将所处剧本时期,00第一剧本,01第二剧本……
+Ch:连续4个字节为第一个武将的“武力 智力 政治 魅力”,各1字节
偏移量0010h开始:
+0h:1字节士兵训练度
+1h:1字节士兵士气
+2h:1字节将军名,见下将军列表,FF表示没有指定
+3h:忠诚度
+4h:出身地,见下面地名表,FF表示没有指定
+5h:所属君主,根据上面0000h+Ch所处剧本时期的不同,君主就不同,FF表示没有指定
+6h:善恶,20极恶,60恶人,A0善人,E0极善
+Bh:武将固有技能,第一个字节对应火计~祈雨,第二个字节对应天变~激励,第三个字节对应水计~远箭,第四个字节对应强行~骑射。改了影响程序。

以上武将能力增量值为1Fh,即该武将值地址增加1Fh则为下一武将对应数值地址

偏移量0C30h开始:
+0h:性向
+1h:年龄 必须小于54h(84);游戏中实际年龄=84-这个字节的数字,例如该字节为45h(69),则
游戏中年龄为:84-69=15岁
+3h:人物成长能力(学习技能所需要的经验),改成00则成长速度最快。
+4h:后面连续6个字节为该武将所学技能,技能列表如下:
00 火计 01 混乱 02 内讧 03 收拾 04 仙术 05 鼓舞 06 治疗 07 祈雨
08 天变 09 灭火 0A 落石 0B 占卜 0C 伏兵 0D 幻术 0E 妖术 0F 激励
10 水计 11 火箭 12 奋发 13 乱射 14 速攻 15 藤甲 16 无双 17 远箭
18 强行 19 沉着 1A 布阵 1B 水神 1C 反计 1D 落沙 1E 回射 1F 骑射
+Ah:后续2个字节为头像代码,改为0200为吕布(单挑能力增强);0800赵云(单挑能力增强)
+Eh:低4位为义气,高4位为野心,FF表示义气15野心15
+Fh:二进制说明如下: 00 111 111 最高位作用未知,次高位0表示男性,1表示女性,
中间3bit为勇猛(最高7),最低3bit为冷静(最高7)
偏移量0C40h开始:
+0h:连续两个字节为武将所会阵形,说明如下:
0200 锥形,对应二进制0000 0010 0000 0000
0400 钩形,对应二进制0000 0100 0000 0000
0800 箕形,对应二进制0000 1000 0000 0000
1000 鹤翼,对应二进制0001 0000 0000 0000
2000 鱼鳞,对应二进制0010 0000 0000 0000
4000 偃月,对应二进制0100 0000 0000 0000
8000 锋矢,对应二进制1000 0000 0000 0000
0001 横轭,对应二进制0000 0000 0000 0001
0002 长蛇,对应二进制0000 0000 0000 0010
0004 方圆,对应二进制0000 0000 0000 0100
0008 雁行,对应二进制0000 0000 0000 1000
0010 水阵,对应二进制0000 0000 0001 0000
FE1F 全阵,对应二进制1111 1110 0001 1111
以上武将能力值增量为26h。

将军名代码:
00 大将军 20000
01 骠骑将军 19000
02 车骑将军 19000
03 卫将军 18500
04 征东将军 18000
05 征南将军 18000
06 征西将军 18000
07 征北将军 18000
08 镇东将军 17500
09 镇南将军 17500
0A 镇西将军 17500
0B 镇北将军 17500
0C 安东将军 17000
0D 安南将军 17000
0E 安西将军 17000
0F 安北将军 17000
10 平东将军 16500
11 平南将军 16500
12 平西将军 16500
13 平北将军 16500
14 前将军 16000
15 后将军 16000
16 左将军 16000
17 右将军 16000
18 龙骧将军 15500
19 征虏将军 15500
1A 镇军将军 15500
1B 安远将军 15500
1C 辅国将军 15500
1D 武卫将军 15000
1E 建威将军 15000
1F 建武将军 15000
20 振威将军 14500
21 振武将军 14500
22 奋威将军 14500
23 奋武将军 14500
24 扬威将军 14000
25 扬武将军 14000
26 强弓将军 13500
27 荡寇将军 13000
28 昭文将军 13000
29 讨逆将军 12500
2A 破虏将军 12500
2B 鹰扬将军 12000
2C 折冲将军 12000
2D 虎烈将军 12000
2E 威远将军 12000
2F 伏波将军 11500
30 虎威将军 11500
31 横江将军 11000
32 安国将军 11000
33 军师将军 10000
34 门牙将军 10000
35 偏将军 9000
36 裨将军 9000

城市名代码:
01 襄平
02 北平
03 代县
04 晋阳
05 南皮
06 平原
07 邺
08 北海
09 濮阳
0A 陈留
0B 洛阳
0C 弘农
0D 长安
0E 安定
0F 天水
10 西凉
11 下邳
12 徐州
13 许昌
14 谯
15 汝南
16 宛
17 新野
18 襄阳
19 上庸
1A 江夏
1B 江陵
1C 武陵
1D 长沙
1E 桂阳
1F 零陵
20 寿春
21 建业
22 吴
23 会稽
24 庐江
25 豫章
26 汉中
27 下弁
28 梓潼
29 成都
2A 永安
2B 江州
2C 建宁
2D 云南
2E 庐陵
2F 鄱阳

所属君主名的代码比较罗嗦。根据剧本时期的不同而不同。
实际上可以在开始新游戏的时候看下就知道了。例如第一个时期,可选君主有
张角,何进,孙坚,丁原……,那么他们对应的代码就是
00h,01h,02h,03h。(h表示16进制的意思)

 


三国5深层次修改笔记大公开

作者:飞鸟无

本人现在没有精力继续修改三国5了,那些修改笔记留在我这里浪费掉可惜,鉴于很多玩家对三国5的热情,我决定公开给大家看,以造福广大三国5玩家。

我是边修改边做笔记的,没有系统整理,所以有些乱,这里先给个例子解释:

比如 水计的作用范围 94aa4(win 6cba2)

94aa4 是dos普通版的地址,括号里面的6cba2是其在win版的相应地址
我用的是静态修改工具:myHiew和W32Dasm,主要是myHiew,W32Dasm只在走头无路的情况下才用

因为直接修改win版极容易出错,所以我都先修改dos版,再dos版中试验成功之后,才敢去动win版。所以我的笔记大多是dos版的,win的只有很重要的地方我才记,我都记在括号里面。


我的三国5修改笔记
=========================================
技能列表:
00 火计 01 混乱 02 内讧 03 收拾 04 仙术 05 鼓舞 06 治疗 07 祈雨
08 天变 09 灭火 0A 落石 0B 占卜 0C 伏兵 0D 幻术 0E 妖术 0F 激励
10 水计 11 火箭 12 奋发 13 乱射 14 速攻 15 藤甲 16 无双 17 远箭
18 强行 19 沉着 1A 布阵 1B 水神 1C 反计 1D 落沙 1E 回射 1F 骑射

查找相应技能代码的方法 :baxx00 9a8808f20a
激励 94871
仙术 93812 936d2
落石 955db 威力 95560
乱射 9507f 口号 9506c
奋发 94d62 94dce
鼓舞 939eb
水计 94acb 作用范围 94aa4(win 6cba2) 显示作用范围948e8(win 6c936)
伏兵 94134 作用范围 93f30
治疗 93b1d
骑射 8dd95
内杠 933a4 934d0 ***934bf(作用范围), 成功率 93343 , 战斗画面和降士气93445,着火以后的成功率93324
混乱 着火以后的成功率9305d win 6a7b4
速攻 95164
灭火 93ec5
火计 92fcb
幻术 94405 显示作用范围 941ee(win 6bf23)<------94218(win 6bf62) 实际作用范围 9425a(win 6bfbb)
妖术 946b3 攻击范围 94568(win 6c418) 显示作用范围 944fe(win 6c380)<----94526(win 6c3bf)
农民暴动 8d924
突击 90b26 ************************************
藤甲 90d80
特殊线索 b8eb88
忠诚度下降 918df
回射 92974
无双 80d0c 8ec66 0007.d55f
一齐 90a2e **********************************************
000570C2: 01 00 移动是否消耗指令
00055BD7: 01 00 赏赐是否消耗指令

占卜代码修改:
9743f: E84AFA CALL 94E8C 敌军着火
97448:E841FA CALL 94E8C 敌军着火
97475:E814FA CALL 94E8C 敌军着火
97487: E902FA CALL 94E8C 敌军着火
9745A: E82FFA CALL 94E8C 敌军着火
奋发代码修改:
94D14:9AA005F20A CALL 00AF2:005A0 我方所受伤害为0
94d2d: bb0800 mov bx 0008 改为64
无双与藤甲替换:
10076:mov dx 00016 改为00015
藤甲代码修改:
90e5c call af2:00956 可能是提取技能的函数 win call 764e3
or ax ax
jne 90eec
90eec mov ax 00064 火箭着火率100%,改为64以下的值 (win:61f3d 61eba 61ead)
92b4d mov ax 00064 火计着火率100%,改为64以下的值 (win:69fcd-->6a057)
8f088 对弓箭免疫
8f0d0 火箭对藤甲的伤害力 win 65489
烈火对藤甲的伤害力
射箭动画:90d1f d7b:00a8c
着火动画 9a10077209 972:00710
射箭加经验 90e09
普通加经验909b4
着火伤害函数 92f33 90f2b
火箭增加经验值 90fd0 win 6205f
电脑藤甲策略 9beba
电脑火箭天气策略 f6c1

伏兵代码修改:
伏兵口号:mov ax 09c50 中计口号:09c51
伏兵画面:call d7b:8dc
成功率判断:94078 call a6d:00054

体力为多少时出现伏兵选项 :93f69 call 972:00b48
敌军损失兵力 94071 call 00093f86

幻术代码修改:
幻术画面:call d7b:bdc
幻术不混乱 9437d
必中 9432d
只攻击一个部队 9436c
降士气9435c
攻击范围 9425a 显示作用范围 941ee<------94218 函数9ad00b7b0d d7b:bd0

妖术代码修改
945e0 win 6c51e
攻击范围 94568(win 6c418) 显示作用范围 944fe(win 6c380)<----94526(win 6c3bf)

突击代码修改:
90b5a jne 90b0b 改为nop nop 突击三次变为一次
90b38 call 7bd:a4a 为减兵力函数

call af2:0020a 无用


回射代码修改
92960 call a6d:162 回射

强行代码修改:
8d4f: 提前5天到达



单条代码修改:
单条加经验 91336<----9139c
913a6: 屏蔽掉 call:000901d8 单条失败后不损失部队。(win 62535)

学会阵形几率
900a8 900fd (win 60c2f)
君主被捕后总部队不撤退 9005b 90064 01改为00 (win 60be5)---------------------------------------------------***************************
总结 d7b为动画函数
士兵数浮动画面:d7b:0065a
战斗画面:d7b:00a5c
普通战斗画面:d7b:00a68 9a680a7b0d
调整阵形方向画面:af2:5a0
技能提示对话框 93b69 ff7:2748 ff7:ed40
93b04 伤兵恢复浮动画面:d7b:00930
选择要攻击的敌人 9a68142708 call 827:1468
城市恢复力修改:86352 (win:596b8)
攻击范围函数 94255 call 00a6d:00162 9a62016d0a 调用 9ac40b7b0d d7b:00bc4
显示作用范围 941ee<------94218 函数9ad00b7b0d d7b:bd0
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
修行获得的经验:6f25f
使敌军撤退的经验:51d8b
射箭加经验 909b4
加勇名函数 9ae655fc0f
使部队撤退函数 call:000901d8 0008:ca28 9个地方调用
指令体力函数 9a9c00a103
着火以后计谋成功率函数 93f91 af2:00a70
570C2移动
5cdf7 战争 win 1796f
55BD7赏赐
55e74 宝物赠送
56ab0重编
56beb酒宴
570c1担当
59224同盟
59227共同
598a5进贡
59d1d劝降
5a2f0
5a852援助
5b042研究
5cdfa
5d546
75657反间 win 28e0f
75b59造反
75f18煽动
76349工作
76805造谣
76c87埋伏
77021修行
77272交易
7733c巡查
56a0b
71241 比武赏赐 71247
78ac7
加经验函数0ffc: 5c2a 9a2a5cfc0f
加金钱函数0ffc: 07e6c 9a6c7efc0f
减金钱函数0ffc: 07eac 9aac7efc0f
加粮食函数0ffc: 07f12 9a127ffc0f
减名声函数0ffc:07be2 9ae27bfc0f
判断是否为电脑 call 000054a8e
杀敌将减名声 528d1

9ad6037209 可能是去勇猛值的函数
546f5 掠夺
54451 训练 (win 26661)
53e6b 募兵
540a9 征兵
5553d录用 win 27c21
54b84 搜索
************************************************************************************************只有1月可以进行职责担任 95132 065c2
**进行征兵 b7a0 84eb
冷静 863a6 8901
放置军队 87249
武将被捕 88449 05232
全军撤退 885ed 05280
结束命令 8891d 0520c
挣扎 88f8
向哪个部队下命令 892e2 0520a
占领军粮库 8dc86 08903
邀请单条 911b0 5279 526d
进行移动攻击吗 8dea1 0520d
5209 5299 522c 5229 5227 5224 88fa 5226 522f 5221 5223 5241 5243
攻击哪个部队 8dec1
5233 捉住**
5234 **撤退到……
53f19 036be 募集了……士兵

911a1
军 ad78 玄 a5c8

下面简要说一下我的修改方法。
我的方法其实非常原始,主要可以归结为两个方面:

1 关键字

利用关键字搜索的方法,想方设法找到你要修改的那段代码附近。

什么是关键字呢? 就是一些关键的常数,比如某个技能消耗的体力值,得到的经验值,这些都是固定的,是关键的常数。在游戏中,你要注意观察,比如占领一座空城后,你的武将会得到固定的勇名和经验值,这些都是你修改游戏很重要的信息,一定要多收集。

2 万能的”屏蔽代码“方法

找到那段代码后,你不一定能够精确的定位你要修改的那个地方,比如你要找决定”奋发“威力的那个参数,你可能找到了”奋发“的那段代码,有3、4页长,那么此时就可以用万能的”屏蔽代码“的方法,一行一行的屏蔽掉,怎么屏蔽呢?改为90就可以了。然后每屏蔽掉一行代码后,马上回到游戏中看看,比如用关羽对吕布”奋发“一下,看看有什么异常,如果没有什么异常,说明你要找的不在这个地方,那就必须回到修改器中,还原改过的那行代码,接着屏蔽第二行,再进去游戏…… 如此地毯式的搜索,你一定能发现你想找的东西。

怎么样?看起来很笨吧,可是往往就是越原始的方法越有效

 

 

 

 
     
 
三国题材游戏大全 ©1999-2008 文章版权属原网站或原作者,如需要转载,请通知站长,转载时请注明来源以及原作者!