在游戏中,我们经常使用Slash命令,比如各种表情 /chicken, /hi, 各种宏命令 /cast XXX,在最开始插件界面还很少有的时候,这种命令行的形式也是各种插件的控制方式,即使现在,Slash命令依然是常用的用户输入命令方式。那么这里来介绍如何在Studio里面创建和处理Slash命令。
注册一个事件PLAYER_LOGIN
- 这个事件常用于处理插件唯一一次的初始化操作,我们在这个事件里面添加我们的Slash命令。
添加PLAYER_LOGIN的处理脚本
如同上一节我们处理ADDON_LOADED一样,在注册事件后,我们在MyAddon文件中创建PLAYER_LOGIN的处理函数。添加代码后,该函数为
1 function _Addon:PLAYER_LOGIN()
2 _Addon:AddSlashCmd("/mycmd", "/mycmd2", "/mycmd3")
3 end
AddSlashCmd是_Addon插件对象用于注册Slash命令的代码,可以填入多个参数,每个参数都是一个命令形式,当然一般情况下,写一个就可以了。大小写不限。
添加Slash命令的处理脚本
PLAYER_LOGIN事件发生后,我们就注册了自己的Slash命令,那么当用户输入命令后,我们还需要有处理命令的代码,同样,在事件选择列表中选择OnSlashCmd,就可以创建好Slash命令的处理函数。
- 这个函数有一个参数msg(实际上有两个参数,但一般情况下第二个参数无需用到,默认不处理了),如果我输入
- /mycmd hello world
那么,msg就是 hello world。这个用于传递Slash命令的额外参数,便于用户控制插件。这里我们不多做额外处理了,直接弹出消息,显示额外的参数就是了。添加代码后,该函数为
- /mycmd hello world
1 function _Addon:OnSlashCmd(msg)
2 if msg and msg ~= "" then
3 -- 如果msg不为空,那么弹出消息
4 IGAS:MsgBox(msg)
5 end
6 end
执行和测试
- 同样,我们运行该插件,并选择好PLAYER_LOGIN做启动事件。
退出Studio,然后我们在命令栏中输入 /mycmd Hello World,运行,看到结果了。
okay,最后,进入Studio,停止MyAddon插件,我们这一节结束。


