17173首页 - 免费新游 - 火爆论坛 - 游戏博客 - 游戏播客 - 百科问答 - 网游排行榜 - 网游期待榜
| 通行证 注册
17173热血传奇 > > 正文
17173全新积分兑换系统上线 点卡周边等你拿>>>详情点击

武器升级运算公式代码详解
2008-12-19           【 加入收藏 / 文章投稿 / 截图上传 / 发表评论
作者:小铁匠 本文获得:积分 >>注册成为17173作家
此文为17173玩家原创,获得积分奖励。 >>17173积分兑换方法

 

    传奇,走到现在也10个年头了,武器热从2002年开始一直持续的现在,不过在我看来好多人已经支持不住了,渐渐的脱离了这个团队。原因就是盛大一次又一次的改动,让玩家们不知所措。那些所谓的专家理论一次又一次的映证为错误的。其实,这些这所谓的“理论”只是不适合这个“时代”了而已。从最早的1.70版本到现在的血域版本,盛大的武器升级系统大大小小的变化了有数10次之多,每次又有多少人因为版本的更新,武器系统的升级而退出沙武器店呢?为什么又有人能从1区一直砸到132区没间断过?那是因为一个游戏神经中枢-原代码不是那么容易就能改的!!就好比整容,你可以把脸皮换来换去,总不能那么容易的把脸型也换来换去把?除非你把源代码换了,但是你要知道,这得花多少的人力与财力?老陈不会为那么少数的人做那么花钱不讨好的买卖!

    步入正题,以下是当前(也就是1.90版)武器系统的运算代码:

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,n90 shl 3 - 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) < n10 then 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相应总体质量下降 

   分析那么多,希望对那些看的明白的人有些帮助把。最后声明:小铁匠不会在游戏中教人砸武器,那些所谓在游戏里自称小铁匠的骗人赚钱的朋友们请自重(好多人来问我某某区的某某是不是我,有些人干脆就取角色名为:小铁匠)。本人唯一QQ893415412 武器2群唯一群号:46531916

关键字:

相关链接

http://mir.17173.com/jiaoliu/jiaoliu.shtml

游戏截图
用户: 匿名
史上最强的拼音输入法 下载>>>
评论

我要发布Sogou推广服务

热点标签:
新闻 标题 栏目 文章 图片 链接
热点标签:
新闻 标题 栏目 文章 图片 链接