传奇RANSJSTR命令详解 随机分割字符串脚本使用教程
本文详解传奇服务端RANSJSTR随机分割字符串命令,解析五大参数功能、权重判定规则,附带均等随机、权重随机两大实战脚本案例,讲解多级分割逻辑与版本应用禁忌,帮助传奇开发者快速掌握该命令的配置与使用技巧。…
一、RANSJSTR命令功能概述
RANSJSTR是传奇服务端核心脚本命令,主要用于实现按等概率或自定义权重规则,随机分割指定字符串,广泛应用于传奇版本中道具随机掉落、文案随机展示、权限分级派发、多选项随机抽取等场景。该命令支持两种随机模式,可自定义权重显示规则,同时能分别存储随机结果与剩余字符串,是传奇脚本开发中高频使用的随机逻辑命令。
二、命令标准语法格式
RANSJSTR 参数1 参数2 参数3 参数4 参数5
三、五大参数详细释义
3.1 参数1:待随机分割字符串
格式规范:采用「字符串#权重|字符串#权重」组合结构,其中竖线|为字符串分割符,字符串排列顺序无强制要求。
应用示例:装备#500|材料#300|元宝#200,代表三个不同内容及对应权重数值。
3.2 参数2:随机模式(取值0-1)
取值0:系统均等随机模式,无视权重数值,所有字符串获取概率均等,总份数等于字符串数量。
取值1:自定义权重随机模式,所有字符串权重数值累加为总权重,系统根据权重占比分配随机概率。
3.3 参数3:权重显示规则(取值0-3)
取值0:参数4、参数5返回内容携带#权重原始数字,完整保留权重标识。
取值1:参数4、参数5返回内容隐藏#权重数字,仅展示纯字符串内容。
取值2:参数4显示权重信息,参数5隐藏权重信息。
取值3:参数4隐藏权重信息,参数5显示权重信息,为脚本开发最常用配置。
3.4 参数4:命中字符串存储变量
用于存储本次随机命中的单个字符串,常规填写S0、S1、S2等自定义脚本变量,可通过<$str(变量名)>调用变量内容。
3.5 参数5:剩余字符串存储变量
用于存储剔除命中内容后,剩余所有字符串的合集,支持二次、多次循环随机分割,延续随机逻辑。
四、核心权重判定规则
权重随机模式下(参数2=1),系统会先累加所有字符串权重得到总权重,再生成1至总权重区间内的随机数字,通过区间比对判定命中内容,具体逻辑如下:
示例基准命令:RANSJSTR 测试2#300|测试1#100|测试3#200 1 3 S0 S1
总权重计算:300+100+200=600,系统随机生成1-600区间数字。
判定逻辑:随机数≤300,命中测试2;随机数区间301-400,命中测试1;随机数区间401-600,命中测试3。
核心原理:按字符串排列顺序依次扣减权重区间,随机数落入对应区间即命中当前字符串。
五、传奇脚本实战案例
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)>
;基于剩余字符串二次分割,总权重自动更新为7000
RANSJSTR <$str(S1)> 1 3 S2 S3
SENDMSG 0 随机的字符串:<$str(S2)>
SENDMSG 0 剩余字符串值:<$str(S3)>
5.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 你获得了对应道具
六、版本应用注意事项
第一,权重数值仅在参数2设为1时生效,均等模式下权重数值不参与概率计算,仅作备注使用。
第二,多次嵌套分割时,剩余字符串变量无需手动计算权重,命令会自动累加更新总权重数据。
第三,变量命名建议按顺序使用S0、S1、S2,避免变量重复覆盖,导致脚本逻辑异常。
第四,字符串内禁止额外添加竖线|符号,该字符为固定分割符,自定义内容中使用会导致命令解析出错。


