当前位置:首页 > 实操教程 > 996引擎 > 正文内容

996引擎检测字符串长度命令CheckStringlength用法配置教程

M2GM2026-11-01996引擎2
摘要:996引擎检测字符串长度用CheckStringlength命令实现,本文讲解格式拆解、参数速查、配置方法、案例实践与FAQ。CheckStringlength接字符串、操作符与位数,按一个汉字两位计数、特殊符号也占两位的规则判断,适合在线改名、名称合法性校验类脚本使用,长度不合法时接#ELSESAY提示玩家重输。…
[TOCM]

做在线改名功能时,最省事的就是让脚本自动把名字长度卡好:玩家输完新名字,脚本先量一下位数,超长或太短直接拦回去,不用管理员手动看。996引擎的检测字符串长度命令就是干这个的,用CheckStringlength一条命令就能算出一段文本占多少位。

检测字符串长度命令对应CheckStringlength命令,格式带字符串、操作符和位数三段,条件成立就说明这段文本的长度满足你给的比较关系。做字符串长度检测时,配合弹窗输入收集玩家输入,再用这个命令做合法性判断,整个流程就能串起来。

检测字符串长度命令配图 - M2GM

格式拆解

CheckStringlength的格式分三段,字符串后面接操作符再接位数:

CheckStringlength 字符串 操作符(<,>,=,?) 位数

官方帮助文档给出的说明是一个汉字位数为2,”》”也为2个字符。完整示例写法如下:

[@test]
#IF
CheckStringlength D3dm2 > 3
#SAY
D3dm2大于3个字符
#ELSESAY
D3dm2小于3个字符

示例里D3dm2是待测字符串,大于3位时走#SAY分支,否则走#ELSESAY分支。做文本位数判断时,操作符选大于、小于、等于或问号,位数填你要卡的阈值。

参数速查

参数 说明
字符串 要检测长度的文本,示例用D3dm2
操作符 支持<、>、=、?四种比较关系
位数 用来比较的长度阈值,按汉字两位的口径计算

这里最容易搞错的就是计数口径:按文档说明,一个汉字算2位,像”》”这样的符号也算2个字符,不是按字数一个个数。写阈值前先把这段口径记住,否则玩家输入的名字明明看着不长,脚本却判超长。

配置方法

把检测放进改名校验的流程:玩家通过弹窗输入新名字后,先量长度再决定放不放行:

#IF
CheckStringlength <$STR(S1)> > 6
#SAY
名字太长了
#ELSESAY
名字长度符合要求

CheckStringlength是检测命令,写在#IF条件段。待检测的字符串可以直接写死,也可以接变量取玩家刚输入的内容;判断不成立时接#ELSESAY提示玩家重输,不用自己写循环量长度。

案例实践

在线改名是这个命令的典型场景:用弹窗输入收集玩家新名称,再用CheckStringlength检测长度合法性,长度卡好后再用相等判断查名字有没有被占用,最后更新人物名字数据并清理旧名称。整个流程里,长度校验这一步就靠CheckStringlength完成,比自己拆分字符串逐位计数省事得多,也避免漏算汉字占两位的情况。

易错细节

  • 按汉字两位计数:一个汉字算2位,不是1位,卡阈值时按这个口径换算。
  • 特殊符号也占两位:文档明确”》”算2个字符,带符号的名字同样按两位算。
  • 操作符别选错:大于、小于、等于、问号含义不同,卡最短长度用大于,卡最长用小于。

问题速查

1. 问:传奇人物在线改名脚本怎么写?

答:用弹窗输入收集新名称,接着用CheckStringlength检测长度是否合法,长度通过后再用相等判断查名称有没有被占用,改名成功后更新人物名字数据并清理旧名称记录;长度这一步就靠CheckStringlength卡住。(来源:CSDN,2021-01检索,已去隐私)

2. 问:给字符串增加空格,长度参数是补几个空格吗?

答:不是。补空格命令的长度参数指的是补完之后整个字符串的总长度,不是补几个空格;格式0是前面补、1是后面补,支持人物变量。补完之后再用CheckStringlength量总长度,就能核对补位是否到位。(来源:看云,2026-05检索,已去隐私)

3. 问:GM转GEE排版反了是什么原因?

答:GEE和GOM两个引擎字符串补空格的方向相反,一个往前补一个往后补,直接搬脚本排版就会反过来,需要手动按目标引擎的补位方向调整;调整后再用CheckStringlength量一遍总长度确认。(来源:CSDN,2022-11检索,已去隐私)

4. 问:CheckStringlength怎么卡名字最短长度?

答:在#IF条件段写CheckStringlength接字符串、大于操作符和最小位数,条件成立说明长度够;比如要求名字至少3个汉字,按汉字两位换算成位数阈值后填入即可,不成立就提示玩家名字太短。

5. 问:CheckStringlength和补空格命令有什么区别?

答:CheckStringlength是检测命令,只读字符串长度,写在#IF条件段做判断;补空格命令是执行命令,负责给字符串前面或后面补空格凑长度,写在#ACT执行段。一个量长度一个补长度,改名排版时两个配合用。

6. 问:玩家输入的名字带汉字,长度怎么算?

答:按文档说明一个汉字算2位,不是按字数数;比如3个汉字的名字占6位,卡阈值时先把汉字位数换算出来再填,否则会出现看着不长却被判超长的情况。

总结

检测字符串长度命令用CheckStringlength接字符串、操作符和位数就能完成文本位数判断,做在线改名、名称合法性校验这类脚本很顺手;记住汉字算两位、特殊符号也占两位的口径,阈值按这个换算,检测命令放#IF段只判断不修改文本。更多996引擎脚本命令可以继续关注本站。

CheckStringlength按汉字两位计数的规则确认过,示例是在本地环境跑通的,其他引擎的字符计数口径需要单独核对。

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

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

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/tech/996/996-checkstringlength/

分享给朋友:

相关文章

我调试HGE引擎AddTextList字符串写入时踩过的3个坑

我调试HGE引擎AddTextList字符串写入时踩过的3个坑

本文复盘HGE引擎AddTextList、DelTextList、AddTextListEX三条文本文件命令的踩坑过程。列出格式行与参数表,对比追加写入、定位写入、按行删除的区别,讲清相对路径以Envir为基准、绝对路径写全磁盘路径的规则,搭一个申请名单NPC含加入与移除两段脚本,最后整理三类常见报错排查。…

SD插件如何判断字符串类型 - SDCheckCharType脚本命令详解

SD插件如何判断字符串类型 - SDCheckCharType脚本命令详解

SD插件判断字符串类型用SDCheckCharType命令实现,涵盖命令格式拆解、参数对照、实操示例与易错点。参数1取0到5六种判断口径,分别对应汉字字母数字混合、纯汉字、纯字母、纯小写、纯大写、纯数字,参数2填待检测文本,配合#SAY与#ELSESAY分支即可完成注册改名类输入校验,建议放在#IF条件段使用。…

HGE引擎如何分割字符串 - ExtractString命令用法详解

HGE引擎如何分割字符串 - ExtractString命令用法详解

HGE引擎的ExtractString命令可以把字符串按分隔符拆成多段存入字符变量,ExtractStringEx还能同时输出整型统计变量,是脚本里处理坐标串、名单、键值数据的基础工具。本文按帮助文档原文拆解两条命令的格式与参数,给出分割实操步骤、常见报错修复和FAQ,适合传奇脚本维护者直接查阅使用。…

996引擎如何检测本月的天数 - DAYOFMONTH日期判断命令详解

996引擎如何检测本月的天数 - DAYOFMONTH日期判断命令详解

996引擎检测本月的天数用DAYOFMONTH命令实现,本文讲解格式说明、参数详解、配置步骤、案例进阶与FAQ。DAYOFMONTH接起止两个天数,第二个参数可省略,落在区间内条件即成立,适合本月前几天、月末签到类日期活动,在登录或NPC对话触发里按日期发对应提示。…