本帖最后由 qingfeng 于 2025-3-7 15:53 编辑
清风雨阁武器升级系统简直不要太牛逼了,我是因为武器可以升20点才试着玩一下的,结果一发不可收拾。然后果断认真学习,查找资料,果断总结,下面的知识点你要看好了!
武器系统的运算代码: if ((UpgradeInfo.btDc >= UpgradeInfo.btMc) and(UpgradeInfo.btDc >= UpgradeInfo.btSc)) or (n1C = 0) then begin ; //如果((首饰的攻击值>=首饰的魔法值)并且(首饰的攻击值>=首饰的道术值))或者(n1C=0) 那么开始计算
n90:=_MIN(11,UpgradeInfo.btDc); //定义 n90
n10:=_MIN(85,n90shl3-n90+10+UpgradeInfo.UserItem.btValue[3]-UpgradeInfo.UserItem.btValue[4] + User.m_nBodyLuckLevel); // 定义n10=(首饰的攻击 sh1 3-首饰攻击+10+btValue[3]- btValue[4]+用户的自身幸运值level,其中btValue[3][4]是变量,具体不解释
if Random(g_Config.nUpgradeWeaponDCRate) < n10then begin //如果随即函数小于n10那么就成功
UpgradeInfo.UserItem.btValue[10]:=10; //升级成功
if(n10>63)and(Random(g_Config.nUpgradeWeaponDCTwoPointRate)=0)then UpgradeInfo.UserItem.btValue[10]:= 11; //如果n10大于63并且随即函数=0那么武器跳1点
if (n10 > 79) and(Random(g_Config.nUpgradeWeaponDCThreePointRate) = 0) then
UpgradeInfo.UserItem.btValue[10]:= 12; //如果n10大于79并且随即函数=0那么武器跳2点
end else UpgradeInfo.UserItem.btValue[10]:=1; //表示武器升级失败
end;
代码中的User.m_nBodyLuckLevel就是幸运级别,就是我说的幸运值,这个值与幸运周期无关。 Random(g_Config.nUpgradeWeaponDCRate)是随机函数,就是高人称谓的伪随机函数,
在这里我的看法不同的是,我希望它越小越好,如果是0就可能跳点,如果不是0肯定不会跳点。 传奇中的Random(g_Config.nUpgradeWeaponDCRate)是有死角的,不完全随机,可以摸出所谓的周期,即所谓的(幸运周期)!
武器成功的方法,从代码里分析可以解释为,让n10尽量的大 让随即函数Random尽可能的小
n10是可人为改变的 (常常被人理解为个人幸运值,其实个人幸运值只是其中一个参数)
Random随即函数 无法改变 系统赋予的(常被人理解为服务器幸运值,并且高手们已经掌握了发现其死角周期的方法)
n10变大的方法,通过公式:
n10:=_MIN(85,n90 shl 3 - n90 + 10 +UpgradeInfo.UserItem.btValue[3] -UpgradeInfo.UserItem.btValue[4] +User.m_nBodyLuckLevel) 在首饰正确的基础上,btValue[3]取大 btValue[4]取小 User.m_nBodyLuckLevel尽可能大
这里只说一下User.m_nBodyLuckLevel 个人幸运值 首先个人幸运值和幸运值是两个概念,9套说的是幸运值,个人幸运值是人物隐藏属性,与总体经验 luckypoint成正比,与死亡次数 pk值成反比等等等等,40级以后User.m_nBodyLuckLevel增长速度减慢,并且具有循环性也就是说 是个变量,函数time参与其中运算
个人幸运值的提升最好的办法是升经验,到临界状态,并且尽量少死亡以及pk;死亡次数多了,luckypoint会出现负值 这种情况,User.m_nBodyLuckLevel相应总体质量下降
分析那么多,希望对那些看的明白的人有些帮助把。
看完了后你是不是要继续努力,毕竟已经碎了那么多把!!!
二区:巫药王
|