标题: 模仿异能:可以模仿周围神兵的特效
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-27 23:56 资料 短消息 只看该作者
模仿异能:可以模仿周围神兵的特效

最近在追看沧海兄写的冰之无限中的神兵玄奇那一卷,里面有看到魔兵无妄天诛的异能:模仿(可以模仿其它魔、神兵的异能),感觉有点意思,就动了在曹操传里修改出这个技能的念头,经过几天研究终于改出将其改出了。我是用毅兄的EXE改的,下面就是模仿异能的代码:

004D40B6      E8 B50F0000                    call Ekd5.004D5070

004D5070      55                             push ebp
004D5071      8BEC                           mov ebp,esp
004D5073      83EC 14                        sub esp,14
004D5076      894D FC                        mov dword ptr ss:[ebp-4],ecx
004D5079      8B45 08                        mov eax,dword ptr ss:[ebp+8]
004D507C      8945 F8                        mov dword ptr ss:[ebp-8],eax
004D507F      6A 3B                          push 3B <---------------------特效号
004D5081      E8 FD28F3FF                    call Ekd5.00407983
004D5086      85C0                           test eax,eax
004D5088      74 4A                          je short Ekd5.004D50D4
004D508A      C745 F0 00000000               mov dword ptr ss:[ebp-10],0
004D5091      8B45 F0                        mov eax,dword ptr ss:[ebp-10]
004D5094      E8 68F1FFFF                    call Ekd5.004D4201
004D5099      395D FC                        cmp dword ptr ss:[ebp-4],ebx
004D509C      74 05                          je short Ekd5.004D50A3
004D509E      FF45 F0                        inc dword ptr ss:[ebp-10]
004D50A1    ^ EB EE                          jmp short Ekd5.004D5091
004D50A3      C745 EC 00000000               mov dword ptr ss:[ebp-14],0
004D50AA      8B45 F0                        mov eax,dword ptr ss:[ebp-10]
004D50AD      8B5D EC                        mov ebx,dword ptr ss:[ebp-14]
004D50B0      3BC3                           cmp eax,ebx
004D50B2      74 1B                          je short Ekd5.004D50CF
004D50B4      83FB 72                        cmp ebx,72
004D50B7      77 1B                          ja short Ekd5.004D50D4
004D50B9      E8 BEF1FFFF                    call Ekd5.004D427C
004D50BE      85C0                           test eax,eax
004D50C0      74 0D                          je short Ekd5.004D50CF
004D50C2      8B45 EC                        mov eax,dword ptr ss:[ebp-14]
004D50C5      E8 CEF2FFFF                    call Ekd5.004D4398
004D50CA      3A45 F8                        cmp al,byte ptr ss:[ebp-8]
004D50CD      74 12                          je short Ekd5.004D50E1
004D50CF      FF45 EC                        inc dword ptr ss:[ebp-14]
004D50D2    ^ EB D6                          jmp short Ekd5.004D50AA
004D50D4      8B4D FC                        mov ecx,dword ptr ss:[ebp-4]
004D50D7      FF75 F8                        push dword ptr ss:[ebp-8]
004D50DA      E8 A428F3FF                    call Ekd5.00407983
004D50DF      EB 0F                          jmp short Ekd5.004D50F0
004D50E1      8B45 EC                        mov eax,dword ptr ss:[ebp-14]
004D50E4      E8 F1F2FFFF                    call Ekd5.004D43DA
004D50E9      8BD0                           mov edx,eax
004D50EB      B8 01000000                    mov eax,1
004D50F0      8BE5                           mov esp,ebp
004D50F2      5D                             pop ebp
004D50F3      C3                             retn

里面有用到一些我自己写的参数

武将A的战场、DATA内存地址:

004D4201      55                             push ebp
004D4202      8BEC                           mov ebp,esp
004D4204      25 FF000000                    and eax,0FF
004D4209      6BC0 24                        imul eax,eax,24
004D420C      05 502C4B00                    add eax,Ekd5.004B2C50
004D4211      8B18                           mov ebx,dword ptr ds:[eax]
004D4213      6BDB 48                        imul ebx,ebx,48
004D4216      031D 70404D00                  add ebx,dword ptr ds:[4D4070]
004D421C      8BE5                           mov esp,ebp
004D421E      5D                             pop ebp
004D421F      C3                             retn

输入:eax=武将A战场编号
输出:eax=武将A战场内存地址,ebx=武将A DATA内存地址


武将A是否在武将B的九宫范围内:

004D427C      55                             push ebp
004D427D      8BEC                           mov ebp,esp
004D427F      E8 9EFFFFFF                    call Ekd5.004D4222
004D4284      3C 01                          cmp al,1
004D4286      77 0C                          ja short Ekd5.004D4294
004D4288      80FB 01                        cmp bl,1
004D428B      77 07                          ja short Ekd5.004D4294
004D428D      B8 01000000                    mov eax,1
004D4292      EB 05                          jmp short Ekd5.004D4299
004D4294      B8 00000000                    mov eax,0
004D4299      8BE5                           mov esp,ebp
004D429B      5D                             pop ebp
004D429C      C3                             retn

004D4222      55                             push ebp
004D4223      8BEC                           mov ebp,esp
004D4225      33C9                           xor ecx,ecx
004D4227      0FB6C8                         movzx ecx,al
004D422A      6BC9 24                        imul ecx,ecx,24
004D422D      81C1 502C4B00                  add ecx,Ekd5.004B2C50
004D4233      8A41 06                        mov al,byte ptr ds:[ecx+6]
004D4236      8A61 07                        mov ah,byte ptr ds:[ecx+7]
004D4239      33C9                           xor ecx,ecx
004D423B      0FB6CB                         movzx ecx,bl
004D423E      6BC9 24                        imul ecx,ecx,24
004D4241      81C1 502C4B00                  add ecx,Ekd5.004B2C50
004D4247      8A59 06                        mov bl,byte ptr ds:[ecx+6]
004D424A      8A79 07                        mov bh,byte ptr ds:[ecx+7]
004D424D      3AC3                           cmp al,bl
004D424F      72 04                          jb short Ekd5.004D4255
004D4251      2AC3                           sub al,bl
004D4253      EB 04                          jmp short Ekd5.004D4259
004D4255      2AD8                           sub bl,al
004D4257      8AC3                           mov al,bl
004D4259      3AE7                           cmp ah,bh
004D425B      72 04                          jb short Ekd5.004D4261
004D425D      2AE7                           sub ah,bh
004D425F      EB 04                          jmp short Ekd5.004D4265
004D4261      2AFC                           sub bh,ah
004D4263      8AE7                           mov ah,bh
004D4265      8ADC                           mov bl,ah
004D4267      25 FF000000                    and eax,0FF
004D426C      81E3 FF000000                  and ebx,0FF
004D4272      8BC8                           mov ecx,eax
004D4274      03CB                           add ecx,ebx
004D4276      8BE5                           mov esp,ebp
004D4278      5D                             pop ebp
004D4279      C3                             retn

输入:eax=武将A战场编号,ebx=武将B战场编号
输出:eax=0(不是),1(是)


读取武将A的武器、防具、辅助品的特效号:

004D4398      55                             push ebp
004D4399      8BEC                           mov ebp,esp
004D439B      E8 D0FFFFFF                    call Ekd5.004D4370
004D43A0      6BC0 19                        imul eax,eax,19
004D43A3      05 40114A00                    add eax,Ekd5.004A1140
004D43A8      8A40 14                        mov al,byte ptr ds:[eax+14]
004D43AB      25 FF000000                    and eax,0FF
004D43B0      6BDB 19                        imul ebx,ebx,19
004D43B3      81C3 40114A00                  add ebx,Ekd5.004A1140
004D43B9      8A5B 14                        mov bl,byte ptr ds:[ebx+14]
004D43BC      81E3 FF000000                  and ebx,0FF
004D43C2      6BC9 19                        imul ecx,ecx,19
004D43C5      81C1 40114A00                  add ecx,Ekd5.004A1140
004D43CB      8A49 14                        mov cl,byte ptr ds:[ecx+14]
004D43CE      81E1 FF000000                  and ecx,0FF
004D43D4      8BE5                           mov esp,ebp
004D43D6      5D                             pop ebp
004D43D7      C3                             retn

004D4370      55                             push ebp
004D4371      8BEC                           mov ebp,esp
004D4373      83EC 04                        sub esp,4
004D4376      E8 86FEFFFF                    call Ekd5.004D4201
004D437B      33C0                           xor eax,eax
004D437D      8A43 2E                        mov al,byte ptr ds:[ebx+2E]
004D4380      8945 FC                        mov dword ptr ss:[ebp-4],eax
004D4383      8BC3                           mov eax,ebx
004D4385      33DB                           xor ebx,ebx
004D4387      33C9                           xor ecx,ecx
004D4389      8A58 31                        mov bl,byte ptr ds:[eax+31]
004D438C      8A48 34                        mov cl,byte ptr ds:[eax+34]
004D438F      8B45 FC                        mov eax,dword ptr ss:[ebp-4]
004D4392      8BE5                           mov esp,ebp
004D4394      5D                             pop ebp
004D4395      C3                             retn

输入:eax=武将A战场编号
输出:eax=武器特效号,ebx=防具特效号,ecx=辅助品特效号


读取武将A的武器、防具、辅助品的效果值:

004D43DA      55                             push ebp
004D43DB      8BEC                           mov ebp,esp
004D43DD      E8 8EFFFFFF                    call Ekd5.004D4370
004D43E2      6BC0 19                        imul eax,eax,19
004D43E5      05 40114A00                    add eax,Ekd5.004A1140
004D43EA      8A40 16                        mov al,byte ptr ds:[eax+16]
004D43ED      25 FF000000                    and eax,0FF
004D43F2      6BDB 19                        imul ebx,ebx,19
004D43F5      81C3 40114A00                  add ebx,Ekd5.004A1140
004D43FB      8A5B 16                        mov bl,byte ptr ds:[ebx+16]
004D43FE      81E3 FF000000                  and ebx,0FF
004D4404      6BC9 19                        imul ecx,ecx,19
004D4407      81C1 40114A00                  add ecx,Ekd5.004A1140
004D440D      8A49 16                        mov cl,byte ptr ds:[ecx+16]
004D4410      81E1 FF000000                  and ecx,0FF
004D4416      8BE5                           mov esp,ebp
004D4418      5D                             pop ebp
004D4419      C3                             retn

输入:eax=武将A战场编号
输出:eax=武器效果值,ebx=防具效果值,ecx=辅助品效果值


顶部
性别:男-离线 ouyangnitian
(欧阳)

★★

Rank: 13Rank: 13Rank: 13Rank: 13
组别 羽林都尉
级别 卫将军
功绩 85
帖子 6486
编号 281681
注册 2008-6-10


发表于 2011-4-28 10:16 资料 个人空间 短消息 只看该作者 QQ
赞一个,加到瓦岗中,又多一个强大的法宝!


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-28 10:26 资料 短消息 只看该作者
瓦岗的代码地址我不熟,不好加到瓦岗中。

[ 本帖最后由 aaa132536 于 2011-4-28 10:29 编辑 ]
顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-4-28 10:56 资料 个人空间 短消息 只看该作者
也许STAR和毅大能够考虑下,的确是很好的一个特效~瓦岗的文件感觉很小,不过如果加到瓦岗中能复制特技、异术就更强了。不过感觉剧情不会让瓦岗有这么BT的角色…………

[ 本帖最后由 WHITESHIP 于 2011-4-28 10:58 编辑 ]
顶部
性别:未知-离线 tswing

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 46
编号 421415
注册 2011-4-17


发表于 2011-4-28 17:52 资料 短消息 只看该作者
看不懂,汇编忘记一干二净。
模仿?干吗不来个全策略天生的?原版的遁甲天书也可以的。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-28 18:05 资料 短消息 只看该作者
呵呵,我这个是模仿周围武器特效的。
顶部
性别:未知-离线 三国群英

Rank: 12Rank: 12Rank: 12
组别 羽林都尉
级别 征东将军
功绩 53
帖子 5341
编号 359787
注册 2010-2-9
家族 轩辕狼党


发表于 2011-4-28 18:38 资料 个人空间 短消息 只看该作者
不会做游戏,看不懂这些是神马东西
顶部
性别:未知-离线 kuoyingjie

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


发表于 2011-4-28 20:16 资料 短消息 只看该作者
看见顶的人不多 我才来的。 这个确实是个很有用的功能。 别人不顶,我顶你
顶部
性别:未知-离线 Axie89

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 559
编号 312058
注册 2009-2-21
家族 瓦岗寨


发表于 2011-4-29 02:27 资料 短消息 只看该作者
我也支持一下新特效。。。。。。
顶部
性别:男-离线 513633522
(小越)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 右将军
功绩 12
帖子 1179
编号 349592
注册 2009-12-6
家族 轩辕狼党


发表于 2011-4-29 08:26 资料 文集 短消息 只看该作者
支持一下新特效。。。。。。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2011-4-29 11:11 资料 文集 短消息 只看该作者
有创意,顶,不过因看不懂汇编,有几个疑问。
1、不分敌我模仿吗?

2、当周围存在几个宝物时。这个模仿,是否将他们都叠加?将自身的宝物特效也叠加?如果是,这个模仿太强大了,很可能破坏平衡。另外,当存在几个冲突的特效时,会怎样算?如:二格穿透,三格穿透。

3、当周围存在几个宝物时。这个模仿,是将其续个覆盖?后面留的会是哪个?
顶部
性别:男-离线 WHITESHIP

★★
谏议大夫

Rank: 16
组别 翰林学士
级别 征北将军
功绩 380
帖子 4210
编号 170977
注册 2007-6-3
家族 轩辕学院


发表于 2011-4-29 12:04 资料 个人空间 短消息 只看该作者
回复 #11 冰麒麟 的帖子

+1,开始我也有这个疑问准备问的,但是后来觉得好像不会覆盖,然后把所有的都叠加………………因为原理似乎和“策略模仿”一样。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-29 12:31 资料 短消息 只看该作者
回复 #11 冰麒麟 的帖子

1.是不分敌我都模仿
2、3.只模仿武将九宫范围内的武器特效,是将几个特效都叠加,因此特效有0——8个,当存在几个冲突的特效时,最终取哪个可以参考在毅兄的EXE里将几个冲突的特效设在一起,看哪个取作用。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-29 12:53 资料 短消息 只看该作者
我还没研究到策略模仿,因此不知道原理是否一样。平常特效是否起作用要先判断下宝物特效号是否是该特效的特效号,是才会起作用。而模仿异能的原理是当周围有人的宝物特效号是该特效的特效号,就跳过检测自己宝物特效号是否是该特效的特效号的代码,特效直接起作用。例如混乱攻击:

当装备有模仿异能宝物的武将周围有存在装备着混乱特效武器的武将,则跳过自己是否有混乱特效宝物的检测,直接发到混乱攻击。
顶部
性别:男-离线 冰麒麟
(罪恶美)


Rank: 12Rank: 12Rank: 12
组别 节度使
级别 牙门将军
功绩 16
帖子 552
编号 292192
注册 2008-9-25
来自 广州市


发表于 2011-4-29 13:14 资料 文集 短消息 只看该作者
回复 #13 aaa132536 的帖子

觉得这个特效还是很有意思的。
建议,设一个模仿特效上限。比如:2个。
只是还要加模仿特效的优先顺序。

MOD中,把武器的基础数值调低一点,调整宝物的平衡度。
这样的宝物,在只有在模仿2个特效时增值,而只模仿1个特效或未能模仿时,就是贬值。这样可以考验玩家的走位。
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-29 13:38 资料 短消息 只看该作者
回复 #15 冰麒麟 的帖子

模仿特效上限这个很好设,不过模仿特效的优先顺序就有点难了。你能不能提供个优先特效顺序我试着做一下。
顶部
性别:未知-离线 seaseesea
(福瑞阁社区)

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 忠义校尉
功绩 2
帖子 234
编号 334137
注册 2009-8-11


发表于 2011-4-29 16:58 资料 主页 短消息 只看该作者
http://freego.uueasy.com/read-htm-tid-645.html

【三国志·魏传】已经实现相似的技能!!同时还有部分其他新的特效效果!!
可以去尝试下!!
顶部
性别:未知-离线 qqww2311

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 30
编号 422499
注册 2011-4-27


发表于 2011-5-11 17:48 资料 短消息 只看该作者
這個功能不錯吧~
不過計唔計埋物攻?

[ 本帖最后由 qqww2311 于 2011-5-11 17:50 编辑 ]
顶部

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




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

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

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