RanSjStr » 历史记录 » 版本 3
yangdefeng, 2023-08-17 15:04
| 1 | 1 | yangdefeng | h4. _*%{color:green}ranSjStr%*_ |
|---|---|---|---|
| 2 | |||
| 3 | 等概率或者按权重随机获取分割字符串 |
||
| 4 | |||
| 5 | |||
| 6 | 标签:命令定义|ranSjStr>ranSjStr |
||
| 7 | |||
| 8 | *格式* |
||
| 9 | |命令名 |参数1 |参数2 |参数3 |参数4 |参数5 | |
||
| 10 | |ranSjStr |原字符串 |随机模式 |返回模式 |随机到的字符串保存变量 |剩余的字符串保存变量 | |
||
| 11 | |||
| 12 | *说明* |
||
| 13 | * 参数1:需要获取随机的字符串 |
||
| 14 | 格式 |
||
| 15 | 字符串1#权重1|字符串2#权重2|字符串3#权重3... |
||
| 16 | <notextile></notextile> |
||
| 17 | #代表某字符与其权重的分隔符 |
||
| 18 | <notextile>|代表不同字符串的分隔符</notextile> |
||
| 19 | |||
| 20 | * 参数2:随机模式,0或1 |
||
| 21 | 0=系统权重随机,有几个字符串就是几份之一 |
||
| 22 | 1=按#位权重随机总权重为各项;位权重总和 |
||
| 23 | |||
| 24 | * 参数3:返回模式0-3 |
||
| 25 | 0=参数4和参数5,显示#权重数字 |
||
| 26 | 1=参数4和参数5,不显示#权重数字 |
||
| 27 | 2=参数4,显示权重;参数5,不显示权重 |
||
| 28 | 3=参数4,不显示权重;参数5,显示权重 |
||
| 29 | |||
| 30 | * 参数4:随机到的字符串保存变量 |
||
| 31 | |||
| 32 | * 参数5:剩余的字符串保存变量 |
||
| 33 | |||
| 34 | - |
||
| 35 | - |
||
| 36 | |||
| 37 | h4. *%{color:deepskyblue}特戒引擎脚本示例:%* |
||
| 38 | 2 | yangdefeng | |
| 39 | bq. [@main] |
||
| 40 | #if |
||
| 41 | #act |
||
| 42 | *{color:green}ranSjStr* 测试1#2000|测试2#1000|测试3#5000 1 3 s0 s1 |
||
| 43 | %{color:lightGrey};总权重说明:总权重为2000+1000+5000=8000% |
||
| 44 | [[print]] 随机的字符串:<$str(s0)> |
||
| 45 | [[print]] 剩余字符串值:<$str(s1)> |
||
| 46 | %{color:lightGrey};假设分割出来的是:测试2#1000% |
||
| 47 | %{color:lightGrey};继续分割剩余的字符串 总权重为2000-1000+5000=7000% |
||
| 48 | *{color:green}ranSjStr* <$str(s1)> 1 3 s2 s3 |
||
| 49 | [[print]] 随机的字符串:<$str(s2)> |
||
| 50 | [[print]] 剩余字符串值:<$str(s3)> |
||
| 51 | 3 | yangdefeng | |
| 52 | - |
||
| 53 | - |
||
| 54 | |||
| 55 | h4. *%{color:deepskyblue}特戒引擎脚本示例:%* |
||
| 56 | |||
| 57 | bq. [@main] |
||
| 58 | #if |
||
| 59 | #act |
||
| 60 | *{color:green}ranSjStr* 木剑#3|铁剑#3|短剑#3 0 1 s0 s1 |
||
| 61 | [[print]] 随机的字符串:<$str(s0)> |
||
| 62 | [[print]] 剩余字符串值:<$str(s1)> |
||
| 63 | %{color:lightGrey};总权重说明:总权重为3(系统权重随机时,有几个字符串就是几份之一)% |
||
| 64 | [[print]] 本次随机到了<$str(s0)> |