奇迹私服1.03[1.00.66 GS]400级以上经验计算及处理公式
找有空位的代码区汇编: MOV ECX,DWORD PTR SS:[EBP+8] MOVSX EDX,WORD PTR DS:[ECX+A6] MOV EAX,DWORD PTR DS:[ECX+B0] PUSH EDX PUSH EAX PUSH ECX CALL 函数接口地址 TSET EAX,0 JE SHORT 004E955E // 跳到处理升级经验 MOV ECX,DWORD PTR SS:[EBP+8] MOV DWORD PTR DS:[ECX+B0],EAX // 传送函数返回值到经验 JMP 004E9536 // 跳回去继续处理 |
易语言安装接口代码: 安装接口 (函数接口地址, 取子程指针 (&处理角色提升经验, 真), { 232 }, { 144, 144, 144, 144, 144 }, 真) |
处理升级经验函数: .子程序 处理角色提升经验, 整数型 .参数 句组, 整数型, , MOV EDX,DWORD PTR SS:[EBP+8] .参数 经验, 整数型, , MOV ECX,DWORD PTR DS:[EAX+B0] .参数 等级, 整数型, , MOVSX EDX,WORD PTR DS:[ECX+A6] .局部变量 EAX, 整数型 .局部变量 Nlvl, 整数型 .局部变量 Lvlup, 长整数型 EAX = 0 .如果真 (句组 ≠ 0) Nlvl = 等级 + 1 .判断开始 (Nlvl ≤ 255) Lvlup = (Nlvl + 9) × Nlvl × Nlvl × 10 .判断 (Nlvl > 255) Lvlup = (Nlvl - 255 + 9) × (Nlvl - 255) × (Nlvl - 255) × 1000 + (Nlvl + 9) × Nlvl × Nlvl × 10 .默认 返回 (EAX) .判断结束 .判断开始 (Lvlup ≥ 经验) EAX = Lvlup .默认 EAX = 0 .判断结束 .如果真结束 返回 (EAX) |