正在加载文档

随机抽取字符串(权重)

最后更新:2026-08-19 21:32
<!-- mindoc:slug=aa-1hgloo5j83dis --> ### 格式: >RandWeightText 参数1 参数2 参数3 ### 参数说明: |位置|说明|备注| |:----|:---|:--- |参数1 |长字符串 |多个字符串可用分隔符隔开,每个字符格式格式:(字符串,权重)</BR> 随机算法:(所有权重值相加为分母,单个物品权重为分子)| |参数2 |分割符|| |参数3 |保存变量|| ### 示例: ``` [@随机抽取] #IF #ACT RANDWEIGHTTEXT 雷霆项链,1|雷霆护腕,5|雷霆道戒,3|雷霆道靴,1|雷霆腰带,1 | S1 SENDMSG 5 本机随机出的字符为:<$STR(S1)>,随机出雷霆护腕概率为5/11,随机出雷霆道戒概率为3/11,其它概率为1/11 break ``` ### 扩展命令: >RandWeightTextEx 参数1 参数2 参数3 参数4 ### 参数说明: | 位置 | 说明 | 备注 | |:----- |:-------- |:--------- | | 参数1 | 长字符串 | 多个字符串可用分隔符隔开,每个字符格式格式:(字符串`权重分隔符`权重)</BR> 随机算法:(所有权重值相加为分母,单个物品权重为分子) | | 参数2 | 分割符 | | | 参数3 | 权重分割符| 由于,无法直接从csv中读出的行,故扩展此参数 | | 参数4 | 保存变量| | ### 示例: ``` [@随机抽取] #IF #ACT RANDWEIGHTTEXT 雷霆项链,1|雷霆护腕,5|雷霆道戒,3|雷霆道靴,1|雷霆腰带,1 | , S1 SENDMSG 5 本机随机出的字符为:<$STR(S1)>,随机出雷霆护腕概率为5/11,随机出雷霆道戒概率为3/11,其它概率为1/11 break ``` ### 权重规则解释: 如:RANDWEIGHTTEXT 雷霆项链,1|雷霆护腕,5|雷霆道戒,3|雷霆道靴,1|雷霆腰带,1 | S1 那么总权重为:1+5+3+1+1=11 系统会从1~11随机出来一个数 如随机出来的是3,那么就和第一个字符串,权重|做对比 如果3比第一个字符串小于等于,那么就取第1个 如果随机出来的是5,那么就会用5-1=4 再和下面一个 雷霆护腕,5 对比然后小于等于5那么就取第二个,依次类推
0.059303s