刚才研究下升段问题,发现千年的升段成功率居然就是单单一个简单的随机函数.
反汇编:
织梦内容管理系统
01.//比较装备的最高可升级段数 织梦内容管理系统
02.MOV AL,BYTE PTR SS:[EBP-2F9] 内容来自dedecms
03.SUB AL,3 织梦内容管理系统
04.JE G3:
05.DEC AL
织梦内容管理系统
06.JE G4:
dedecms.com
07.JMP End 本文来自织梦
08.G3: dedecms.com
09.//如果最高为3段,基础成功率采用 SuccessRate copyright dedecms
10.MOV DX,WORD PTR SS:[EBP-6] 织梦内容管理系统
11.CALL GetSuccessRate dedecms.com
12.MOV DWORD PTR SS:[EBP-C],EAX
13.G4:
14.//如果最高为4段,基础成功率采用 DungeonRate 本文来自织梦
15.MOV DX,WORD PTR SS:[EBP-6]
16.CALL GetDungeonRate
织梦好,好织梦
17.MOV DWORD PTR SS:[EBP-C],EAX 织梦内容管理系统
18.MOV EAX,DWORD PTR SS:[EBP-C] 织梦内容管理系统
19.IMUL DWORD PTR SS:[EBP+8] 织梦好,好织梦
20.MOV ECX,64
dedecms.com
21.CDQ
22.IDIV ECX
本文来自织梦
23.ADD EAX,DWORD PTR SS:[EBP-C] 内容来自dedecms
24.MOV DWORD PTR SS:[EBP-10],EAX 本文来自织梦
25.MOV EAX,64
26.CALL Random 织梦好,好织梦
27.MOV DWORD PTR SS:[EBP-14],EAX 本文来自织梦
28.MOV EAX,DWORD PTR SS:[EBP-14] 内容来自dedecms
29.CMP EAX,DWORD PTR SS:[EBP-10]
复制代码
翻译成代码大概就是:
var
//基础成功率
BaseRate : Integer;
//最终成功率
sRate : Integer;
i : Integer;
begin
AddRate := 60; //假设有一个梦幻生死丹 + 60%成功率
uGrade := 1; //假设将要升到的段数
if MaxUpgrade = 3 then begin
//取JobUpgrade.sdb的SuccessRate字段数值
BaseRate := GetSuccessRate(uGrade );
end else if MaxUpgrade = 4 then begin
//取JobUpgrade.sdb的DungeonRate字段数值
BaseRate := GetDungeonRate(uGrade );
end else BaseRate := 0;
//最高段不是3或4不能升级
if BaseRate = 0 then exit;
//计算附加的成功率
sRate := (BaseRate * AddRate) div 100 + BaseRate;
i := Random (100);
if i < sRate then begin
//升段成功
end else begin
//升段失败
dedecms.com
sRate := (BaseRate * AddRate) div 100 + BaseRate;
比如升1段默认成功率为 50
增加一个梦幻生死丹 + 60%
那么成功率就是 x := (50 * 60) div 100 + 50 = 80
1.76精品传奇_1.76天下毁灭_1.76复古传奇_英雄合击_中变靓装传奇_无忧传奇
传奇花屏补丁,花屏补丁,土城花屏补丁,盟重土城花屏补丁下载,土城花屏补丁下载,沙巴克花屏补丁,传奇土城花屏补丁下载
网站每天发布最新、最好的传奇版本下载和与传奇服务端配套开区传奇模版,网游技术教程全部免费下载!
无忧网络是目前唯一家所有的传奇服务端,传奇私服花屏补丁,盟重花屏补丁和传奇客户端下载都经过站长亲自测试并配有真实测试图!
所有的工具软件和传奇版本在发布之前,都会经过站长亲自测试,保证chuanqisf可以进入游戏,所有软件都无毒无插件!
本站声明:本站所有技术资料与下载资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信指出,本站将立即改正Copyright © 2002-2014 无忧网络 版权所有蜀ICP备09041899号