装备与物品
显示物品到 NPC 对话框
把指定物品生成到 NPC 对话框中显示,并把显示结果写入 <$DLGITEMSHOW> 供后续输出或加工。
命令用途
SetDlgItem 用于把指定物品显示到 NPC 对话框中。
执行后,引擎会生成一段可直接用于 #SAY 的物品显示内容,并把结果放进 <$DLGITEMSHOW>,方便继续输出、拼接或二次加工。
命令名
SetDlgItem
调用格式
SetDlgItem <物品名称>
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
物品名称 | 是 | 要显示到 NPC 对话框中的物品名称。名称必须和服务端物品库中的实际名称一致。 |
返回或影响
- 这是执行型命令,会生成当前物品的对话框显示内容。
- 结果会写入
<$DLGITEMSHOW>,通常再通过Mov、FormatStr或直接在#SAY中输出。 - 它只负责生成显示内容,不会发放物品,也不会从背包扣除物品。
- 连续执行多次时,
<$DLGITEMSHOW>会被新的显示结果覆盖。
示例
基础用法
#ACT
SetDlgItem 基本剑术
Mov SITEM <$DLGITEMSHOW>
#SAY
<$STR(SITEM)>
这段写法用于把“基本剑术”显示到 NPC 对话框中,适合最基础的物品展示。
常见变体
[@ShowItems]
#ACT
SetDlgItem 屠龙
FormatStr %s <$DLGITEMSHOW>
SetDlgItem 怒斩
FormatStr "%s %s" <$CALCRESULT> <$DLGITEMSHOW>
SetDlgItem 龙牙
FormatStr "%s %s" <$CALCRESULT> <$DLGITEMSHOW>
#SAY
装备:<$CALCRESULT>
这类写法适合把多件装备连续拼到同一行或同一段说明里,常用于推荐装备、奖励预览或兑换列表展示。
注意事项
SetDlgItem只是生成物品显示串,不是发放物品命令。- 普通网关通常直接输出
SetDlgItem生成的内联显示即可,不要额外改成AX、AY绝对定位。 - 如果要把物品显示改成固定坐标布局,通常要先取出
<$DLGITEMSHOW>再加工,这类绝对定位写法需要 AC 封挂网关支持。 - 当同一段脚本要连续展示多件物品时,通常需要用
FormatStr或变量把前一次结果暂存起来,否则会被后一次覆盖。
相关资源
- 蓝海数据库编辑器 — 可视化编辑引擎数据库与配置文件
