当前位置:首页 > 引擎 > 996引擎

传奇RANSJSTR命令详解 随机分割字符串脚本使用教程

admin3小时前1
本文详解传奇服务端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,避免变量重复覆盖,导致脚本逻辑异常。

第四,字符串内禁止额外添加竖线|符号,该字符为固定分割符,自定义内容中使用会导致命令解析出错。

扫描二维码推送至手机访问。

本文章九路游发布,如需转载请注明出处。如有侵权请联系站长删除。

本文链接:https://www.9luu.com/955.html

分享给朋友: