科普下攻杀剑术,首先说下数据源代码的触发几率。这个数值架设后台给你的是1.2.3.4.5.6.7。这个数值是人物攻击的次数。以7次攻击为一个循环。触发之后重新计算,它会首先去掉几个数值比如5.6.7。然后从1.2.3.4里选择一个数字。好比说选择了3。那么人物攻击的时候,第1刀是1。第2刀是2。到了第3刀,因为被数据给拿掉了。那么此时就会触发一次攻杀。依次类推。
因为当年的服务器CPU性能太差,别说复杂的真随机算法,连大量调用C语言的Radom等这类做法都做不到,只能用这种简单但是相对有效的伪随机算法去做。
在那个年代的游戏里,很多计算都是通过这样的方式,但是对一个有几万玩家和怪物的区来说,服务器压力依然很大很大,所以当年盛大传奇白天走两步就要卡一下,大部分情况下这并不是网络问题,而是服务端根本无法处理那么多数据了。
战士的攻杀剑术这个技能触发的条件是1,几率。2,冷却完毕,而且几率不是固定的是个变量,冷却时间也不是固定的是个变量,只有当满足几率和冷却完毕时,这个技能才会被触发。
传奇里面战士的攻杀就是一个伪随机,用的应该也是pdr机制,具体就是如果攻杀是1%的几率,那算出来第一刀是攻杀的概率是0.214%多,第二刀就是2x0.214%,这个值在不触发的情况下会无限接近于1。攻杀大概率为几率触发,空砍算几率,然后捏在手上和烈火一样,可以空砍然后等时间看看,然后烈火的冷却应该为8秒,我查了百度,盛大我是捏火数七个数,出双火。
就是一个交叉函数关系。打个比方,某次攻击触发攻杀几率为1,此时cd随机8秒,上一次攻杀于此次时间间隔为5秒,那么系统并不会判定触发攻杀。由于是双几率触发,所以实际游戏会出现很久不出一次跟连续攻杀(间隔一秒)的情况。
攻杀技能同时也有保底触发,假设第一刀触发率1/10,第二刀就变成1/9,第三刀1/8,概率越来越大,直到100%为止。并且出了以后概率会重置。
比如魔法盾,烈火有几率一刀破。三级火是2.6倍数关系,冷却是7秒8秒的样子。说回攻杀,这个技能是几率加冷却交集双触发,且几率跟cd都是随机变量,不拿武器百分百不触发,这些是我当年亲测。具体数据记不太清,大差不差。up绝大多数是跟官服吻合的,赞一个。借楼回复前面朋友合击威力算法。除道道合击,战战外,其它组合威力都是看发挥的最大攻魔道。战战单独拿出来说,这个比较特殊,战战是上下线功力随机的和×系数,道道只看最高道术发挥,且受到准确影响。所有合击有个共同点就是杀伤力对主号,英雄,怪的伤害都不同,也就是说,基础系数不同。以上仅限于官服。
|