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

传奇脚本StrTok与FormatStr函数用法详解

admin17小时前1
在传奇版本搭建、脚本修改、自定义功能开发过程中,字符串处理函数是GM日常使用频率最高的核心脚本指令。合理运用字符拆分、文本格式化、自定义排版等功能,能够高效完成游戏功能优化、人物信息截取、界面文字规整等操作。本文全面讲解传奇脚本中StrTok字符串分解函数与FormatStr字符串格式化函数的语法细…


在传奇版本搭建、脚本修改、自定义功能开发过程中,字符串处理函数是GM日常使用频率最高的核心脚本指令。合理运用字符拆分、文本格式化、自定义排版等功能,能够高效完成游戏功能优化、人物信息截取、界面文字规整等操作。本文全面讲解传奇脚本StrTok字符串分解函数FormatStr字符串格式化函数的语法细则、使用规范以及完整实操案例,内容通俗易懂、可直接套用,适合各类传奇版本脚本学习与落地使用。

一、StrTok字符串分解函数功能详解

1.1 函数基础语法与参数说明

StrTok是传奇脚本专用的字符串拆分指令,核心作用是通过自定义分隔符切割原始字符串,分别输出拆分后的子字符串与剩余字符串,广泛应用于玩家昵称截取、参数分割、字符筛选、链接拆分等各类脚本场景。

标准语法格式:StrTok S1 S2 分隔符

参数详解:S1为源字符串变量,用于存放待拆分的原始文本内容;S2为子字符串变量,用于存储拆分后提取的目标内容;第三参数为自定义分隔符,留空默认以空格作为分隔符,填写#9则代表Tab分隔符,同时支持S、A两类变量调用。

核心使用注意事项:编写脚本时,分隔符严禁使用双字节大写符号,包含【】、:、*、()等符号,仅支持单字节英文符号。若字符串内存在多个相同分隔符,函数仅识别第一个分隔符完成单次拆分,剩余未处理字符可二次调用该函数继续拆分处理。

1.2 StrTok函数全套实操案例

以下三组脚本案例经过实测可用,覆盖符号分隔、单字符分隔、文本截取三大常用场景,新手可直接复制套用,快速掌握StrTok函数用法。

案例一:特殊符号分隔字符串拆分

[@测试]

#IF

TRUE

#ACT

MOV S1 BLUE+M2

MOV S2 M2

StrTok S1 S2 +

SENDMSG5结果:<$STR(S1)>=M2、<$STR(S2)>=BLUE

本案例以加号作为自定义分隔符,对组合字符串进行精准切割,分离出前后两段独立字符,适用于传奇脚本中组合参数拆分、链接字符分割等场景。

案例二:单字符分隔字符串拆分

[@测试2]

#IF

TRUE

#ACT

MOV S1 BLUEM2

MOV S2 M2

StrTok S1 S2 M

SENDMSG5结果:<$STR(S1)>=2、<$STR(S2)>=BLUE

该案例以单个字母作为分隔符,拆分无符号连续字符串,直观体现函数拆分逻辑。同时验证了多分隔符仅取首个拆分的规则,复杂长文本可通过多次调用函数实现循环拆分。

案例三:括号边界截取玩家文本字符

[@测试3]

#IF

TRUE

#ACT

MOV s2

mov s1 玩家:(风云)雄霸天下

StrCap S1 S2 ( )

SendMsg 5 当前:S1=<$STR(S1)>

SendMsg 5 当前:S2=<$STR(S2)>

案例搭配StrCap指令,以括号为边界精准截取文本内容,可用于传奇游戏玩家昵称、公会称号、角色备注等信息的提取,是人物信息脚本开发的常用写法。

二、FormatStr字符串格式化函数功能详解

2.1 函数核心作用与返回值

FormatStr是传奇脚本专属的文本格式化、排版对齐函数,主要用于规整装备名称、弹窗文本、NPC对话、参数列表的展示样式。函数执行后的格式化结果会统一返回至$CALCRESULT变量,可直接调用输出,能够有效解决游戏界面文字错乱、排版不整齐的问题。

2.2 函数基础使用规范

双引号使用规则:当格式化参数中包含空格时,必须使用双引号包裹完整参数,确保脚本将带空格内容识别为单个整体参数,避免排版错乱、参数读取失败。

参数匹配规则:格式化语句中,每一个%s对应一个自定义参数,单条脚本最多支持9个%s参数,参数数量必须与%s数量一一对应,否则会出现脚本报错、内容缺失、排版异常等问题。

对齐格式规则:支持自定义字符对齐方式与展示宽度,%-32s代表左对齐,32为字符展示宽度;格式中无-号则默认右对齐,-号固定放置在%号之后、数字宽度之前。

2.3 FormatStr函数实操案例

案例一:传奇装备批量格式化展示

[@FormatStr]

#IF

TRUE

#ACT

SetDlgItem 屠龙

FormatStr %s <$DLGITEMSHOW>

SetDlgItem 怒斩

FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>

SetDlgItem 龙牙

FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>

SetDlgItem 逍遥扇

FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>

#say

装备:<$CALCRESULT>\ <返回 /@back>   <关闭 /@exit>

本案例适配传奇NPC装备展示弹窗,可批量格式化屠龙、怒斩、龙牙、逍遥扇等经典装备名称,实现多装备名称整齐排列展示,大幅优化游戏装备查询界面的展示效果。

案例二:文本左右对齐标准化排版

#IF

TRUE

#ACT

; 双引号一般用在参数包含有空格的情况下,这样即使参数中带了空格,也会被认为是一个参数

; 参数1有多少个%s,后面就需要带对应个数的参数,最多9个%s

; 对齐格式:%-32s,其中,-表示左对齐,不带-号默认右对齐;32表示字符的宽度,-号在%号的后面、32前面

FormatStr "%32s 参数:%-5s %s %s %s %s %s %s %s" 右对齐 一 二 三 四 五 六 七 八

mov s1 $CALCRESULT

FormatStr "%-32s 参数:%5s %s %s %s %s %s %s %s" 左对齐 一 二 三 四 五 六 七 八

#say

<$STR(S1)>\<$CALCRESULT>\<关闭/@exit>   <返回/@main>

通过左右对齐对比排版写法,可实现传奇游戏提示文本、功能说明、参数列表的标准化规整展示,彻底解决脚本文本错乱、排版杂乱的问题,提升游戏界面整体美观度。

三、传奇字符串函数使用总结

StrTok与FormatStr两大字符串函数,是传奇脚本开发、版本优化的核心基础指令。其中StrTok主打字符串拆分、字符提取、内容切割,适用于数据截取、参数分割等功能场景;FormatStr主打文本格式化、对齐排版、界面规整,适用于NPC对话、装备展示、弹窗提示等界面优化场景。熟练掌握两大函数的语法与实操技巧,可快速完成各类复古、微变、超变传奇的脚本定制、bug修复、功能优化工作。

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

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

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

分享给朋友: