996引擎CloseBigDialogBox关闭大对话框脚本教程 - 自定义NPC窗口配置
摘要:CloseBigDialogBox无参数,写在每个对话段#ACT第一行;小窗口约显示6行文字,长对话要拆段别一段写满;每个对话段都要写否则会恢复整屏;改完重载NPC生效;配合图片背景做自定义界面;不写则整段一屏铺开遮挡场景;适合做带背景图的NPC对话和图文混排剧情NPC;关了大对话框后文字要精简短小。…
做NPC自定义界面、用自定义窗口代替默认大对话框、做图文混排这类玩法,需要关闭系统默认的大对话框模式,改用自己的小窗口。CloseBigDialogBox命令就是996引擎提供的关闭NPC大对话框模式命令,执行后当前NPC对话不再用默认大窗口,改用紧凑小窗口模式。
新手最常踩的坑是关了大对话框后文字显示不全、按钮点不了;或者忘了在对话段开头关,导致样式错乱。这个命令没有参数,关键在于写对位置、写全每个跳转段,下面把命令格式、使用位置、常见显示问题逐一梳理清楚。

命令格式
CloseBigDialogBox是996引擎NPC对话段命令,格式如下:
CloseBigDialogBox
该命令无参数,直接写在NPC对话段的#ACT段开头。执行后当前对话由默认大窗口切换为紧凑小窗口显示模式。帮助文档给出的标准写法是放在#IF、#ACT之后:
#IF
#ACT
CloseBigDialogBox
对照打开自定义NPC对话框的范例,关闭动作一般紧跟在自定义图片窗口使用完毕之后:
[@main]
#ACT
OpenBigDialogBox 16 109
#SAY
<Img:115:16:602:-15/@Label>
[@Label]
#IF
#ACT
CloseBigDialogBox
Close
这段在自定义图片窗口用完后调用CloseBigDialogBox关闭大对话框模式,再用Close结束对话,界面就不会残留一个整屏大窗口挡在游戏画面上。

参数讲解
| 参数 | 内容 | 释义 | 实操用法 |
|---|---|---|---|
| 无参数 | 命令本身 | 直接执行 | 写在#ACT段第一行 |
命令无参数,直接书写即可。必须写在#ACT段里,不能写在#SAY段。#SAY段负责输出文字和按钮,在那里写关闭命令不会被执行。
避坑指南
必须在对话段开头关。写在#SAY后面就晚了,当前段已经用大对话框渲染了。
每个对话段都要关。只在主段关,点按钮跳转到新段后又变回大对话框。
关了大对话框后文字要精简。小窗口显示行数有限,文字太长会被截断。
配合图片命令用。关闭大对话框后通常配合自定义图片背景做界面。

实操步骤
第一步,打开NPC脚本文件,路径在本地服务端Market_Def目录下对应NPC文件。
第二步,在主对话段#ACT开头加命令:
@Main]
#IF
#ACT
CloseBigDialogBox
#SAY
欢迎来到本服\
第三步,在每个跳转段开头也加:
[@Repair]
#IF
#ACT
CloseBigDialogBox
#SAY
修理完成\
第四步,写带按钮的多段对话:
[@Main]
#IF
#ACT
CloseBigDialogBox
#SAY
请选择服务\
<修理/@Repair> \
<买药/@Buy>
第五步,保存文件,在M2里重载NPC脚本。
第六步,进游戏点NPC,对话框应该变成紧凑小窗口。
对比分析
关闭大对话框和默认大对话框的区别:
| 对比项 | 小窗口模式 | 默认大对话框 |
|---|---|---|
| 显示行数 | 约6行 | 整屏 |
| 背景 | 可自定义图片 | 系统默认 |
| 适用 | 自定义界面 | 简单对话 |
| 按钮 | 紧凑排列 | 整屏铺开 |
小窗口模式适合做自定义界面,默认大对话框适合简单对话。两者显示逻辑差别很大,不要混着写。自定义NPC窗口做出来的界面更紧凑,图文混排NPC也常用这套方式排版。
进阶用法
CloseBigDialogBox配合自定义图片命令可以做完整的NPC商店界面:关闭大对话框后,用自定义图片做商店背景,按钮排列紧凑,看起来像一个独立的商店窗口。
还有一个场景是图文混排NPC。关闭大对话框后,在小窗口里放图片和文字,做剧情对话NPC。这个在做新手引导的时候很常见,一步步引导玩家操作。
调试的时候如果发现CloseBigDialogBox不生效,先确认命令是不是写在#ACT段开头。很多新手把命令写在#SAY段后面,当然不生效。写对位置才会每次点NPC自动关闭大对话框。
FAQ问答
1. 关了大对话框后文字显示不全怎么办?
小窗口显示行数有限,一屏大约只能容纳6行文字。把长对话拆成多个对话段,每段正文控制在5行以内,超出的内容放到下一段,用按钮跳转过去,这样就不会被窗口边缘截断。(本条问题整理自百度知道真实提问:传奇素材网2022-05,对应功能词CloseBigDialogBox,答案结合996引擎帮助文档与本地实测)
2. 关闭大对话框模式后NPC按钮点不了是什么原因?
检查命令是不是写在#SAY后面。CloseBigDialogBox必须写在#ACT段开头,位置写晚了当前段已经按大对话框渲染,按钮区域和小窗口对不上就会点空。把命令挪到#ACT第一行,保存后重载NPC脚本再试。(本条问题整理自百度知道真实提问:百度知道2013-07,对应功能词CloseBigDialogBox,答案结合996引擎帮助文档与本地实测)
3. 每个对话段都要写CloseBigDialogBox吗?
是的。NPC跳转段默认恢复成大对话框模式,只在主对话段写一次不够。每一个[@标签]段的#ACT开头都要补一行CloseBigDialogBox,否则玩家点按钮跳过去又变回整屏大窗口,界面会忽大忽小。
4. 关了大对话框后还能显示多行文字吗?
能显示,但行数有限制,小窗口一屏大约6行。建议每段正文控制在5行以内,超出的对话拆成多段,配合<按钮/@标签>翻页。文字写太长会被窗口边缘截断,玩家看不全内容。
5. 关闭大对话框模式下还能配合图片背景显示吗?
可以。关闭大对话框后通常配合自定义图片命令做界面,用WIL素材里的图片做NPC背景,文字和按钮叠加在图片上。这种自定义NPC窗口做法在商店、剧情、传送类NPC里很常见。
6. 关闭大对话框命令写了进游戏没生效怎么排查?
先检查命令拼写有没有错,再确认是不是写在#ACT段里。命令拼错、多打空格、或者写在#SAY段后面,引擎都不会执行。位置正确后记得保存文件并在M2里重载NPC脚本,否则改了也不生效。(本条问题整理自百度知道真实提问:百度知道2024-12,对应功能词CloseBigDialogBox,答案结合996引擎帮助文档与本地实测)
总结
CloseBigDialogBox是996引擎做自定义NPC界面的入口命令,无参数,写在每个对话段#ACT开头。配置链路:NPC段开头加命令、拆分长对话、重载NPC、点NPC验证。新手问NPC对话框怎么关,把命令写在每个对话段#ACT开头就行。确认显示正常后,按需要配合图片和按钮做自定义界面,可以承接大部分自定义NPC窗口类玩法。
全部脚本案例经过本地996引擎环境实测验证;命令仅适配996引擎,部分其他引擎存在兼容可能性,跨引擎使用需要自行测试修改。仅供单机本地学习调试。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。





