Board logo

标题: 【6.5】增加能力档位 [打印本页]

作者: 洛公子    时间: 2024-3-7 20:52     标题: 【6.5】增加能力档位

做个记录,防备以后移植
作者: 洛公子    时间: 2024-3-7 21:02

CPU Disasm
地址        十六进制数据                        汇编代码                                                   
004748F0  /$  55                        push ebp                                                
004748F1  |.  8BEC                      mov ebp,esp
004748F3  |.  8B45 08                   mov eax,dword ptr [ebp+8]
004748F6  |.  3C 04                     cmp al,4
004748F8  |.  77 60                     ja short 0047495A
004748FA  |.  8A4408 21                 mov al,byte ptr [ecx+eax+21]
004748FE  |.  3C 7F                     cmp al,7F                                               7F=127(12档能力)
00474900  |.  7C 04                     jl short 00474906
00474902  |.  B0 0C                     mov al,0C                                               0C=12
00474904  |.  EB 56                     jmp short 0047495C
00474906  |>  3C 7E                     cmp al,7E                                              7E=126(11档能力)
00474908  |.  7C 04                     jl short 0047490E
0047490A  |.  B0 0B                     mov al,0B                                               0B=11
0047490C  |.  EB 4E                     jmp short 0047495C
0047490E  |>  3C 7D                     cmp al,7D                                             7D=125(10档能力)
00474910  |.  7C 04                     jl short 00474916
00474912  |.  B0 0A                     mov al,0A                                               0A=10
00474914  |.  EB 46                     jmp short 0047495C
00474916  |>  3C 78                     cmp al,78                                              78=120(9档能力)
00474918  |.  7C 04                     jl short 0047491E
0047491A  |.  B0 09                     mov al,9                                                
0047491C  |.  EB 3E                     jmp short 0047495C
0047491E  |>  3C 73                     cmp al,73                                              73=115(8档能力)
00474920  |.  7C 04                     jl short 00474926
00474922  |.  B0 08                     mov al,8                                                
00474924  |.  EB 36                     jmp short 0047495C
00474926  |>  3C 6E                     cmp al,6E                                              6E=110(7档能力)
00474928  |.  7C 04                     jl short 0047492E
0047492A  |.  B0 07                     mov al,7                                                
0047492C  |.  EB 2E                     jmp short 0047495C
0047492E  |>  3C 69                     cmp al,69                                              69=105(6档能力)
00474930  |.  7C 04                     jl short 00474936
00474932  |.  B0 06                     mov al,6                                               
00474934  |.  EB 26                     jmp short 0047495C
00474936  |>  3C 64                     cmp al,64                                              64=100(5档能力)
00474938  |.  7C 04                     jl short 0047493E
0047493A  |.  B0 05                     mov al,5                                               
0047493C  |.  EB 1E                     jmp short 0047495C
0047493E  |>  3C 5A                     cmp al,5A                                              5A=90(4档能力)
00474940  |.  7C 04                     jl short 00474946
00474942  |.  B0 04                     mov al,4                                                
00474944  |.  EB 16                     jmp short 0047495C
00474946  |>  3C 50                     cmp al,50                                              50=80(3档能力)
00474948  |.  7C 04                     jl short 0047494E
0047494A  |.  B0 03                     mov al,3                                               
0047494C  |.  EB 0E                     jmp short 0047495C
0047494E  |>  3C 46                     cmp al,46                                              46=70(2档能力)
00474950  |.  74 04                     je short 00474956
00474952  |.  B0 02                     mov al,2
00474954  |.  EB 06                     jmp short 0047495C
00474956  |>  B0 01                     mov al,1                                                
0047495A  |>  33C0                      xor eax,eax
0047495C  |>  5D                        pop ebp
0047495D  \.  C2 0400                   retn 4
00474960      90                        nop
00474961   .  9B494700                  dd 0047499B
00474965   .  9D494700                  dd 0047499D
00474969   .  9F494700                  dd 0047499F
0047496D   .  A1494700                  dd 004749A1
00474971   .  A3494700                  dd 004749A3
00474975   .  A5494700                  dd 004749A5
00474979   .  A7494700                  dd 004749A7
0047497D   .  A9494700                  dd 004749A9
00474981   .  AB494700                  dd 004749AB
00474985   .  AD494700                  dd 004749AD
00474989   .  AF494700                  dd 004749AF                                             
0047498D   .  B2494700                  dd 004749B2                                             
00474991   .  B5494700                  dd 004749B5                                            
00474995      90                        nop
00474996      90                        nop
00474997      90                        nop
00474998      90                        nop
00474999      90                        nop
0047499A      90                        nop
0047499B      30                        db 30                                                   ; char '0'
0047499C      00                        db 00
0047499D      31                        db 31                                                   ; char '1'
0047499E      00                        db 00
0047499F      32                        db 32                                                   ; char '2'
004749A0      00                        db 00
004749A1      33                        db 33                                                   ; char '3'
004749A2      00                        db 00
004749A3      34                        db 34                                                   ; char '4'
004749A4      00                        db 00
004749A5      35                        db 35                                                   ; char '5'
004749A6      00                        db 00
004749A7      36                        db 36                                                   ; char '6'
004749A8      00                        db 00
004749A9      37                        db 37                                                   ; char '7'
004749AA      00                        db 00
004749AB      38                        db 38                                                   ; char '8'
004749AC      00                        db 00
004749AD      39                        db 39                                                   ; char '9'
004749AE      00                        db 00
004749AF      31                        db 31                                                   ; char '1'
004749B0      30                        db 30                                                   ; char '0'
004749B1      00                        db 00
004749B2      31                        db 31                                                   ; char '1'
004749B3      31                        db 31                                                   ; char '1'
004749B4      00                        db 00
004749B5      31                        db 31                                                   ; char '1'
004749B6      32                        db 32                                                   ; char '2'
004749B7      00                        db 00

004748F0

55 8B EC 8B 45 08 3C 04 77 60 8A 44 08 21 3C 7F
7C 04 B0 0C EB 56 3C 7E 7C 04 B0 0B EB 4E 3C 7D
7C 04 B0 0A EB 46 3C 78 7C 04 B0 09 EB 3E 3C 73
7C 04 B0 08 EB 36 3C 6E 7C 04 B0 07 EB 2E 3C 69
7C 04 B0 06 EB 26 3C 64 7C 04 B0 05 EB 1E 3C 5A
7C 04 B0 04 EB 16 3C 50 7C 04 B0 03 EB 0E 3C 46
74 04 B0 02 EB 06 B0 01 EB 02 33 C0 5D C2 04 00
90 9B 49 47 00 9D 49 47 00 9F 49 47 00 A1 49 47
00 A3 49 47 00 A5 49 47 00 A7 49 47 00 A9 49 47
00 AB 49 47 00 AD 49 47 00 AF 49 47 00 B2 49 47
00 B5 49 47 00 90 90 90 90 90 90 30 00 31 00 32
00 33 00 34 00 35 00 36 00 37 00 38 00 39 00 31
30 00 31 31 00 31 32 00

以上为能力函数,英雄录是12档127封顶,绝大多数MOD用不了这么多,一般也就是6-7档用到111

CPU Disasm
地址 十六进制数据 汇编代码 注释

00407461 E8 8AD40600 call 004748F0

00407D48 E8 A3CB0600 call 004748F0

00408B28 E8 C3BD0600 call 004748F0

00436E32 E8 B9DA0300 call 004748F0

004781F3 E8 F8C6FFFF call 004748F0


五个call改到自己写的能力函数位置


CPU Disasm


地址 十六进制数据 汇编代码 注释


00406CB4 3C 0D cmp al,0D


00406CB6 |. 72 02 jb short 00406CBA


00406CB8 B0 0C mov al,0C




3C 0D 72 02 B0 0C


封顶设置,0D就是13,0C就是12,你的mod设置了X个档位就第一个写X+1,第二个写X


CPU Disasm


地址 十六进制数据 汇编代码 注释


00478205 BA 61494700 mov edx,00474961


档位显示,改到你自己写的位置,英雄录是用数字1-12表示的,想要几个档位留下几个


[ 本帖最后由 洛公子 于 2024-3-7 21:06 编辑 ]
作者: Einhart28    时间: 2024-8-2 18:02

6.5纯净版5档,40732C开始到407674都被占住了,怎么办呀
作者: 洛公子    时间: 2024-8-3 14:39     标题: 回复 #3 Einhart28 的帖子

自己找个空白位置写004748F0的代码,改一下call和mov edx,的位置就行
作者: Einhart28    时间: 2024-8-3 19:05






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