CGstorm 发表于 2007-1-10 16:25:15

怎么把插件写到say/功能里?

1、就是说,例如比赛插件,op输入menu,可以看到菜单里有个比赛插件,选择他,可以启动比赛插件。

2、如何给插件设置权限?就是说,只有拥有这个“m”权限才能使用该插件。

Rulzy 发表于 2007-1-10 17:32:01

回复: 怎么把插件写到say/功能里?

可以在 configs/custommenuitems.cfg 里加上:

amx_addmenuitem "比赛菜单" "amx_matchmenu" m "AMX Match Deluxe"

但这样比赛菜单是加到管理员菜单的最后面,如果想加到前面,打开 menufront.sma,查找找到 AddDefaultMenus 函数,在此函数适当位置加上如下一行:

AddMenu("比赛菜单", "amx_matchmenu", ADMIN_LEVEL_A, "AMX Match Deluxe")

CGstorm 发表于 2007-1-11 08:36:08

回复: 怎么把插件写到say/功能里?

Rulzy可能误会我的意思了。我是说我想写个插件,在插件里面编写一个什么内容的代码,能让op输入say /xx命令启动该插件,输入menu也能调用该插件,还有在插件代码里如何编写,才能让有m权限的op调用???

Rulzy 发表于 2007-1-11 15:17:35

回复: 怎么把插件写到say/功能里?


#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
    register_plugin("Test Say Menu", "1.0", "Rulzy")

    register_clcmd("say /xxx", "cmdSayXXX", ADMIN_LEVEL_A, "提示信息")
    //这里的 ADMIN_LEVEL_A 就是 m 权限
}
public cmdSayXXX(id, level, cid)
{
    if(!cmd_access(id, level, cid, 1))//判断权限
      return PLUGIN_HANDLED

    //在后面编写你自己的代码......
}

CGstorm 发表于 2007-1-11 15:40:55

回复: 怎么把插件写到say/功能里?

感动的要流泪了。那么ADMIN_LEVEL_A 是m权限,有没有可查询的?
比如说ADMIN_LEVEL_A 是m权限,ADMIN_LEVEL_B 是I权限,ADMIN_LEVEL_C 是w权限等等?

Rulzy 发表于 2007-1-11 16:58:58

回复: 怎么把插件写到say/功能里?

打开 scripting/include/amxconst.inc 看看就知道了。

#define ADMIN_ALL0 /* everyone */
#define ADMIN_IMMUNITY(1<<0) /* flag "a" */
#define ADMIN_RESERVATION (1<<1) /* flag "b" */
#define ADMIN_KICK(1<<2) /* flag "c" */
#define ADMIN_BAN(1<<3) /* flag "d" */
#define ADMIN_SLAY(1<<4) /* flag "e" */
#define ADMIN_MAP(1<<5) /* flag "f" */
#define ADMIN_CVAR(1<<6) /* flag "g" */
#define ADMIN_CFG(1<<7) /* flag "h" */
#define ADMIN_CHAT(1<<8) /* flag "i" */
#define ADMIN_VOTE(1<<9) /* flag "j" */
#define ADMIN_PASSWORD(1<<10) /* flag "k" */
#define ADMIN_RCON(1<<11) /* flag "l" */
#define ADMIN_LEVEL_A(1<<12) /* flag "m" */
#define ADMIN_LEVEL_B(1<<13) /* flag "n" */
#define ADMIN_LEVEL_C(1<<14) /* flag "o" */
#define ADMIN_LEVEL_D(1<<15) /* flag "p" */
#define ADMIN_LEVEL_E(1<<16) /* flag "q" */
#define ADMIN_LEVEL_F(1<<17) /* flag "r" */
#define ADMIN_LEVEL_G(1<<18) /* flag "s" */
#define ADMIN_LEVEL_H(1<<19) /* flag "t" */
#define ADMIN_MENU(1<<20) /* flag "u" */
#define ADMIN_ADMIN(1<<24) /* flag "y" */
#define ADMIN_USER(1<<25) /* flag "z" */

CGstorm 发表于 2007-1-12 08:29:18

回复: 怎么把插件写到say/功能里?

哈哈,谢谢你…………
页: [1]
查看完整版本: 怎么把插件写到say/功能里?