【求助】希望开发这样一种插件!限制使用队标
现在很多网络战队都用国内,国外知名战队的队标,很讨厌!所以希望能有一个限制使用队标的插件!
HLGuard 有这样的功能,但是太耗资源!
amxx官方论坛也有一个,但是经过测试,服务器安装后会很卡!而且是写正则表达式的,太麻烦!
回复: 【求助】希望开发这样一种插件!限制使用队标
我写了一个,但是不起任何作用,而且服务器会有些卡,请高手来看看是哪里的问题,谢谢!#include <amxmodx>
public plugin_init(){
register_plugin("Restrict Clan Name","0.8","Eric")
}
public client_connect(id){
checkid(id)
return PLUGIN_HANDLED
}
public client_infochanged(id){
checkid(id)
return PLUGIN_HANDLED
}
public checkid(id){
new dyUserIP, dyUserName, line = 1, data, stxtsize
get_user_ip( id, dyUserIP, 31, 1 )
get_user_name( id, dyUserName, 31 )
if( containi( dyUserName,"cheat" )!=-1 ){
if(file_exists("addons/amxmodx/configs/clans.cfg")){
while((line=read_file("addons/amxmodx/configs/clans.cfg",line,data,31,stxtsize))!=0){
if(line < 449 && line > -1){
if( containi( dyUserName,data )!=-1 ){
if(get_user_flags(id)&ADMIN_ADMIN){
console_print(id, "*提示信息*您所使用的战队名称已经被保护, 不允许使用, 请立即更换...")
console_print(id, "*提示信息*如果您是该战队成员请与管理员联系, 否则将被踢出联赛服务器")
}else{
server_cmd("kick #%d 您所使用的战队名称已经被保护, 不允许使用, 请立即更换", get_user_userid(id))
//server_cmd( "banip ^"%d^" ^"%s^" writeip, 0, dyUserIP" )
//log_amx( "玩家 '%s' 已经被永久封禁!", dyUserName )
//new User
//new AUTHID
//new IPAddy
//new idlog
//new filename
//get_time("admin_logs/id_logs/%Y-%m-%d--id.log",filename,99)
//get_user_authid(id,AUTHID,31)
//get_user_name(id,User,31)
//get_user_ip(id,IPAddy,31,1)
//format(idlog, 191, "%s %s%s", AUTHID,IPAddy, User)
//log_to_file(filename,idlog)
return PLUGIN_CONTINUE
}
}
}
}
}
}
return PLUGIN_CONTINUE
}
clans.cfg 格式,每行一个:
wNv
wNv.gm
wNv.cn
3D|
3D |
SK|
SK |
SK.swe
NiP|
NiP |
NiP-
fnatic.
arCade_
Hacker.PK
Hacker.
ALTERNATE aTTaX
mTw |
mouz Levicom BenQ |
coL.
eclipse.
NoA.
回复: 【求助】希望开发这样一种插件!限制使用队标
把名称读取到内存中吧你这样
不卡死你才怪
回复: 【求助】希望开发这样一种插件!限制使用队标
要在client_infochanged(id)函数中判断玩家是否改名字!因为该函数不只在玩家改名字时調用。同时,按照楼上的思路,把读取文件内容到内存放在plugin_init()中。
#define MAX_TNAMES 128
#define MAX_STRLEN 16
new tName
new total_teams
public plugin_init()
{
register_plugin("Restrict Clan Name","0.8","Eric")
set_task(2.0, "read_teamname")
return PLUGIN_CONTINUE
}
public read_teamname()
{
//读取文件内容到 tName , 同时把对名总数保存到 total_teams
}
public client_putinserver(id)
{
checkid(id)
return PLUGIN_CONTINUE
}
public client_infochanged(id)
{
new newname, oldname
get_user_info(id, "name", newname,31)
get_user_name(id,oldname,31)
if (!equal(oldname,newname))
{
checkid(id)
}
return PLUGIN_CONTINUE
}
public checkid(id)
{
//你的代码
// 如果名字中包含那些名字中的一个,set_user_info(id,"name",newname)
}
同时,注意一下函数的返回值。
#define PLUGIN_CONTINUE 0 /* Results returned by public functions */
#define PLUGIN_HANDLED 1 /* stop other plugins */
#define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */
回复: 【求助】希望开发这样一种插件!限制使用队标
有这么复杂吗!说的不就是队标保护!AMX和MAXX都可以实现啊,跟保护自己F里用队标一样。
例如禁止使用队标 ABCD
在amxx/config/user.ini里写入
"ABCD' "EFGH" "z" "ab"
EFGH为密码 怕被破解就搞的N复杂不就完了。也不知道你们讨论的是不是这个东西。
回复: 【求助】希望开发这样一种插件!限制使用队标
Post by wzj16有这么复杂吗!说的不就是队标保护!
AMX和MAXX都可以实现啊,跟保护自己F里用队标一样。
例如禁止使用队标 ABCD
在amxx/config/user.ini里写入
"ABCD' "EFGH" "z" "ab"
EFGH为密码 怕被破解就搞的N复杂不就完了。也不知道你们讨论的是不是这个东西。
恩,是可以保护。只是别人被踢出不明不白。:)
回复: 【求助】希望开发这样一种插件!限制使用队标
AMXX官方好像发布过这样的插件??回复: 【求助】希望开发这样一种插件!限制使用队标
学习了.我也很讨厌挂别人队标的猪
页:
[1]