Command 对象

[Microsoft 代理从 Windows 7 开始已弃用,可能在后续版本的 Windows 中不可用。]

Command 对象是 Commands 集合中的项。 当客户端应用程序变为输入活动状态时,服务器向用户提供对 Command 对象的访问权限。

若要访问 Command 对象的 属性,请使用其 Name 属性在其集合中引用它。 在 VBScript 和 Visual Basic 中,可以直接使用 Name 属性:

   <i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]

对于不支持集合的编程语言,请使用 Command 方法:

   <i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]

还可以通过创建对 Command 对象的引用来引用该对象。 在 Visual Basic 中,声明对象变量并使用 Set 语句创建引用:

   Dim Cmd1 as Object
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

在 Visual Basic 5.0 中,还可以将 对象声明为 类型 IAgentCtlCommandEx 并创建引用。 此约定支持早期绑定,从而提高性能:

   Dim Cmd1 as IAgentCtlCommandEx
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

在 VBScript 中,可以将引用声明为特定类型,但仍然可以声明变量并将其设置为集合中的 命令

   Dim Cmd1
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

命令可能显示在角色的弹出菜单和命令窗口中,或同时出现在两者中。 若要在弹出菜单中显示,它必须具有描述文字,并将 Visible 属性设置为 True。 此外,其 Commands 集合对象 Visible 属性也必须设置为 True。 若要在命令窗口中显示, 命令 必须设置其 “标题”“语音 ”属性。 请注意,显示菜单时,角色的弹出菜单项不会更改。 如果在显示字符的弹出菜单时添加或删除命令或更改其属性,则每当用户下次显示这些更改时,菜单都将显示这些更改。 但是,“命令”窗口会动态反映所做的任何更改。

下表总结了 命令 的属性如何影响其表示形式:

Caption 属性

Voice-Caption 属性

Voice 属性

Visible 属性

Enabled 属性

显示在字符的弹出菜单中

显示在“命令”窗口中

True

True

正常,使用 Caption

是,使用 VoiceCaption

True

False

已禁用,使用 Caption

False

True

未显示

是,使用 VoiceCaption

False

False

未显示

True

True

正常,使用 Caption

True

False

已禁用,使用 Caption

False

True

未显示

False

False

未显示

True

True

未显示

是,使用 VoiceCaption

True

False

未显示

False

True

不显示

是,使用 VoiceCaption

False

False

不显示

True

True

不显示

True

False

不显示

False

True

不显示

False

False

不显示

True

True

普通,使用 标题

是,使用 Caption

True

False

已禁用,使用 标题

False

True

不显示

是,使用 Caption

False

False

不显示

True

True

普通,使用 标题

True

False

已禁用,使用 标题

False

True

不显示

False

False

不显示

True

True

不显示

True

False

不显示

False

True

不显示

False

False

不显示

True

True

不显示

True

False

不显示

False

True

不显示

False

False

不显示

如果属性设置为 null。 在某些编程语言中,空字符串的解释可能与空字符串不同。 该命令仍可通过语音访问。

当服务器收到其中一个命令的输入时,它会发送 Command 事件,并将 Command 的名称作为 UserInput 对象的属性传回。 然后,可以使用条件语句来匹配和处理 命令