等概率或者按权限随机获取分割字符串: 格式: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那么就取第二个,依次类推 |