奇迹私服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)
本文出自 7j45 > 奇迹一条龙