Login

在游戏中,我们经常使用Slash命令,比如各种表情 /chicken, /hi, 各种宏命令 /cast XXX,在最开始插件界面还很少有的时候,这种命令行的形式也是各种插件的控制方式,即使现在,Slash命令依然是常用的用户输入命令方式。那么这里来介绍如何在Studio里面创建和处理Slash命令。

注册一个事件PLAYER_LOGIN

  • 这个事件常用于处理插件唯一一次的初始化操作,我们在这个事件里面添加我们的Slash命令。

IGAS-Studio-SlashCmd-1.jpg

添加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命令的额外参数,便于用户控制插件。这里我们不多做额外处理了,直接弹出消息,显示额外的参数就是了。添加代码后,该函数为

   1 function _Addon:OnSlashCmd(msg)
   2     if msg and msg ~= "" then
   3         -- 如果msg不为空,那么弹出消息
   4         IGAS:MsgBox(msg)
   5     end
   6 end

IGAS-Studio-SlashCmd-2.jpg

执行和测试

  • 同样,我们运行该插件,并选择好PLAYER_LOGIN做启动事件。

IGAS-Studio-SlashCmd-3.jpg

  • 退出Studio,然后我们在命令栏中输入 /mycmd Hello World,运行,看到结果了。

IGAS-Studio-SlashCmd-4.jpg

  • okay,最后,进入Studio,停止MyAddon插件,我们这一节结束。

IGAS-Studio-SlashCmd (last edited 2010-08-25 20:35:01 by kurapica)