标题: 猪猪版三国志孔明传的兵种攻防升级能力修改(附修改器下载)
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-25 12:07 资料 文集 短消息 只看该作者
这种还算简单..
我不想对原来的布局动太多地方,所以把表格插在代码中间了,程序返回位置所在的代码没有动;
这样前边的几个跳转指令位置不用改,省点麻烦;
但有这个位置:
0x42A68C这个位置被开辟来做兵种大类了
导致前边有个jmp指令:
0042A5AE   . /E9 D9000000   JMP EKD2Win.0042A68C
这个代码od会认不出来;
不过这句代码完全没用上过,所以我虽然给的附件里改了,不改也一样


设定原则是这样:
从0x42A66C开始:
00~27这40个兵种,需要一一给他设定一个大类,编号00~07,一共8大类,默认00

相克系数是0~255直接的任意值,我设定的结果是:
实际伤害=基本伤害x相克系数/100
这样可以有75%,65%这种不是整十的系数存在,设定系数的时候也不用绕弯子了,方便一点
最大是255%,最小0,如果嫌系数范围不够,也可以把100这个数缩小一下。
当然实现方法很多,这里仅仅是一个例子
0x42A62C开始为相克系数表格结构:
每8个一组,分别是第00,第01……第07类克制其他大类的系数;默认00,需要自己设定;
很明显,自己克制自己系数为1,也就是100%,因为我这个例子是除以100的,所以对应设置应该为64H;
如果你改了除数,记得系数也要同步改一下;
藤甲兵22H作为防御方时候单独计算;

例子看附件:

下边是程序:

0042A5E9   .  83F9 22       CMP ECX,22                               ;  是否藤甲兵
0042A5EC   .  75 05         JNZ SHORT EKD2Win_.0042A5F3
0042A5EE   .  2BC0          SUB EAX,EAX
0042A5F0   .  40            INC EAX                                  ;  藤甲兵伤害为1
0042A5F1   .  EB 37         JMP SHORT EKD2Win_.0042A62A
0042A5F3   >  894D D8       MOV DWORD PTR SS:[EBP-28],ECX
0042A5F6   .  8B4D DC       MOV ECX,DWORD PTR SS:[EBP-24]
0042A5F9   .  E8 A2ECFDFF   CALL EKD2Win_.004092A0                   ;  攻击方兵种
0042A5FE   .  2BC9          SUB ECX,ECX
0042A600   .  8AC8          MOV CL,AL
0042A602   .  0FB681 6CA642>MOVZX EAX,BYTE PTR DS:[ECX+42A66C]       ;  攻击方大类
0042A609   .  8B4D D8       MOV ECX,DWORD PTR SS:[EBP-28]
0042A60C   .  0FB689 6CA642>MOVZX ECX,BYTE PTR DS:[ECX+42A66C]       ;  防御方大类
0042A613   .  8D04C8        LEA EAX,DWORD PTR DS:[EAX+ECX*8]         ;  相克系数相对位置,也是选8大类的好处,计算相对位置只3个字节就够了
0042A616   .  0FB680 2CA642>MOVZX EAX,BYTE PTR DS:[EAX+42A62C]       ;  相克系数(0~255),同大类请设64H,可设8个档次
0042A61D   .  8B4D F0       MOV ECX,DWORD PTR SS:[EBP-10]
0042A620   .  F7E9          IMUL ECX
0042A622   .  2BC9          SUB ECX,ECX
0042A624   .  2BD2          SUB EDX,EDX
0042A626   .  B1 64         MOV CL,64                                ;  最终伤害=基本伤害x相克系数/100
0042A628   .  F7F9          IDIV ECX
0042A62A   >  EB 68         JMP SHORT EKD2Win_.0042A694
0042A62C      00            DB 00                                    ;  0大类相克系数
0042A62D      00            DB 00
0042A62E      00            DB 00
0042A62F      00            DB 00
0042A630      00            DB 00
0042A631      00            DB 00
0042A632      00            DB 00
0042A633      00            DB 00
0042A634      00            DB 00                                    ;  1
0042A635      00            DB 00
0042A636      00            DB 00
0042A637      00            DB 00
0042A638      00            DB 00
0042A639      00            DB 00
0042A63A      00            DB 00
0042A63B      00            DB 00
0042A63C      00            DB 00                                    ;  2
0042A63D      00            DB 00
0042A63E      00            DB 00
0042A63F      00            DB 00
0042A640      00            DB 00
0042A641      00            DB 00
0042A642      00            DB 00
0042A643      00            DB 00
0042A644      00            DB 00                                    ;  3
0042A645      00            DB 00
0042A646      00            DB 00
0042A647      00            DB 00
0042A648      00            DB 00
0042A649      00            DB 00
0042A64A      00            DB 00
0042A64B      00            DB 00
0042A64C      00            DB 00                                    ;  4
0042A64D      00            DB 00
0042A64E      00            DB 00
0042A64F      00            DB 00
0042A650      00            DB 00
0042A651      00            DB 00
0042A652      00            DB 00
0042A653      00            DB 00
0042A654      00            DB 00                                    ;  5
0042A655      00            DB 00
0042A656      00            DB 00
0042A657      00            DB 00
0042A658      00            DB 00
0042A659      00            DB 00
0042A65A      00            DB 00
0042A65B      00            DB 00
0042A65C      00            DB 00                                    ;  6
0042A65D      00            DB 00
0042A65E      00            DB 00
0042A65F      00            DB 00
0042A660      00            DB 00
0042A661      00            DB 00
0042A662      00            DB 00
0042A663      00            DB 00
0042A664      00            DB 00                                    ;  7
0042A665      00            DB 00
0042A666      00            DB 00
0042A667      00            DB 00
0042A668      00            DB 00
0042A669      00            DB 00
0042A66A      00            DB 00
0042A66B      00            DB 00
0042A66C      00            DB 00                                    ;  00兵种开始,自定义大类0~7
0042A66D      00            DB 00
0042A66E      00            DB 00
0042A66F      00            DB 00
0042A670      00            DB 00
0042A671      00            DB 00
0042A672      00            DB 00
0042A673      00            DB 00
0042A674      00            DB 00
0042A675      00            DB 00
0042A676      00            DB 00
0042A677      00            DB 00
0042A678      00            DB 00
0042A679      00            DB 00
0042A67A      00            DB 00
0042A67B      00            DB 00
0042A67C      00            DB 00
0042A67D      00            DB 00
0042A67E      00            DB 00
0042A67F      00            DB 00
0042A680      00            DB 00
0042A681      00            DB 00
0042A682      00            DB 00
0042A683      00            DB 00
0042A684      00            DB 00
0042A685      00            DB 00
0042A686      00            DB 00
0042A687      00            DB 00
0042A688      00            DB 00
0042A689      00            DB 00
0042A68A      00            DB 00
0042A68B      00            DB 00
0042A68C      00            DB 00
0042A68D      00            DB 00
0042A68E      00            DB 00
0042A68F      00            DB 00
0042A690      00            DB 00
0042A691      00            DB 00
0042A692      00            DB 00
0042A693      00            DB 00
0042A694   >  5F            POP EDI

[ 本帖最后由 ctermiii 于 2010-7-25 13:52 编辑 ]


附件: EKD2Win.rar (2010-7-25 12:20, 127.11 K)
该附件被下载次数 241


顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6037
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-25 12:13 资料 个人空间 短消息 只看该作者 QQ
回复 #151 ctermiii 的帖子

另外我还是没看懂147楼里面所谓的“加上或者减去等级因素的随机值”

具体是怎么算的?什么情况下要加上/减去?


顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-25 12:27 资料 文集 短消息 只看该作者
是这样的:
1、前边计算出基础伤害Abase;
2、取得防御方等级Flevel,然后取得0~FLevel-1的随机值Frnd1;
3、取得攻击方等级Glevel,然后取得0~Glelev-1的随机值Grnd1;
4、比较Frnd1与Grnd1的大小;
5、1如果Frnd1<Grnd1,或者产生了全力一击;
那么伤害会随机增加0~Glevel-1之间的随机值Grnd2,结果为Abase=Abase+Grnd2
5、2如果Frnd1>=Grnd1,
那么伤害随机减少0~Flevel-1的随机值Frnd2,如果伤害为1,减少了2,那只能取0和1-2的最大值,即保证伤害不能为负数,结果为Abase=Max(Abase-Frnd2,0)
6、确认防御方是我军(15个部队,不知道是否包括援军,游戏我实在没玩过)还是敌军;
如果是我军,那个会去确认游戏难度;
6、1难度为初级的话,我军受伤害为Abase=Abasex80%;
6、2难度为高级的话,我军受伤害为Abase=Abasex120%;
注:没有中级难度计算,那明显伤害为Abase=Abasex100%;
7、取得防御方当前耐久力,如果最终的ABase>=耐久力的话,伤害Abase=耐久力;
如果伤害<耐久力的哈,Abase不变,这个是为了防止打出比当前耐久力还大的数;

[ 本帖最后由 ctermiii 于 2010-7-25 13:21 编辑 ]
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6037
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-25 14:20 资料 个人空间 短消息 只看该作者 QQ
回复 #153 ctermiii 的帖子

第5步可以看出,低等级的去打藤甲兵,很容易杯具的
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-7-26 11:16 资料 文集 短消息 只看该作者
非常感谢ctermiii 的贡献。

我的修改器已经更新。修复了多个bug,并且加入以下内容:

1. 在现成的exe上打上godtype的"兵种装备自由设定补丁"的功能。如果要修改兵种属性也会提示打上补丁。
2. 在现成的exe上打上ctermiii 的"兵种相克自由设定补丁"的功能。如果要修改兵种相克属性也会提示打上补丁。
3. 提供兵种相克设定的功能。

源代码我已经上传至共享目录中。

[ 本帖最后由 lewulezo 于 2010-7-27 08:41 编辑 ]
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-27 13:06 资料 文集 短消息 只看该作者
其实我是挺喜欢屠电脑的,比如可以改造一下如果是我军,伤害永远为0,如果是敌人,次次连击、全力一击。
如果每战的敌人出来,兵种是剧本定死的,不会应为上一战的影响而变化的话,就好玩了

要增加游戏难度的话,可以改成如果是敌军,发生了致命一击或者连击或者某种条件吧,那么他是一个很优秀的敌人啊,可以给他增加一个加强攻或者防或者攻防的buffer,好好保护起来

如果他下次出现,兵种不变的话,可以考虑如果他表现优秀,给他兵种随机升级为一种更强大的,就好玩了。
顶部
性别:未知-离线 藏陋网友

Rank: 4
组别 士兵
级别 裨将军
功绩 3
帖子 321
编号 7926
注册 2004-5-27


有没有复刻版的三国志英杰传的修改器啊~~~
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-8-2 16:11 资料 文集 短消息 只看该作者


QUOTE:
原帖由 藏陋网友 于 2010-7-31 17:55 发表
有没有复刻版的三国志英杰传的修改器啊~~~

鄙人对破解程序逻辑并不在行。
要是有强人对三国志英杰传的数据分析有成果的话,我也可以做修改器方便大家自由设定或者补丁。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6037
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-8-16 01:21 资料 个人空间 短消息 只看该作者 QQ
刚刚看了一下,北狄兵的成长大约是
武/智/统
0/1/17

无语了………………
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-8-16 12:55 资料 文集 短消息 只看该作者
是吗,我不知道北狄兵的兵种属性升级在哪里存放。我本以为是继承另一个兵种来的。
顶部
性别:未知-离线 669999

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 28
编号 374151
注册 2010-5-8


发表于 2010-8-21 13:29 资料 短消息 只看该作者
偶是新手,看不懂啊
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6037
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-8-24 16:36 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
目前已知的AI代码:
00:防守模式。如果移动范围+攻击范围内有我军就出击,否则不动。
01:攻击模式。如果移动范围+攻击范围内有我军就出击,否则向我军最近的目标移动。
02:坚守模式。不会移动,如果攻击范围内有我军就攻击。很多关敌军主将的AI。
03:追击模式。如果移动范围+攻击范围内有我军就出击,否则向指定的我军目标移动。后两个字节是追击的目标武将ID。比如说麦城之战追击关羽
04:行军模式。如果移动范围+攻击范围内有我军就出击,否则就向指定坐标移动,到达目标后切换为防守模式。后两个字节是目的地的坐标。敌军攻打我方城池采用的AI。
05:追随模式。如果移动范围+攻击范围内有我军就出击,否则向目标的坐标移动。后两个字节是跟随目标武将的ID。比如赤壁之战II中,曹军将领的AI
06:逃跑模式。不会主动攻击,只会朝指定目的地移动,如果没有路径可以通向目的地则原地发呆。后两个字节是逃跑的目的地坐标。比如说赤壁之战II的曹操。

05:追随模式,该AI是不会主动攻击的,只会跟着人走。
载入内存后就是04=XX 无攻击移动。

还有,04:行军模式,载入内存后是00=(X,Y) 移动。目前无法确定这种AI在移动范围+攻击范围内无目标,但是移动范围+策略范围内有目标时是否出击。

[ 本帖最后由 阿尔法孝直 于 2010-8-24 16:41 编辑 ]
顶部
性别:男-离线 37610716
(妖)

白衣伯爵

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11
轩辕春秋年度最佳(轩辕工作室)
组别 白衣卿相
级别 平东将军
好贴 1
功绩 151
帖子 2567
编号 214815
注册 2007-9-12


发表于 2010-8-26 15:55 资料 个人空间 短消息 只看该作者
坐等像曹操传那样的深入研究成果。
顶部
性别:男-离线 37610716
(妖)

白衣伯爵

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11
轩辕春秋年度最佳(轩辕工作室)
组别 白衣卿相
级别 平东将军
好贴 1
功绩 151
帖子 2567
编号 214815
注册 2007-9-12


发表于 2010-9-8 23:26 资料 个人空间 短消息 只看该作者
楼主能不能用用C,VB,C++等做成EXE的应用程序。
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2011-5-25 10:49 资料 文集 短消息 只看该作者
回复 #164 37610716 的帖子

可以运行就好了。我是做java开发的,不太习惯使用编译成exe的语言,抱歉哦。
顶部
性别:未知-离线 笨笨熊

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 8
编号 441463
注册 2011-8-31


发表于 2011-8-31 13:44 资料 短消息 只看该作者
拜神

顶部
性别:未知-离线 wimmc

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 37
编号 53660
注册 2005-11-21


发表于 2012-12-29 16:37 资料 短消息 只看该作者
回复 #41 lewulezo 的帖子

这个修改器怎么下载啊?
顶部
性别:未知-离线 wimmc

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 37
编号 53660
注册 2005-11-21


发表于 2012-12-30 11:30 资料 短消息 只看该作者
exe格式不符,无法打上兵种装备自由指定补丁,无法修改。

这是什么意思?是我的版本不对吗?
顶部
性别:未知-离线 wimmc

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 37
编号 53660
注册 2005-11-21


发表于 2012-12-30 20:24 资料 短消息 只看该作者
我打不开BAKDATA.E2文件,一开就是乱码,要用什么工具打开?
顶部
性别:未知-离线 yinyusheng

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 16
编号 342966
注册 2009-10-12


发表于 2014-1-14 15:55 资料 短消息 只看该作者
猪猪复刻版的 孔明传 现在实在找不到哪里还有下载了。。。。而且下来的孔明传也不知道 是不是猪猪复刻的 烦恼西
顶部
性别:未知-离线 yinyusheng

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 16
编号 342966
注册 2009-10-12


发表于 2014-1-15 15:28 资料 短消息 只看该作者
奇怪的就是无法修改地方的兵种 修改后无效,但是只要对方变成我们的 就有效 不知道为什么
顶部
性别:未知-离线 後小來

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 16
编号 456364
注册 2012-2-5


发表于 2014-1-29 00:48 资料 短消息 只看该作者
请问修改剧本会闪退,该如何解决呢?
顶部
性别:未知-离线 wimmc

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 37
编号 53660
注册 2005-11-21


发表于 2021-5-31 11:38 资料 短消息 只看该作者
感谢共享的修改器,正在试试。
顶部
性别:未知-离线 wimmc

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 37
编号 53660
注册 2005-11-21


发表于 2021-6-4 00:07 资料 短消息 只看该作者
太感谢了
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-4-4 04:17
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.014017 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP