轩辕春秋文化论坛 » 曹操传MOD制作交流 » 用UE修改,增加一个能力档应该怎么改?


2011-5-22 18:54 追月流星
用UE修改,增加一个能力档应该怎么改?

90以上+4
70以上+3
50以上+2
50以下+1



现在是这样

增加一个D,为S+5、A+4、B+3、C+2、D+1  这个怎么改

[color=Silver][[i] 本帖最后由 追月流星 于 2011-5-23 23:33 编辑 [/i]][/color]

2011-5-22 19:40 WHITESHIP
[url]http://www.xycq.net/forum/viewthread.php?tid=167783&highlight=[/url]

请看此帖。

2011-5-23 02:41 wbcj
那一堆代码如何看的懂?
请楼上给楼主稍微解释一下,能不能的言简意赅的介绍一下,让我们这些不是特别懂程序的小白们学习一下。

2011-5-23 14:08 WHITESHIP
呃……这个,STAR其实已经讲的很细了。

[color=Red]0040736D  |.  3C 32            CMP AL,32                         ;  50×2=100
0040736F  |.  7C 04            JL SHORT Ekd5.00407375
00407371      B0 06            MOV AL,6
00407373  |.  EB 29            JMP SHORT Ekd5.0040739E[/color]
[color=Blue]00407375  |>  3C 2D            CMP AL,2D                         ;  45×2=90
00407377  |.  7C 04            JL SHORT Ekd5.0040737D
00407379      B0 05            MOV AL,5
0040737B  |.  EB 21            JMP SHORT Ekd5.0040739E[/color]
[color=Green]0040737D  |>  3C 28            CMP AL,28                         ;  40×2=80
0040737F  |.  7C 04            JL SHORT Ekd5.00407385
00407381      B0 04            MOV AL,4
00407383  |.  EB 19            JMP SHORT Ekd5.0040739E
00407385  |>  3C 23            CMP AL,23                         ;  35×2=70
00407387  |.  7C 04            JL SHORT Ekd5.0040738D
00407389      B0 03            MOV AL,3
0040738B  |.  EB 11            JMP SHORT Ekd5.0040739E
0040738D      3C 1E            CMP AL,1E                         ;  30×2=60
0040738F      7C 04            JL SHORT Ekd5.00407395
00407391      B0 02            MOV AL,2
00407393      EB 09            JMP SHORT Ekd5.0040739E
00407395      B0 01            MOV AL,1  [/color]               

在16进制里,32就是十进制的50,所以cmp al,32就是检测五围是否大于等于50,也就是是否大于等于游戏里显示的100(因为游戏里显示的五围是X2了的)。

同理 28=十进制的40,23=35,1E=30.2D=45,可以自己打开WIN自带的计算器换算。

红字是STAR新添加的(五围100时,增加的X档);
蓝字是S档,绿字是A,B,C档,是EXE里原有的。

1.打开OLLYDBG,把蓝字和绿字这两段用“二进制复制”COPY一遍,
2.再把蓝字部分改成红字部分,
3.然后选取所有的绿字部分(记住还要复制绿字后面的一堆空白),“二进制粘贴”,就可以了。
(其意义就是,把S,A,B,C四档的代码复制,再把S档改成X档,然后把A档开始复制,A档就变成了S档,以此类推,最后面空出来空白成为C档。)

但记住,注意绿字下面是不是空白(也就是一堆显示“INT3”的代码),如果不是,那么就比较复杂了,不能按上面的方法,要用一个跳转。

我大概就是说明一下基本的用法,我也不会用汇编……建议看毅大的教学贴,可能可以明白一些。

2011-5-23 23:33 追月流星
[quote]原帖由 [i]WHITESHIP[/i] 于 2011-5-23 14:08 发表
呃……这个,STAR其实已经讲的很细了。

0040736D  |.  3C 32            CMP AL,32                         ;  50×2=100
0040736F  |.  7C 04            JL SHORT Ekd5.00407375
00407371      B0 06  ... [/quote]





这个我看着就像看火星文一样啊,UE怎么改呢

2011-5-24 10:50 3853980
这个我看着就像看火星文一样啊:hz1007:,跟偶一样

2011-5-24 12:01 WHITESHIP
回复 #5 追月流星 的帖子

………………= =

0040736D  |.  3C 32            CMP AL,32                         ;  50×2=100

这里 左边的那个 3C 32 就是UE里对应的码,然后可以按照置顶雪芸教程来找位置,然后把上面逐条UE码替换就是了
= =

俺也只能说得这么清楚了……因为其实改这个,OD比UE要好用。只是LZ缺乏基础的话,建议先从些简单的改起…………

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.