搜索
查看: 4156|回复: 11

求助!怎么使客户端禁止使用某一个控制台命令!

[复制链接]
发表于 2007-8-3 03:07:01 | 显示全部楼层 |阅读模式 来自 中国–四川–宜宾
比如说我想使得玩家在服务器里面不能用控制台使用bind命令,那么我这样写插件,可不可以?
register_concmd( "bind","",ADMIN_KICK, "" )
我是新手,期待高手的解答,谢谢!
发表于 2007-8-3 09:50:47 | 显示全部楼层 来自 中国–广东–中山

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

正规用法:
register_concmd("控制台命令","函数",所需要的权限,"对该命令的注释")

你可以设置不需要权限的命令,也可以不写注释。但控制台命令和对应的函数必须指明。
像你这样禁用bind是不行的。
我也不是高手,说得不对的地方请指正!
(你为什么要禁用bind呢?)
回复

使用道具 举报

 楼主| 发表于 2007-8-5 19:24:02 | 显示全部楼层 来自 中国–四川–宜宾

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

恩,我就是这样试过,不得行,但我使用了一些函数也好像没有效果,有点迷惑!
回复

使用道具 举报

 楼主| 发表于 2007-8-5 20:01:03 | 显示全部楼层 来自 中国–四川–宜宾

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

恩,我就是这样试过,不得行,但我使用了一些函数也好像没有效果,有点迷惑!
回复

使用道具 举报

发表于 2007-8-6 08:10:00 | 显示全部楼层 来自 中国–湖南–永州

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

想屏蔽诸如:bind等命令,那是不可能实现的,因为这些命令根本不经过CS服务器,它是直接修改客户端配置,试问一个不经过CS服务器的命令,如何通过插件来禁止咯!?
除非像sXe那样有一客户端程序进行监控!
回复

使用道具 举报

发表于 2007-8-6 20:16:12 | 显示全部楼层 来自 中国–福建–三明

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

我觉得是可以实现的!客户端向--服务端请求bind时 服务器端给于拒绝~~!服务端不接受,客户端命令。你客户端拥有在多命令有什么用?
回复

使用道具 举报

发表于 2007-8-6 22:41:00 | 显示全部楼层 来自 中国–湖北–黄石

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

Post by hnroc
想屏蔽诸如:bind等命令,那是不可能实现的,因为这些命令根本不经过CS服务器,它是直接修改客户端配置,试问一个不经过CS服务器的命令,如何通过插件来禁止咯!?
除非像sXe那样有一客户端程序进行监控!


我支持你,这种思路值得讨论。
bind命令是属于客户端命令集的,服务器应该禁止不了的。
回复

使用道具 举报

发表于 2007-8-7 08:31:15 | 显示全部楼层 来自 中国–湖南–永州

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

Post by 731
我觉得是可以实现的!客户端向--服务端请求bind时 服务器端给于拒绝~~!服务端不接受,客户端命令。你客户端拥有在多命令有什么用?

要想屏蔽某个命令,你首先要了解其工作原理,拿bind这个命令来说,bind "m" "chooseteam"这个命令是玩家按M键时选边的, 这里分2种情况:
1、事先已经做了绑定,当玩家按了M键后,这时玩家向服务端传送的命令是chooseteam而非什么bind之类的命令,bind命令只是客户端用来定义一个相当于快捷方式,它并不发送到服务端上,所以服务端如何接收到bind命令呢?如果不相信,你也可以去试,不按M键,直接在控制台里输入chooseteam,效果与按M键是一样的,像这类情况服务端就可以定义chooseteam来进行限制,比如禁止玩家换边等等;
2、事先没有绑定,在游戏中玩家通过控制台命令bind "m" "chooseteam"进行绑定,这样是否能屏蔽掉呢?答案是否定的,因为这个命令不经过服务器,而是客户端自己处理的,客户端只要接收到这个命令,首先看命令格式是否正确,如果不正确就给出命令格式及用法,如果正确就直接绑定,也就是说以后玩家按下自定义的键时,客户端就直接向服务端发送绑定的命令,如上面例子的“chooseteam”;
所以不要在这种无结果的事情上浪费时间和精力了,除非有客户程序运行于客户端,像sXe那样。
回复

使用道具 举报

发表于 2007-8-7 09:23:48 | 显示全部楼层 来自 中国–广东–广州–白云区

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

Post by hnroc
要想屏蔽某个命令,你首先要了解其工作原理,拿bind这个命令来说,bind "m" "chooseteam"这个命令是玩家按M键时选边的, 这里分2种情况:
1、事先已经做了绑定,当玩家按了M键后,这时玩家向服务端传送的命令是chooseteam而非什么bind之类的命令,bind命令只是客户端用来定义一个相当于快捷方式,它并不发送到服务端上,所以服务端如何接收到bind命令呢?如果不相信,你也可以去试,不按M键,直接在控制台里输入chooseteam,效果与按M键是一样的,像这类情况服务端就可以定义chooseteam来进行限制,比如禁止玩家换边等等...


精僻!!!!!!!!!!!!!!!!!!!!!:super:
回复

使用道具 举报

 楼主| 发表于 2007-8-7 18:07:38 | 显示全部楼层 来自 中国–四川–宜宾

回复: 求助!怎么使客户端禁止使用某一个控制台命令!

学习了不少东西!
要是能够实现就好了,那样就可以把1.5的开下载防炸问题解决了。。。
回复

使用道具 举报

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

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