NPC与界面

配置 NPC 对话框界面选项

在 QManage 中统一配置 NPC 对话框的行为、位置和背景图,适用于定制登录入口、功能大厅和专用界面样式。

命令用途

NPC_DLG_OPTIONS 用于在 QManage.txt 中统一配置 NPC 对话框界面选项。

它比 SetMerchantDlgImgName 更适合做整套界面定制,可以同时控制对话框参数、显示位置、背景图和素材索引。

这条写法比较特殊。实际使用时,通常不是写在某个普通 NPC 脚本段里临时执行,而是写在 MirServer\Mir200\Envir\MapQuest_Def\QManage.txt 的 [@Login] 段中,作为全局界面配置在登录后统一加载。

命令名

NPC_DLG_OPTIONS

调用格式

NPC_DLG_OPTIONS <地图编号> <NPC名称> <参数> <位置> <对话框图片名> [素材索引]

写法位置

常见写法如下:

QManage.txt
[@Login]
#ACT
NPC_DLG_OPTIONS ...

这里的 [@Login] 表示角色登录后触发的全局入口。对 NPC_DLG_OPTIONS 这类界面配置来说,通常只需要在这里定义一次;后续除非参数本身发生变化,否则不需要在每个 NPC 脚本里重复写。

参数说明

参数必填说明
地图编号是NPC 所在地图编号。写 0 时通常用于通用脚本入口,如 QFunction。
NPC名称是要应用这套界面配置的 NPC 名称。
参数是对话框行为参数,可组合使用。1=隐藏滚动条,2=对话框可移动,4=闪烁。例如 3 表示同时隐藏滚动条且允许移动。
位置是对话框显示位置。常见值如 0=默认、2=居中、3=右上、4=左下、5=右下。
对话框图片名是对话框背景图片名。默认调用 lui.pkg 图片;也可改用素材文件中的指定图片。
素材索引否当图片来自素材文件时,可用这个参数指定索引。

返回或影响

  • 这是执行型配置命令,通常写在 QManage.txt 中统一生效。
  • 常见落点是 QManage.txt 的 [@Login],用于角色登录后一次性加载这套界面配置。
  • 它会影响指定地图与指定 NPC 的对话框样式和行为。
  • 比起单次脚本里临时切背景,NPC_DLG_OPTIONS 更适合长期固定的专用界面。

示例

基础用法

QManage.txt
[@Login]
#ACT
NPC_DLG_OPTIONS 0149 综合服务 7 2 MerchantDlg.png

这段写法适合在 QManage.txt 的 [@Login] 中,给指定地图上的“综合服务”NPC 配置固定背景图,并让对话框支持组合参数效果。

常见变体

QManage.txt
[@Login]
#ACT
NPC_DLG_OPTIONS 0149 盟重老兵衣衣 7 2 MerchantDlg.png
NPC_DLG_OPTIONS 0149 盟重主套店 3 3 ui1 2731
NPC_DLG_OPTIONS 0149 盟重老伙头盔店 3 4 ui1 2924
NPC_DLG_OPTIONS 0 QFunction 3 4 ui1 3020

这类写法更接近实际项目里的用法:在 [@Login] 里一次性把多组 NPC 界面配置好。前 3 行针对具体地图和 NPC 生效,最后一行则给 QFunction 这类通用入口配置统一样式。

注意事项

  • NPC_DLG_OPTIONS 主要写在 QManage.txt 中做统一配置,不适合当成普通流程命令到处零散调用。
  • 最常见的写法位置是 QManage.txt 的 [@Login];如果不是这类登录后统一加载的场景,要先确认你的入口是否真的会稳定触发。
  • 当同名 NPC 在不同地图中都存在时,地图编号 和 NPC名称 要一起写对,否则容易把样式配到别的 NPC 上。
  • 当 地图编号 写成 0 时,通常不是按普通地图 NPC 处理,而是给 QFunction、QMapEvent、QManage、RobotManage、QChatMission 这类特殊入口使用。
  • 资料里明确提到:如果已经给某类 NPC 配了 NPC_DLG_OPTIONS,就不要再对同名 NPC 继续套用同素材的 SetMerchantDlgImgName;同时也不要随意混用 MessageBox,否则容易影响整体界面体验。

相关命令