搜索
查看: 2762|回复: 6

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

[复制链接]
发表于 2007-1-10 16:25:15 | 显示全部楼层 |阅读模式 来自 中国–天津–天津–红桥区
1、就是说,例如比赛插件,op输入menu,可以看到菜单里有个比赛插件,选择他,可以启动比赛插件。

2、如何给插件设置权限?就是说,只有拥有这个“m”权限才能使用该插件。
发表于 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")
回复

使用道具 举报

 楼主| 发表于 2007-1-11 08:36:08 | 显示全部楼层 来自 中国–天津–天津–红桥区

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

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

使用道具 举报

发表于 2007-1-11 15:17:35 | 显示全部楼层 来自 中国–陕西–西安

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

[PHP]
#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

    //在后面编写你自己的代码......
}
[/PHP]
回复

使用道具 举报

 楼主| 发表于 2007-1-11 15:40:55 | 显示全部楼层 来自 中国–天津–天津–红桥区

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

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

使用道具 举报

发表于 2007-1-11 16:58:58 | 显示全部楼层 来自 中国–陕西–西安

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

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

#define ADMIN_ALL  0 /* 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" */
回复

使用道具 举报

 楼主| 发表于 2007-1-12 08:29:18 | 显示全部楼层 来自 中国–天津–天津–红桥区

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

哈哈,谢谢你…………
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表