传奇脚本关于Random机率算法详细说明
20210320新增:今天发现Random后面只能是数值,不能是变量如P N之类的变量(用movr做几率脚本 精准度可以做到无限小数点,看最下面脚本实例)
说明:Random 是一个随机标签,一般用于判定脚本里,#if的下面,当然这个标签也用在新爆率文件里,可以查看我写的一篇关于爆率的文章,这里就不多讲了
格式:Random 数值(数值与爆率文件里的数值机率类同)
举例:Random 10(这就表示1/10的概率)
大家在修改或编写脚本时经常会用到Random这个标签,格式和用法我这里不多讲,主要是讲一下机率的算法以及详细百分比的脚本是如何实现的
先给大家看个实例:以中奖为例吧
;----------------------------------------
[@main]
#If
Random 2
#Act
give 礼包 1
SendMsg 7 恭喜您,获得礼包,中奖机率是50%
#ElseAct
SendMsg 7 对不起!没获得礼包!
break
;----------------------------------------
以上面的实例来展开其中的机率算法。
Random 2(也就是1/2,机率就是50%)
那我们来运算一下从1%-100%的机率算法,并以脚本来实现(会有小部分误差)
▓▓▓▓▓▓▓第一种方法,正向算法
Random 1(也就是1/1,机率就是100%)
Random 2(也就是1/2,机率就是50%)
Random 3(也就是1/3,机率就是33.33%)
Random 4(也就是1/4,机率就是25%)
Random 5(也就是1/5,机率就是20%)
Random 6(也就是1/6,机率就是16.67%)
Random 7(也就是1/7,机率就是14.29%)
Random 8(也就是1/8,机率就是12.5%)
Random 9(也就是1/9,机率就是11.11%)
Random 10(也就是1/10,机率就是10%)
Random 20(也就是1/20,机率就是5%)
Random 30(也就是1/20,机率就是3.33%)
Random 40(也就是1/20,机率就是2.5%)
Random 50(也就是1/20,机率就是2%)
Random 60(也就是1/20,机率就是1.67%)
Random 70(也就是1/20,机率就是1.43%)
Random 80(也就是1/20,机率就是1.25%)
Random 90(也就是1/20,机率就是1.11%)
Random 100(也就是1/20,机率就是1%)
以是概率从1%-100%百分比值,但是大家看到还有许多缺失是吧
▓▓▓▓▓▓▓第二种方法:反向算法
把上面机率脚本用#ElseAct反过来写一遍是不是多了将近一半的百分比值,这叫反向算法
例如:90%的获得礼包机率怎么写脚本,我就把10%中奖概率写成10%不中,不就成了90%了吗!
;----------------------------------------
[@main]
#If
Random 10
#Act
SendMsg 7 对不起!没获得礼包!
#ElseAct
give 礼包 1
SendMsg 7 恭喜您,获得礼包,中奖机率是90%
break
;----------------------------------------