标题:
【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