用户登录  | 
首 页技术文章软件发布广告价格
当前位置:传奇游戏服务端下载站传奇站长论坛资源网站程序技术文章文章资讯传奇架设教程传奇架设技术

NPC加血加魔的UE修改方法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2014-10-03 14:36:29
副题:转生人物实现HP'=HP+HP/10+1和MP'=MP+MP/10+1




两个地方需要需要修改



1部分:
原来:004C0A92 668B80C8010000
替换:004C0A92 E829BC0400 call 0050C6C0
004C0A97 90 nop
004C0A98 90 nop
解释:
在:004C0A92加了一个CALL--子程序(实现HP'=HP+HP/10+1和MP'=MP+MP/10+1的)
为什么加在这里呢??? 而不能加在其他地方, 这个是关键 :)
我的基础一般,所以就这样大概说一下:



~~~~~~~~~~~~~~这里省略N个字节~~~~~~~~~
:004C0A59 8B45FC mov eax, dword ptr [ebp-04]
:004C0A5C 668B4044 mov ax, word ptr [eax+44]
:004C0A60 8B55FC mov edx, dword ptr [ebp-04]
:004C0A63 660382C0010000 add ax, word ptr [edx+000001C0]
:004C0A6A 8B55FC mov edx, dword ptr [ebp-04]
:004C0A6D 668982A8010000 mov word ptr [edx+000001A8], ax --- HP
:004C0A74 8B45FC mov eax, dword ptr [ebp-04]
:004C0A77 668B4046 mov ax, word ptr [eax+46]
:004C0A7B 8B55FC mov edx, dword ptr [ebp-04]
:004C0A7E 660382C2010000 add ax, word ptr [edx+000001C2]
:004C0A85 8B55FC mov edx, dword ptr [ebp-04]
:004C0A88 668982AA010000 mov word ptr [edx+000001AA], ax --- MP
:004C0A8F 8B45FC mov eax, dword ptr [ebp-04] ---
我估计上面是读人物数据HP,MP的,
原来不改的M2在这段代码后面还有很多因素影响HP和MP......
所以就在这里加,偶基础差,也没时间去学分析,有的话,我相信自己的能力。
马马乎乎测试了一下,带"魔血类","护身"的,吃苹果....都很正常~~~
:004C0A92 E829BC0400 call 0050C6C0 --- (就是下面的代码)
:004C0A97 90 nop
:004C0A98 90 nop



2部分:(实现HP'=HP+HP/10+1和MP'=MP+MP/10+1的CALL,已经发过相关详细的帖子,就简单说一下)
0050C6C0-80783501 cmp byte ptr [eax+35],01 --- 转生判断
0050C6C4-754A JNE 0050C710 --- 未转,跳正常
0050C6C6-8B45FC mov eax, dword ptr [ebp-04]
0050C6C9-0FB780A8010000 movzx eax, word ptr [eax+1A8]
0050C6D0-B90A000000 mov ecx, 0000000A --- HP的被除数,变量,可以自己定,这里是16进制0A(既10)
0050C6D5-33D2 xor edx, edx
0050C6D7-F7F1 div ecx
0050C6D9-40 inc eax
0050C6DA-8945D0 mov dword ptr [ebp-30], eax
0050C6DD-8B45FC mov eax, dword ptr [ebp-04]


0050C6E0-668B55D0 mov dx, word ptr [ebp-30] --- 这里[ebp-30]作临时寄存器,可多次调用(猫猫教的)
0050C6E4-660190A8010000 add word ptr [eax+1A8], dx --- 以上完成:HP'=HP+HP/10+1,如:转生了的46级武士,HP'=856+856/10+1=942 (856/10运算只取商,余数不要), MP的忘记原来是多少,反正不会错
0050C6EB-8B45FC mov eax, dword ptr [ebp-04] MP的,同上~~~~~~~~
0050C6EE-0FB780AA010000 movzx eax, word ptr [eax+1AA]
0050C6F5-B90A000000 mov ecx, 0000000A
0050C6FA-33D2 xor edx, edx
0050C6FC-F7F1 div ecx
0050C6FE-40 inc eax
0050C6FF-8945D0 mov dword ptr [ebp-30], eax
0050C702-8B45FC mov eax, dword ptr [ebp-04]
0050C705-668B55D0 mov dx, word ptr [ebp-30] --- 这里[ebp-30]作临时寄存器
0050C709-660190AA010000 add word ptr [eax+1AA], dx --- 以上HP段以后的完成了:MP'=MP+MP/10+1
0050C710-8B45FC mov eax, dword ptr [ebp-04]
0050C713-668B80C8010000 mov ax, word ptr [eax+1C8]
0050C71A-C3 RET --- 返回



UE:
1:(OFFSET:004C0A6A)
查找:668B80C8010000
替换:E829BC04009090


2:(OFFSET:0106AC0)
查找:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
替换:80783501754A8B45FC0FB780A8010000B90A00000033D2F7F1408945D08B45FC668B55D0660190A80100008B45FC0FB780AA010000B90A00000033D2F7F1408945D08B45FC668B55D0660190AA0100008B45FC668B80C8010000C3

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
传奇资源网提供最新传奇开区一条龙版本下载,本站声明:只更新最新最好的传奇服务端分享给大家。