他也玩传奇 首页 传奇学院 引擎功能 996引擎 查看内容

传奇996引擎版本等概率或者按权限随机获取分割字符串说明

2023-11-4 18:38| 发布者: 积木GM论坛| 查看: 1583| 评论: 0

摘要: 等概率或者按权限随机获取分割字符串:格式:RANSJSTR 参数1 参数2 参数3 参数4 参数5参数1:需要获取随机的字符串 字符串#权重|字符串#权重 |=分割符 (字符串顺序无要求)参数2:0~1(0=系统权重随机,有几个字符串 ...

等概率或者按权限随机获取分割字符串:
格式:RANSJSTR 参数1 参数2 参数3 参数4 参数5
参数1:需要获取随机的字符串    字符串#权重|字符串#权重   |=分割符    (字符串顺序无要求)
参数2:0~1(0=系统权重随机,有几个字符串就是几份之一,1=按#位权重随机总权重为各项;位权重总和)
参数3:0~3(0=参数4和参数5;显示#权重数字      1=参数4和参数5;不显示#权重数字      2=参数4;显示权重 参数5;不显示权重  3=参数4;不显示权重 参数5;显示权重)
参数4:随机到的字符串保存变量
参数5:剩余的字符串保存变量


例子1:
[@随机分割字符串]
#IF
#ACT
RANSJSTR 测试1#2000|测试2#1000|测试3#5000 1 3 S0 S1
;总权重说明:总权重为2000+1000+5000=8000
SENDMSG 0 随机的字符串:<$str(S0)>
SENDMSG 0 剩余字符串值:<$str(S1)>
;假设分割出来的是:测试2#1000
;继续分割剩余的字符串   总权重为2000-1000+5000=7000
RANSJSTR <$str(S1)> 1 3 S2 S3 
SENDMSG 0 随机的字符串:<$str(S2)>
SENDMSG 0 剩余字符串值:<$str(S3)>

例子2:
[@随机分割字符串系统权重]
#IF
#ACT
RANSJSTR 木剑#3|铁剑#3|短剑#3 0 1 S0 S1
SENDMSG 0 随机的字符串:<$str(S0)>
SENDMSG 0 剩余字符串值:<$str(S1)>
;总权重说明:总权重为3(系统权重随机时,有几个字符串就是几份之一)
gives <$str(S0)>
SENDMSG 0 你获得了3把铁剑(假设分割出来的是铁剑)

权重规则解释:

如:RANSJSTR 测试2#300|测试1#100|测试3#200 1 3 S0 S1

那么总权重为:300+100+200=600 系统会从1~600随机出来一个数  如随机出来的是50,那么就和第一个字符串#权重|做对比 如果50比第一个字符串小于等于,那么就取第1个 

如果随机出来的是400,那么就会用400-300=100  再和下面一个 测试1#100 对比然后小于等于100那么就取第二个,依次类推

相关阅读

最新评论