搜索
查看: 2095|回复: 9

[求助] coolzsb大哥请帮忙

[复制链接]
发表于 2003-6-25 21:23:45 | 显示全部楼层 |阅读模式 来自 中国–江苏–宿迁
我装了个可禁买武器的weapon_restriction插件,可发现item里面的装备也就是手雷防弹衣等不能用命令"amx_restrict item ?"禁买,也就是按键盘上的“b8?”还是照样可以购买,请大哥帮我看看是不是它的代码有问题啊,谢谢了~~~~

我对这个是一窍不通的,所以就全贴出来了,麻烦大哥了!!~~
/* AMX Mod script. * * (c) Copyright 2002, OLO * This file is provided as is (no warranties). * */ #include <amxmod>#include <amxmisc>/* Restriction for weapons*  Admin command for server and client (with flag "n"):*  amx_restrict < menu > [ keys ]*  no keys clears restriction from weapon menu**  examples:*  block whole pistol menu*  amx_restrict buy 1 * *  block sg552 and aug *  amx_restrict rifle 24 **  remove any restriction from menu shotgun*  amx_restrict shotgun**  NOTE: New settings for restriction don't clear old*  f.e. amx_restrict rifle 2 and amx_restrict rifle 4*  gives amx_restrict rifle 24*/new restricted[7]new menus[7][] = {"buy","pistol","shotgun","sub","rifle","machine","item"} public menu_buy(id,key)        return check_block(id,restricted[0],(1<<key))        public menu_pistol(id,key)         return check_block(id,restricted[1],(1<<key))        public menu_shotgun(id,key)         return check_block(id,restricted[2],(1<<key))public menu_sub(id,key)         return check_block(id,restricted[3],(1<<key))public menu_rifle(id,key)         return check_block(id,restricted[4],(1<<key))public menu_machine(id,key)         return check_block(id,restricted[5],(1<<key))public menu_item(id,key)         return check_block(id,restricted[6],(1<<key))check_block(id,rest,bit){        if (rest & bit){                engclient_cmd(id,"menuselect","10")                client_print(id,print_center,"* This position is restricted *")                return PLUGIN_HANDLED        }        return PLUGIN_CONTINUE}find_menuid(arg[]){        for(new a=0; a<7; ++a)                if(equal(arg,menus[a]))                        return a                return -1}read_setting(flags,arg[]){  new p = 0  for(new i=0;i<9;++i){    if (flags&(1<<i))      arg[p++]='1'+i  }  if (flags&512) /* exception */           arg[p++]='0'  arg[p]=0}public admin_restrict(id,level,cid){         if (!cmd_access(id,level,cid,2))                return PLUGIN_HANDLED        new arg[16], keys[16], c, d = 0        read_argv(1,arg,15) /* read the menu */        new menuid = find_menuid(arg)        if (menuid < 0){                console_print(id,"Menus: ^"buy^", ^"pistol^", ^"shotgun^", ^"sub^", ^"rifle^", ^"machine^", ^"item^"")                return PLUGIN_HANDLED        }        if ( read_argc() > 2 ) {/* if there are more than 2 parameters then you set restriction */                read_argv(2,keys,15)                while(keys[d]){                        c = ( keys[d] == '0' ) ? 9 : (  keys[d] - '1'  ) /* '0' is treaten as 9 key */                        restricted[menuid] |= (1<<c)                        d++                }                read_setting(restricted[menuid],keys) /* read current settings */                console_print(id,"Restriction set (menu ^"%s^") (keys ^"%s^")",arg,keys)                return PLUGIN_HANDLED        }        restricted[menuid] = 0 /* in other case you remove restriction */        console_print(id,"Restriction removed (menu ^"%s^")",arg)        return PLUGIN_HANDLED} public plugin_init(){         register_plugin("Weapon Restriction","0.9","default")        register_menucmd(register_menuid("#Buy"),1023,"menu_buy")        register_menucmd(register_menuid("BuyPistol"),1023,"menu_pistol")        register_menucmd(register_menuid("BuyShotgun"),1023,"menu_shotgun")        register_menucmd(register_menuid("BuySub"),1023,"menu_sub")        register_menucmd(register_menuid("BuyRifle"),1023,"menu_rifle")        register_menucmd(register_menuid("BuyMachine"),1023,"menu_machine")        register_menucmd(register_menuid("BuyItem"),1023,"menu_item")        register_menucmd(-28,1023,"menu_buy")        register_menucmd(-29,1023,"menu_pistol")        register_menucmd(-30,1023,"menu_shotgun")        register_menucmd(-32,1023,"menu_sub")        register_menucmd(-31,1023,"menu_rifle")        register_menucmd(-33,1023,"menu_machine")        register_menucmd(-34,1023,"menu_item")        register_concmd("amx_restrict","admin_restrict",ADMIN_LEVEL_B,"< menu > [ keys ]")        return PLUGIN_CONTINUE  }
发表于 2003-6-25 23:03:29 | 显示全部楼层 来自 中国–福建–厦门

OLO的代码不会有问题

是你的命令格式错误

请仔细看源代码的说明部分

你所需要的命令是

amx_restrict item 12345
回复

使用道具 举报

 楼主| 发表于 2003-6-26 00:05:40 | 显示全部楼层 来自 中国–江苏–镇江
我就是用的amx_restrict item 12345啊!
那个问号就代表一个数字
呵呵……都怪我没说清楚
:han:
如果可以的话,你能帮我试试看这个插件吗?
在这里有下载
http://bbs.dt-club.net/showthread.php?s=&threadid=5570
谢谢了~~~~~~~~~
回复

使用道具 举报

 楼主| 发表于 2003-6-26 15:46:53 | 显示全部楼层 来自 中国–山东–济宁
我还要补充一点,就是那个nomoregrenade.amx插件我原来能用的,可现在也不起作用了,我想这两个插件应该有共通的地方,不能用可能是我服务器的问题,可我不知道是哪儿出问题了????
回复

使用道具 举报

 楼主| 发表于 2003-6-26 17:23:18 | 显示全部楼层 来自 中国–山东–济宁
问题的原因找到了,原来是因为我装了一键买枪的补丁才导致插件禁买装备那部分功能不能用(我做的不是独立的cs服务器),把补丁卸载掉后插件就能用了。
回复

使用道具 举报

 楼主| 发表于 2003-6-26 19:23:01 | 显示全部楼层 来自 中国–山东–济宁
刚才又尝试了一下,发现购买菜单是图形界面的条件下("setinfo  _vgui_menus  1")插件才能正常使用。
回复

使用道具 举报

发表于 2003-6-26 21:28:30 | 显示全部楼层 来自 中国–福建–厦门

解决问题就好

一时半活也没有想到你的服务器不是独立服务器的~~~,正在想是不是插件冲突的问题呢
回复

使用道具 举报

 楼主| 发表于 2003-6-26 23:48:00 | 显示全部楼层 来自 中国–山东–济宁
呵呵~~~~~~
大哥真是热心人啊!!!
再次谢谢你的关心指导!
有你和其他各位论坛上的老大,我们新人真是有福啊~~ :yeah:
回复

使用道具 举报

发表于 2003-6-27 13:38:15 | 显示全部楼层 来自 中国–上海–上海
最初由 rexon 发表
刚才又尝试了一下,发现购买菜单是图形界面的条件下(&quot;setinfo  _vgui_menus  1&quot;)插件才能正常使用。

我就是用的非图形购买菜单
而且用初级服务器(自带cs-cn的一键买枪),restrict weapon有效
回复

使用道具 举报

 楼主| 发表于 2003-6-27 16:24:15 | 显示全部楼层 来自 中国–江苏–镇江
哦,那是怎么回事啊,我的也就是item选项非要图形菜单才有效啊,其他禁买武器的选项在两种菜单下都有效。还有我就是把其他插件都注释掉也没用。这就排除了coolzsb大哥说的插件冲突的可能了。那个插件我也是从官方网站下的,应该没什么问题吧。楼上的大哥能不能把你的插件贴出来让我试试看啊!
谢谢了~~~~~~
回复

使用道具 举报

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

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