上述脚本用于实现“一键特修全身装备”功能,需放置于服务端指定文件中才能生效。以下是具体配置步骤、文件路径及调用方式。
脚本应放入的文件
该脚本属于NPC对话交互逻辑,必须写入 QFunction-0.txt 文件。
路径通常为:MirServerMir200EnvirQuestDiaryQFunction-0.txt
若服务端使用模块化脚本管理(如Hero引擎),也可能位于 QuestDiaryQManage.txt,但绝大多数情况下优先使用 QFunction-0.txt。
脚本结构说明
[@全修]
你只要轻轻点击一下,就可以全部特修你身上的所有装备,爽吧?\
本服务每次收费个元宝! \
\
[@全修] 是自定义标签,需由其他脚本或NPC菜单通过 goto @全修 调用;
文本中的 生成可点击按钮,点击后跳转至 [@texiu] 标签;
用于换行,确保对话框排版正常。
[@texiu]
If
CHECKGAMEGOLD > 2
Act
GAMEGOLD - 3
RepairAll
MessageBox 修理成功!!
goto @main
Elseact
MessageBox 特修失败!本服务每次收费3元宝
CHECKGAMEGOLD > 2 判断元宝是否 ≥3(因条件为 >2);
GAMEGOLD - 3 扣除3元宝;
RepairAll 是核心命令,执行全身装备特修;
MessageBox 弹出提示框, 用于避免消息被截断。
如何让玩家触发该脚本
仅将脚本写入 QFunction-0.txt 并不能直接使用,还需在 NPC对话菜单 中添加入口。例如,在 !Npc_def铁匠.txt 中加入:
[@main]
欢迎来到铁匠铺!\
\
当玩家点击“全身特修”选项时,系统自动跳转至 QFunction-0.txt 中的 [@全修] 标签,显示收费提示界面。
关键注意事项
元宝类型确认:
GAMEGOLD 指的是游戏内绑定元宝(通常为充值元宝),非金币。若服务端使用 CHECKITEM 判断元宝道具(如“元宝券”),则需改用 CheckItem 元宝 3 并配合 DelItem 扣除。
RepairAll 命令支持:
该命令仅在 Hero、GOM 等主流引擎中有效。部分老旧引擎可能不支持,需替换为逐件修理命令(如 RepairWeapon、RepairArmor 等组合)。
标签命名规范:
[@全修] 可改为任意名称(如 [@OneKeyRepair]),但必须与 NPC 中的 /@标签名 一致。
文件编码问题:
使用 Notepad++ 以 ANSI 或 UTF-8 无BOM格式保存,避免中文乱码导致脚本失效。
重启生效:
修改 QFunction-0.txt 后,必须重启 M2Server 主程序,否则更改不加载。
完整调用流程
玩家点击铁匠NPC;
NPC显示主菜单,含“全身特修”选项;
点击后跳转至 [@全修],显示收费说明;
点击“使用元宝”触发 [@texiu];
系统检查元宝余额,足够则扣费并执行 RepairAll,不足则弹出失败提示。
此脚本无需额外配置数据库或客户端文件,纯服务端文本修改即可实现。重点在于确保标签被正确调用,且引擎支持 RepairAll 与 GAMEGOLD 指令。

