自定义命令并在wow的界面设置列表中添加自己的插件

我们平时在WoW中按ESC键,从弹出的游戏菜单中选择“界面”,然后切换到“插件”标签,左边的列表可以看到一些插件名称,点击某一插件,可以在右边进行一些相应设置。

不过其实很多插件的功能设置会依靠聊天对话框输入命令来开启,或者在小地图上有个图标让你点,甚至干脆就没选项(比如我教程中写的那个),所以并不是所有插件都会添加到那个界面列表中。不过今天有人来问说,如何把自己编写的插件添加到这个菜单中去呢?

这里直接给出相关函数的说明链接
InterfaceOptions_AddCategory(panel)
http://wowprogramming.com/docs/api/InterfaceOptions_AddCategory

panel是frame类型,必须包含一个string类型name成员,也就是说,你至少要给这个frame定个名字,这样调用这个函数就可以添加自己插件的设置页面到列表中,并显示得出来。

老规矩,为了照顾新手,小写了一个只实现添加插件名字到列表中的代码,把代码下载解压扔到wow的插件目录下,进入游戏在界面中选择这个插件之后,右边只有一个按钮,随便按……没有任何功能。我还小加了段编写自定义命令的部分,输入/optiontest就可以直接开启设置页面。

[猛击我下载这个笨插件代码]

如果有人想问说,怎么自定义命令呢,有3个步骤

  1. 根据SLASH_{插件名字大写}{序号}格式,自定义命令的名称,可以不止一条,序号从1递增
  2. SlashCmdList[插件名字大写],指定插件的自定义命令对应的处理函数
  3. 编写处理函数

代码如下


SLASH_OPTIONTEST1 = "/optiontest";--添加自定义命令名称
SlashCmdList["OPTIONTEST"] = OptionTest_SlashCommand;--函数名其实随意

local function OptionTest_SlashCommand(msg, editbox)
--开启设置页面
InterfaceOptionsFrame_OpenToCategory(OptionTest.name);
end

需要特别注意的SLASH_OPTIONTEST1跟SlashCmdList[“OPTIONTEST”],你插件的名字在这里一定要大写(其他的插件也都这样写),我无从查起为何要这样,但是我试过改成小写均无效,谁来告诉我为嘛啊……
InterfaceOptionsFrame_OpenToCategory是开启我们前面提到的那个设置页面的函数,可以在WowProgramming查询详细资料。

Tagged ,

One thought on “自定义命令并在wow的界面设置列表中添加自己的插件

  1. Birdie说道:

    When we plan our parties, we spend time thinking about the menu, the music, the table settings, ceecerpintes and all the other little details that go into making a wonderful event. But the first thing we should really focus on is our guests.

发表评论

电子邮件地址不会被公开。