一分钟学会:传奇NPC对话框设置输入框(行会申请同款教程)

来源: 作者: 点击:
一句话核心原理:用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'
[顶部]