一句话核心原理:用INPUT命令+变量接收即可实现玩家输入框功能。下面通过行会申请实例手把手教学:
🛠️完整NPC脚本示例(含中文注释)
(@MAIN)--主对话框
;显示基础提示
'你想创建行会吗?\n输入名称后点击确认'
重点!触发输入框的关键命令↓↓↓
<请输入行会名/@InputGuildName>;创建可点击的超链接按钮
(@InputGuildName)--输入框触发标签
;核心INPUT语法↓↓↓
INPUT'请输入行会名称:'@ConfirmGuildName;设置接收变量
(@ConfirmGuildName)--接收输入内容的标签
;检查输入是否为空
IFCHECKSTRING==""
'行会名不能为空!\<返回/@MAIN>'
BREAK
;这里添加敏感词过滤(实际脚本需扩展)
IFCHECKSTRING=="非法名称"
'含有禁用词汇!\<返回/@MAIN>'
BREAK
;存储玩家输入内容(变量名可用中文)
保存行会名=CHECKSTRING
'你创建的行会名为:<$OUTPUT(保存行会名)>\n\<确认创建/@CreateGuild>|\<取消/@EXIT>'
(@CreateGuild)--创建执行部分
;调用游戏创建行会函数(根据引擎差异调整)
Guild.Create保存行会名
'行会<$OUTPUT(保存行会名)>已成立!'
CLOSE
🔧四大核心要点详解
输入框触发技巧
标签跳转法:先设置点击入口<输入文字/@Input>
INPUT命令格式:
INPUT'提示文字'@接收标签名
变量接收与处理
输入内容自动存入CHECKSTRING系统变量
可用赋值语句保存:自定义变量=CHECKSTRING
输入校验流程
graphTB
A[接收输入]-->B{是否为空?}
--是-->C[提示错误]
--否-->D{含敏感词?}
--是-->C
--否-->E[保存并显示]
引擎差异注意表
引擎类型INPUT命令差异特殊说明
HGE引擎(主流)直接支持变量名区分大小写
GOM引擎需插件支持插件需注册DLL
翎风引擎用@InputBox参数顺序不同
💥新手避坑指南
输入框不弹出?
检查标签名是否拼写错误(如@InputName写成@Inputname)
引擎不支持时尝试安装IPInput.dll插件
输入中文乱码?
在脚本开头添加:MESSAGEENCODEUTF8
将文本文件另存为ANSI编码
如何限制长度?
IFLEN(CHECKSTRING)>12
'名称超过12字符!\<返回/@MAIN>'
BREAK
⚠进阶安全提醒
必做校验:
!1.敏感词过滤(导入屏蔽词库.txt)
!2.特殊符号拦截(<>&等易崩溃字符)
!3.重复创建检测(查询GuildList.txt)
法律提示:本教程仅适用于学习交流,搭建商业服需获得游戏官方授权。某私人服务器因未做输入校验导致玩家输入恶意代码,造成数千个账号数据泄露!
掌握INPUT命令后,不仅能做行会申请框,还能实现:
✔玩家改名系统
✔邮件内容输入
✔自定义喊话前缀
✔装备刻字功能
试试在对话框里加入彩色效果:
INPUT'{color=red}警告:{/color}输入后不可修改\\@ConfirmName'
🛠️完整NPC脚本示例(含中文注释)
(@MAIN)--主对话框
;显示基础提示
'你想创建行会吗?\n输入名称后点击确认'
重点!触发输入框的关键命令↓↓↓
<请输入行会名/@InputGuildName>;创建可点击的超链接按钮
(@InputGuildName)--输入框触发标签
;核心INPUT语法↓↓↓
INPUT'请输入行会名称:'@ConfirmGuildName;设置接收变量
(@ConfirmGuildName)--接收输入内容的标签
;检查输入是否为空
IFCHECKSTRING==""
'行会名不能为空!\<返回/@MAIN>'
BREAK
;这里添加敏感词过滤(实际脚本需扩展)
IFCHECKSTRING=="非法名称"
'含有禁用词汇!\<返回/@MAIN>'
BREAK
;存储玩家输入内容(变量名可用中文)
保存行会名=CHECKSTRING
'你创建的行会名为:<$OUTPUT(保存行会名)>\n\<确认创建/@CreateGuild>|\<取消/@EXIT>'
(@CreateGuild)--创建执行部分
;调用游戏创建行会函数(根据引擎差异调整)
Guild.Create保存行会名
'行会<$OUTPUT(保存行会名)>已成立!'
CLOSE
🔧四大核心要点详解
输入框触发技巧
标签跳转法:先设置点击入口<输入文字/@Input>
INPUT命令格式:
INPUT'提示文字'@接收标签名
变量接收与处理
输入内容自动存入CHECKSTRING系统变量
可用赋值语句保存:自定义变量=CHECKSTRING
输入校验流程
graphTB
A[接收输入]-->B{是否为空?}
--是-->C[提示错误]
--否-->D{含敏感词?}
--是-->C
--否-->E[保存并显示]
引擎差异注意表
引擎类型INPUT命令差异特殊说明
HGE引擎(主流)直接支持变量名区分大小写
GOM引擎需插件支持插件需注册DLL
翎风引擎用@InputBox参数顺序不同
💥新手避坑指南
输入框不弹出?
检查标签名是否拼写错误(如@InputName写成@Inputname)
引擎不支持时尝试安装IPInput.dll插件
输入中文乱码?
在脚本开头添加:MESSAGEENCODEUTF8
将文本文件另存为ANSI编码
如何限制长度?
IFLEN(CHECKSTRING)>12
'名称超过12字符!\<返回/@MAIN>'
BREAK
⚠进阶安全提醒
必做校验:
!1.敏感词过滤(导入屏蔽词库.txt)
!2.特殊符号拦截(<>&等易崩溃字符)
!3.重复创建检测(查询GuildList.txt)
法律提示:本教程仅适用于学习交流,搭建商业服需获得游戏官方授权。某私人服务器因未做输入校验导致玩家输入恶意代码,造成数千个账号数据泄露!
掌握INPUT命令后,不仅能做行会申请框,还能实现:
✔玩家改名系统
✔邮件内容输入
✔自定义喊话前缀
✔装备刻字功能
试试在对话框里加入彩色效果:
INPUT'{color=red}警告:{/color}输入后不可修改\\@ConfirmName'

