标题: 诚征新特效,你说想法我来实现, 停止更新
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2009-5-14 22:12 资料 短消息 看全部作者


QUOTE:
原帖由 蛇夫座 于 2009-5-6 06:58 发表
楼主帮我看下吧。(地址有部分跟楼主原先贴出不完全相同,请回车键查看吧)

楼主:有个字节输错了.我帮你改过来了.
游戏过程中到也正常,但一保存后,再重新读出玩,就发现受控的人怎么也不会再变回为敌人.


附件: [EKD] Ekd5.rar (2009-5-14 22:12, 208.79 K)
该附件被下载次数 92


顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2009-5-14 22:22 资料 短消息 看全部作者
回复 #95 norton 的帖子

我把原作者的代码贴上,看有办法解除BUG不.

诱惑法术的修改,可控制敌军一定回合

修改处一.
0044A4C9     MOV BYTE PTR SS:[EBP-8],7F

修改处二.
00406710  /$  55            PUSH EBP
00406711  |.  8BEC          MOV EBP,ESP
00406713      33D2          XOR EDX,EDX
00406715      8A51 05       MOV DL,BYTE PTR DS:[ECX+5]
00406718      80FA 03       CMP DL,3
0040671B      75 02         JNZ SHORT aTest.0040671F
0040671D      B2 00         MOV DL,0
0040671F      33C0          XOR EAX,EAX
00406721      83FA 02       CMP EDX,2
00406724      0F9CC0        SETL AL
00406727  |.  8BE5          MOV ESP,EBP
00406729  |.  5D            POP EBP
0040672A  \.  C3            RETN

修改处三
0044E636     CMP DWORD PTR SS:[EBP-34], 73 ;本来只检查前23人中的可控制人员.改为全部检查

修改处四
0044EDE8  |> \C645 FC 00    MOV BYTE PTR SS:[EBP-4],0
0044EDEC  |.  EB 08         JMP SHORT aTest.0044EDF6
0044EDEE      8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
0044EDF1      04 01         ADD AL,1
0044EDF3      8845 FC       MOV BYTE PTR SS:[EBP-4],AL
0044EDF6      8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
0044EDF9      81E1 FF000000 AND ECX,0FF
0044EDFF      83F9 73       CMP ECX,73   ;原为23
0044EE02      7D 30         JGE SHORT aTest.0044EE34
0044EE04      6BC9 24       IMUL ECX,ECX,24
0044EE07      81C1 502C4B00 ADD ECX,aTest.004B2C50
0044EE0D      8079 05 02    CMP BYTE PTR DS:[ECX+5],2
0044EE11      74 1F         JE SHORT aTest.0044EE32 ;若是敌军,则跳走不处理.
0044EE13      90            NOP
0044EE14      90            NOP
0044EE15      90            NOP
0044EE16  |.  E8 BBD9FEFF   |CALL aTest.0043C7D6
0044EE1B  |.  8B4D FC       |MOV ECX,DWORD PTR SS:[EBP-4]
0044EE1E  |.  81E1 FF000000 |AND ECX,0FF
0044EE24  |.  6BC9 24       |IMUL ECX,ECX,24
0044EE27  |.  81C1 502C4B00 |ADD ECX,aTest.004B2C50
0044EE2D  |.  E8 43DBFEFF   |CALL aTest.0043C975
0044EE32  |.^ EB BA         \JMP SHORT aTest.0044EDEE

修改处五 .去除诱惑法术的攻击性
00440757  |.  E8 4EB8FFFF   CALL ATest1.0043BFAA                    
0044075C      807D 10 14    CMP BYTE PTR SS:[EBP+10],14  ;判断是否为诱惑
00440760      75 02         JNZ SHORT ATest1.00440764
00440762      33C0          XOR EAX,EAX    ;如果是伤害清零.
00440764      8945 E8       MOV DWORD PTR SS:[EBP-18],EAX
00440767      6A 02         PUSH 2
00440769      8B45 D8       MOV EAX,DWORD PTR SS:[EBP-28]
0044076C      8B48 10       MOV ECX,DWORD PTR DS:[EAX+10]
0044076F      2B4D E8       SUB ECX,DWORD PTR SS:[EBP-18]
00440772      51            PUSH ECX
00440773      FF70 10       PUSH DWORD PTR DS:[EAX+10]
00440776      3E:FF75 F0    PUSH DWORD PTR DS:[EBP-10]
0044077A      8345 EC 14    ADD DWORD PTR SS:[EBP-14],14
0044077E      90            NOP
0044077F  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]   

修改处六   
0043C7F6       jmp 004CE201  ;跳到新位置进行武将是否摆脱诱惑的处理.
新位置代码
004CE201    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]             ; 武将战场内存索引
004CE204    33D2            XOR EDX,EDX
004CE206    8A51 04         MOV DL,BYTE PTR DS:[ECX+4]               
004CE209    8A82 00F14C00   MOV AL,BYTE PTR DS:[EDX+4CF100]  ; 诱惑状态,为0表示正常,否则就是将在哪回合摆脱诱惑
004CE20F    3C 00           CMP AL,0
004CE211    74 31           JE SHORT aTest.004CE244                  
004CE213    3805 0A3D4B00   CMP BYTE PTR DS:[4B3D0A],AL            
004CE219    72 29           JB SHORT aTest.004CE244                  
004CE21B    C682 00F14C00 0>MOV BYTE PTR DS:[EDX+4CF100],0           ; 标记清零
004CE222    C641 05 02      MOV BYTE PTR DS:[ECX+5],2               
004CE226    C641 0E 01      MOV BYTE PTR DS:[ECX+E],1               
004CE22A    68 88000000     PUSH 88
004CE22F    6A 06           PUSH 6
004CE231    52              PUSH EDX
004CE232    E8 6804F7FF     CALL aTest.0043E69F   
004CE237    83C4 0C         ADD ESP,0C
004CE23A    B9 083D4B00     MOV ECX,aTest.004B3D08   
004CE23F    E8 46C6F7FF     CALL aTest.0044A88A   
004CE244    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE247    E8 E4FDF4FF     CALL aTest.0041E030
004CE24C  - E9 ADE5F6FF     JMP aTest.0043C7FE   ;跳回去原代码处.

修改处七
0042323F  |.  E8 668D0100   |CALL ATest1.0043BFAA                    ; \ATest1.0043BFAA
00423244      8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
00423247      81E1 FF000000 AND ECX,0FF
0042324D      8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
00423250      89848A 840000>MOV DWORD PTR DS:[EDX+ECX*4+84],EAX
00423257      83F8 00       CMP EAX,0
0042325A    - 0F85 A0AD0A00 JNZ 004CE251 ;如果伤害值不为0表示攻击成功.跳到新代码处进行处理
00423260      90            NOP
00423261      90            NOP
00423262      90            NOP
00423263      90            NOP
00423264      90            NOP
00423265      90            NOP
00423266      90            NOP
00423267      90            NOP
00423268      90            NOP
00423269      90            NOP
0042326A      90            NOP
0042326B      90            NOP
0042326C      8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]

新位置代码
004CE251    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
004CE254    8A10            MOV DL,BYTE PTR DS:[EAX]                 ; 法术编号
004CE256    80FA 14         CMP DL,14
004CE259  - 0F85 2350F5FF   JNZ ATest1.00423282                      ; 若不是诱惑则跳回原处
004CE25F    33C9            XOR ECX,ECX
004CE261    8A48 0C         MOV CL,BYTE PTR DS:[EAX+C]
004CE264    6BC9 24         IMUL ECX,ECX,24
004CE267    81C1 502C4B00   ADD ECX,ATest1.004B2C50                  ; 被攻方内存索引
004CE26D    8B01            MOV EAX,DWORD PTR DS:[ECX]               
004CE26F    66:3B05 966C490>CMP AX,WORD PTR DS:[496C96]           
004CE276    75 1B           JNZ SHORT ATest1.004CE293               
004CE278    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; 如果是敌主将,那么伤害值清零.并跳转到原攻击失败代码处
004CE27B    25 FF000000     AND EAX,0FF
004CE280    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE283    C78481 84000000>MOV DWORD PTR DS:[ECX+EAX*4+84],0        ; 伤害清0
004CE28E  - E9 D94FF5FF     JMP ATest1.0042326C                      ; 跳到原攻击失败代码处
004CE293    8079 05 02      CMP BYTE PTR DS:[ECX+5],2
004CE297  ^ 72 DF           JB SHORT ATest1.004CE278                 ; 若为我军和友军,也是攻击失败
004CE299    33D2            XOR EDX,EDX
004CE29B    8A51 04         MOV DL,BYTE PTR DS:[ECX+4]
004CE29E    80BA 00F14C00 0>CMP BYTE PTR DS:[EDX+4CF100],0           ; 正常状态是0.若不是0,则为摆脱诱惑的回合数
004CE2A5  ^ 75 D1           JNZ SHORT ATest1.004CE278                ; 如果当前已被诱惑,则攻击失败
004CE2A7    C641 05 03      MOV BYTE PTR DS:[ECX+5],3                ; 下面是成功的处理. 部队属性改为3
004CE2AB    C641 0E 07      MOV BYTE PTR DS:[ECX+E],7                ; 可受我方控制
004CE2AF    A0 0A3D4B00     MOV AL,BYTE PTR DS:[4B3D0A]              ; 当前回合数
004CE2B4    04 02           ADD AL,2                                 ; 两回合后摆脱诱惑
004CE2B6    8882 00F14C00   MOV BYTE PTR DS:[EDX+4CF100],AL
004CE2BC    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
004CE2BF    25 FF000000     AND EAX,0FF
004CE2C4    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE2C7    C78481 84000000>MOV DWORD PTR DS:[ECX+EAX*4+84],0        ; 伤害值归0,因为现在的诱惑不是伤害性法术了
004CE2D2  - E9 AB4FF5FF     JMP ATest1.00423282                      ; 则回原处

[ 本帖最后由 norton 于 2009-5-15 09:29 编辑 ]


附件: [全部代码] 特效.rar (2009-5-15 09:29, 16.72 K)
该附件被下载次数 198


顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2009-5-15 10:09 资料 短消息 看全部作者
回复 #98 majiming 的帖子

我的是旧引擎,无法操作内存数据.看来只能用第1个方法.
可惜不会改.
顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2009-5-15 13:35 资料 短消息 看全部作者


QUOTE:
原帖由 majiming 于 2009-5-15 12:06 发表
作者原来贴了学会全部策略的代码,

不知仁兄还有没,方便的话,可以贴上来吗

见#96附件
顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2009-5-16 22:03 资料 短消息 看全部作者


QUOTE:
原帖由 majiming 于 2009-5-15 01:42 发表
492F90+变量号*4+38 = 就是指定变量的地址.每个变量四字节.

我已经修改成功, 玩起来感觉真不错,耳目一新,真佩服想出这个法术的牛人. 还有楼主的辛勤劳动.

能说下公式的来历吗?
顶部

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




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

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

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