Board logo

标题: 6.2【装备破坏】 [打印本页]

作者: 59054695    时间: 2021-3-24 17:40     标题: 6.2【装备破坏】

物理攻击后,造成主目标的武器、防具等级-1,当等级降到0时,再受到攻击则武器防具消失。
此次代码添加了必杀效果

00406561  |.  E8 D6050000        CALL Ekd5.00406B3C

00412A40  /$  55                 PUSH EBP
00412A41  |.  8BEC               MOV EBP,ESP
00412A43  |.  51                 PUSH ECX
00412A44  |.  E8 F340FFFF        CALL Ekd5.00406B3C
00412A49  |.  8B4D FC            MOV ECX,DWORD PTR SS:[EBP-4]
00412A4C  |.  36:0FB601          MOVZX EAX,BYTE PTR SS:[ECX]
00412A50  |.  36:0FB651 01       MOVZX EDX,BYTE PTR SS:[ECX+1]
00412A55  |.  52                 PUSH EDX                                 ; /Arg2
00412A56  |.  50                 PUSH EAX                                 ; |Arg1
00412A57  |.  E8 04000000        CALL Ekd5.00412A60                       ; \Ekd5.00412A60
00412A5C  |.  8BE5               MOV ESP,EBP
00412A5E  |.  5D                 POP EBP
00412A5F  \.  C3                 RETN
00412A60  /$  55                 PUSH EBP
00412A61  |.  8BEC               MOV EBP,ESP
00412A63  |.  83EC 10            SUB ESP,10
00412A66  |.  894D FC            MOV DWORD PTR SS:[EBP-4],ECX
00412A69  |.  8B4D 08            MOV ECX,DWORD PTR SS:[EBP+8]
00412A6C  |.  E8 8837FFFF        CALL Ekd5.004061F9
00412A71  |.  894D F8            MOV DWORD PTR SS:[EBP-8],ECX
00412A74  |.  E8 163BFFFF        CALL Ekd5.0040658F
00412A79  |.  894D F4            MOV DWORD PTR SS:[EBP-C],ECX
00412A7C  |.  6A 01              PUSH 1                                   ; /Arg2 = 00000001 必杀特效号(默认【猛者】)
00412A7E  |.  FF35 9B0E5000      PUSH DWORD PTR DS:[500E9B]               ; |Arg1 = 00000000
00412A84  |.  E8 09390200        CALL Ekd5.00436392                       ; \Ekd5.00436392
00412A89  |.  85C0               TEST EAX,EAX
00412A8B  |.  75 14              JNZ SHORT Ekd5.00412AA1
00412A8D  |.  8B4D F4            MOV ECX,DWORD PTR SS:[EBP-C]
00412A90  |.  6A 01              PUSH 1                                   ; /Arg4 = 00000001
00412A92  |.  6A 01              PUSH 1                                   ; |Arg3 = 00000001
00412A94  |.  6A 48              PUSH 48                                  ; |Arg2 = 00000048 宝物号
00412A96  |.  6A 7F              PUSH 7F                                  ; |Arg1 = 0000007F 个人特效号
00412A98  |.  E8 3CD7FFFF        CALL Ekd5.004101D9                       ; \Ekd5.004101D9
00412A9D  |.  85C0               TEST EAX,EAX
00412A9F  |.  74 43              JE SHORT Ekd5.00412AE4
00412AA1  |>  8B4D 0C            MOV ECX,DWORD PTR SS:[EBP+C]
00412AA4  |.  E8 5037FFFF        CALL Ekd5.004061F9
00412AA9  |.  E8 E13AFFFF        CALL Ekd5.0040658F
00412AAE  |.  894D F0            MOV DWORD PTR SS:[EBP-10],ECX
00412AB1  |.  8B4D F0            MOV ECX,DWORD PTR SS:[EBP-10]
00412AB4  |.  8079 2F 00         CMP BYTE PTR DS:[ECX+2F],0
00412AB8  |.  75 0A              JNZ SHORT Ekd5.00412AC4
00412ABA  |.  C641 2E FF         MOV BYTE PTR DS:[ECX+2E],0FF
00412ABE  |.  C641 30 00         MOV BYTE PTR DS:[ECX+30],0
00412AC2  |.  EB 04              JMP SHORT Ekd5.00412AC8
00412AC4  |>  8069 2F 01         SUB BYTE PTR DS:[ECX+2F],1
00412AC8  |>  C641 30 00         MOV BYTE PTR DS:[ECX+30],0
00412ACC  |.  8079 32 00         CMP BYTE PTR DS:[ECX+32],0
00412AD0  |.  75 0A              JNZ SHORT Ekd5.00412ADC
00412AD2  |.  C641 31 FF         MOV BYTE PTR DS:[ECX+31],0FF
00412AD6  |.  C641 33 00         MOV BYTE PTR DS:[ECX+33],0
00412ADA  |.  EB 04              JMP SHORT Ekd5.00412AE0
00412ADC  |>  8069 32 01         SUB BYTE PTR DS:[ECX+32],1
00412AE0  |>  C641 33 00         MOV BYTE PTR DS:[ECX+33],0
00412AE4  |>  8BE5               MOV ESP,EBP
00412AE6  |.  5D                 POP EBP
00412AE7  \.  C2 0800            RETN 8

[ 本帖最后由 59054695 于 2021-3-24 17:41 编辑 ]
作者: whh    时间: 2021-3-24 18:31

如果想改成装备经验-1可以吗?该怎么操作呢?

如果把宝物特效号设置成01,是不是变相实现了装备耐久?


[ 本帖最后由 whh 于 2021-3-24 23:15 编辑 ]

图片附件: 装备类型.png (2021-3-24 23:14, 301.09 K) / 该附件被下载次数 46
http://xycq.org.cn/forum/attachment.php?aid=148669


作者: 天道圣君    时间: 2021-3-25 19:06

如果想改成无视等级直接破坏要怎么改呢
作者: zhoufangzun    时间: 2021-3-30 05:59



QUOTE:
原帖由 whh 于 2021-3-24 18:31 发表
如果想改成装备经验-1可以吗?该怎么操作呢?

如果把宝物特效号设置成01,是不是变相实现了装备耐久?


装备等级破坏:
00412ABA  |.  C641 2E FF         MOV BYTE PTR DS:[ECX+2E],0FF (2E 武器编号)武器消失的原理就是武器变为0ff,就是变为没有的武器,所以消失了。改为00412AD2  |.  C641 31 FF         MOV BYTE PTR DS:[ECX+2f],0(武器不消失)
00412ABE  |.  C641 30 00         MOV BYTE PTR DS:[ECX+30],0     (30 武器经验)
00412AC2  |.  EB 04              JMP SHORT Ekd5.00412AC8
00412AC4  |>  8069 2F 01         SUB BYTE PTR DS:[ECX+2F],1     (2f 武器等级)  
00412AC8  |>  C641 30 00         MOV BYTE PTR DS:[ECX+30],0    (30 武器经验)
00412ACC  |.  8079 32 00         CMP BYTE PTR DS:[ECX+32],0      (32 防具等级)
00412AD0  |.  75 0A              JNZ SHORT Ekd5.00412ADC
00412AD2  |.  C641 31 FF         MOV BYTE PTR DS:[ECX+31],0FF (31 防具编号)防具消失的原理就是防具变为0ff,就是变为没有的防具,所以消失了。改为00412AD2  |.  C641 31 FF         MOV BYTE PTR DS:[ECX+32],0(防具不消失)
00412AD6  |.  C641 33 00         MOV BYTE PTR DS:[ECX+33],0    (33 防具经验)
00412ADA  |.  EB 04              JMP SHORT Ekd5.00412AE0
00412ADC  |>  8069 32 01         SUB BYTE PTR DS:[ECX+32],1    (32 防具等级)
00412AE0  |>  C641 33 00         MOV BYTE PTR DS:[ECX+33],0    (33 防具经验)

至于经验-1比较难实现,因为是固定降低经验为某个数值的,这里30和33的经验变为0,改为1则变为1。


[ 本帖最后由 zhoufangzun 于 2021-3-30 06:00 编辑 ]




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0