标题: 二次行动交换问题
性别:男-离线 冰麒麟
(罪恶美)


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


发表于 2012-8-6 09:47 资料 文集 短消息 看全部作者
二次行动交换问题

二次行动或二次移动,可以通过交换来使我方获得更多的移动次数。
例如:A装备二次行动,移动一次后,B跑过来与A换,C再跑过来与B交换,D再跑过来与C交换。。。。。
如此,N个人,都可以多获得一次移动。

可否通过修改,令发动交换的人,在交换结束后,立即结束行动呢?

[ 本帖最后由 冰麒麟 于 2014-7-17 21:21 编辑 ]


顶部
性别:男-离线 冰麒麟
(罪恶美)


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


发表于 2012-8-6 12:03 资料 文集 短消息 看全部作者
谢谢毅哥,我先试试改。

[ 本帖最后由 冰麒麟 于 2012-8-6 12:05 编辑 ]


顶部
性别:男-离线 冰麒麟
(罪恶美)


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


发表于 2012-8-6 12:09 资料 文集 短消息 看全部作者
回复 #2 x-dvd 的帖子

这也是以前一位高手帮我改的,代码如下:
一.二次移动
需要修改两个地方
修改处一
0044AF70   /EB 03           JMP SHORT Ekd5.0044AF75
0044AF72   |FE45 DC         INC BYTE PTR SS:[EBP-24]   
0044AF75   \8B4D DC         MOV ECX,DWORD PTR SS:[EBP-24]
0044AF78    80F9 73         CMP CL,73   
0044AF7B    7D 26           JGE SHORT Ekd5.0044AFA3
0044AF7D    6A 06           PUSH 6
0044AF7F    33C9            XOR ECX,ECX
0044AF81    8A4D DC         MOV CL,BYTE PTR SS:[EBP-24]
0044AF84    6BC9 24         IMUL ECX,ECX,24
0044AF87    81C1 502C4B00   ADD ECX,Ekd5.004B2C50
0044AF8D    E8 FEB6FBFF     CALL Ekd5.00406690   
0044AF92    33C0            XOR EAX,EAX
0044AF94    8A45 DC         MOV AL,BYTE PTR SS:[EBP-24]
0044AF97    05 10FF4C00     ADD EAX,Ekd5.004CF000 ;4CF000大家根据自己的EXE设置,但这个位置开始往后的115字节不要有其它代码使用.
0044AF9C    C600 00         MOV BYTE PTR DS:[EAX],0
0044AF9F    90              NOP
0044AFA0    90              NOP
0044AFA1  ^ EB CF           JMP SHORT Ekd5.0044AF72




修改处二
0044E5FB    - E9 26FB0700   JMP 004CE126 跳到新代码处

新代码
004CE126    FF75 D8         PUSH DWORD PTR SS:[EBP-28]
004CE129    E8 0A000000     CALL 004CE138
004CE12E    8B4D C8         MOV ECX,DWORD PTR SS:[EBP-38]
004CE131    33D2            XOR EDX,EDX
004CE133  - E9 C804F8FF     JMP 0044E600
004CE138    55              PUSH EBP
004CE139    8BEC            MOV EBP,ESP
004CE13B    83EC 08         SUB ESP,8
004CE13E    33C9            XOR ECX,ECX
004CE140    8A4D 08         MOV CL,BYTE PTR SS:[EBP+8]
004CE143    6BC9 24         IMUL ECX,ECX,24
004CE146    81C1 502C4B00   ADD ECX,004B2C50
004CE14C    894D FC         MOV DWORD PTR SS:[EBP-4],ECX
004CE14F    33C0            XOR EAX,EAX
004CE151    8A45 08         MOV AL,BYTE PTR SS:[EBP+8]
004CE154    05 00F04C00     ADD EAX,004CF000 ;即上面的4CF000
004CE159    8A10            MOV DL,BYTE PTR DS:[EAX]
004CE15B    84D2            TEST DL,DL
004CE15D    75 49           JNZ SHORT 004CE1A8
004CE15F    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
004CE162    E8 0915F9FF     CALL 0045F670
004CE167    6BC0 48         IMUL EAX,EAX,48
004CE16A    05 681B4A00     ADD EAX,004A1B68 ;根据你的EXE,如果是新引擎是00D60000
004CE16F    8BC8            MOV ECX,EAX
004CE171    8A41 2B         MOV AL,BYTE PTR DS:[ECX+2B]
004CE174    3C 2E           CMP AL,40             ;兵种编号,修改为你想要的
004CE176    74 0B           JE SHORT 004CE183
004CE178    6A 40           PUSH 40               ;宝物特效编号,修改为你想要的
004CE17A    E8 8A98F3FF     CALL 00407A09
004CE17F    85C0            TEST EAX,EAX
004CE181    74 25           JE SHORT 004CE1A8
004CE183    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]
004CE186    6A 06           PUSH 6
004CE188    E8 0385F3FF     CALL 00406690
004CE18D    8B09            MOV ECX,DWORD PTR DS:[ECX]
004CE18F    51              PUSH ECX
004CE190    E8 4103F7FF     CALL 0043E4D6
004CE195    68 88000000     PUSH 88
004CE19A    6A 06           PUSH 6
004CE19C    50              PUSH EAX
004CE19D    E8 FD04F7FF     CALL 0043E69F
004CE1A2    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE1A5    C601 FF         MOV BYTE PTR DS:[ECX],0FF
004CE1A8    8BE5            MOV ESP,EBP
004CE1AA    5D              POP EBP
004CE1AB    C3              RETN



但改出来后的二次移动是存在BUG(第一次行动后,未再移动,可参与围攻),star帮我修改过,具体怎么改,就不清楚啦。
顶部
性别:男-离线 冰麒麟
(罪恶美)


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


发表于 2012-8-8 19:09 资料 文集 短消息 看全部作者
回复 #8 jiang333san 的帖子

如果真没大影响,我就没必要改啦。这是测试过程中遇到,可以利用这个快速全体移动。

武将间是存在移动力差距,但实战中,大部分是集体作战。移动力最高的人,也不能单枪先去应敌。
移动力大的人少跑一两步换来的是其他人都可以多跑一次。

可能你还不太清楚具体的应用。

举个例:某关设置大批敌人贴身紧追我军,敌军在地图第一排,我军在地图第二排,敌军全部加速状态。敌军所有人移动力为9,我军所有人移动力为5,而如果这个二次行动的宝物是通用的辅助的话。即我军移动力为10。我军先动,敌军就只能在后面吃尘了。

利用这个BUG(我已经认为是BUG了),很多涉及移动的关卡设计,都可以被取巧打过去。

[ 本帖最后由 冰麒麟 于 2012-8-8 19:11 编辑 ]
顶部

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




当前时区 GMT+8, 现在时间是 2024-11-23 11:52
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

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

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