搜索
查看: 2001|回复: 7

【求助】希望开发这样一种插件!限制使用队标

[复制链接]
发表于 2006-6-20 15:42:29 | 显示全部楼层 |阅读模式 来自 中国–山西–太原
现在很多网络战队都用国内,国外知名战队的队标,很讨厌!
所以希望能有一个限制使用队标的插件!

HLGuard 有这样的功能,但是太耗资源!
amxx官方论坛也有一个,但是经过测试,服务器安装后会很卡!而且是写正则表达式的,太麻烦!
 楼主| 发表于 2006-6-21 13:09:48 | 显示全部楼层 来自 中国–山西–太原

回复: 【求助】希望开发这样一种插件!限制使用队标

我写了一个,但是不起任何作用,而且服务器会有些卡,请高手来看看是哪里的问题,谢谢!
  1. #include <amxmodx>
  2. public plugin_init(){
  3. register_plugin("Restrict Clan Name","0.8","Eric")
  4. }
  5. public client_connect(id){
  6. checkid(id)
  7. return PLUGIN_HANDLED
  8. }
  9. public client_infochanged(id){
  10. checkid(id)
  11. return PLUGIN_HANDLED
  12. }
  13. public checkid(id){
  14. new dyUserIP[32], dyUserName[32], line = 1, data[32], stxtsize
  15. get_user_ip( id, dyUserIP, 31, 1 )
  16. get_user_name( id, dyUserName, 31 )
  17. if( containi( dyUserName,"cheat" )!=-1 ){
  18.   if(file_exists("addons/amxmodx/configs/clans.cfg")){
  19.    while((line=read_file("addons/amxmodx/configs/clans.cfg",line,data,31,stxtsize))!=0){
  20.     if(line < 449 && line > -1){
  21.      if( containi( dyUserName,data )!=-1 ){
  22.       if(get_user_flags(id)&ADMIN_ADMIN){
  23.        console_print(id, "*提示信息*  您所使用的战队名称已经被保护, 不允许使用, 请立即更换...")
  24.        console_print(id, "*提示信息*  如果您是该战队成员请与管理员联系, 否则将被踢出联赛服务器")
  25.       }else{
  26.        server_cmd("kick #%d 您所使用的战队名称已经被保护, 不允许使用, 请立即更换", get_user_userid(id))
  27.        //server_cmd( "banip ^"%d^" ^"%s^" writeip, 0, dyUserIP" )
  28.        //log_amx( "玩家 '%s' 已经被永久封禁!", dyUserName )
  29.        //new User[32]
  30.        //new AUTHID[32]
  31.        //new IPAddy[32]
  32.        //new idlog[192]
  33.        //new filename[100]
  34.        //get_time("admin_logs/id_logs/%Y-%m-%d--id.log",filename,99)
  35.        //get_user_authid(id,AUTHID,31)
  36.        //get_user_name(id,User,31)
  37.        //get_user_ip(id,IPAddy,31,1)
  38.        //format(idlog, 191, "%s %s  %s", AUTHID,IPAddy, User)
  39.        //log_to_file(filename,idlog)
  40.        return PLUGIN_CONTINUE
  41.       }
  42.      }
  43.     }
  44.    }
  45.   }
  46. }
  47. return PLUGIN_CONTINUE
  48. }
复制代码

clans.cfg 格式,每行一个:
  1. wNv
  2. wNv.gm
  3. wNv.cn
  4. 3D|
  5. 3D |
  6. SK|
  7. SK |
  8. SK.swe
  9. NiP|
  10. NiP |
  11. NiP-
  12. fnatic.
  13. arCade_
  14. Hacker.PK
  15. Hacker.
  16. ALTERNATE aTTaX
  17. mTw |
  18. mouz Levicom BenQ |
  19. coL.
  20. eclipse.
  21. NoA.
复制代码
回复

使用道具 举报

发表于 2006-6-21 13:58:55 | 显示全部楼层 来自 中国–上海–上海–浦东新区

回复: 【求助】希望开发这样一种插件!限制使用队标

把名称读取到内存中吧
你这样
不卡死你才怪
回复

使用道具 举报

发表于 2006-6-21 19:38:46 | 显示全部楼层 来自 中国–黑龙江–哈尔滨

回复: 【求助】希望开发这样一种插件!限制使用队标

要在client_infochanged(id)函数中判断玩家是否改名字!因为该函数不只在玩家改名字时調用。
  同时,按照楼上的思路,把读取文件内容到内存放在plugin_init()中。

[PHP]
#define MAX_TNAMES 128
#define MAX_STRLEN 16

new tName[MAX_TNAMES][MAX_STRLEN]
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[32], oldname[32]
                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)
}
[/PHP]

同时,注意一下函数的返回值。
#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 */
回复

使用道具 举报

发表于 2006-6-21 21:12:49 | 显示全部楼层 来自 中国–广东–深圳

回复: 【求助】希望开发这样一种插件!限制使用队标

有这么复杂吗!说的不就是队标保护!
AMX和MAXX都可以实现啊,跟保护自己F里用队标一样。
例如禁止使用队标 ABCD
在amxx/config/user.ini里写入
"ABCD' "EFGH" "z" "ab"

EFGH为密码 怕被破解就搞的N复杂不就完了。也不知道你们讨论的是不是这个东西。
回复

使用道具 举报

发表于 2006-6-21 22:39:16 | 显示全部楼层 来自 中国–黑龙江–哈尔滨

回复: 【求助】希望开发这样一种插件!限制使用队标

Post by wzj16
有这么复杂吗!说的不就是队标保护!
AMX和MAXX都可以实现啊,跟保护自己F里用队标一样。
例如禁止使用队标 ABCD
在amxx/config/user.ini里写入
"ABCD' "EFGH" "z" "ab"

EFGH为密码 怕被破解就搞的N复杂不就完了。也不知道你们讨论的是不是这个东西。


恩,是可以保护。只是别人被踢出不明不白。:)
回复

使用道具 举报

发表于 2006-6-22 11:41:19 | 显示全部楼层 来自 中国–上海–上海–松江区

回复: 【求助】希望开发这样一种插件!限制使用队标

AMXX官方好像发布过这样的插件??
回复

使用道具 举报

发表于 2006-6-23 11:07:17 | 显示全部楼层 来自 中国–广西–南宁–邕宁区

回复: 【求助】希望开发这样一种插件!限制使用队标

学习了.我也很讨厌挂别人队标的猪
回复

使用道具 举报

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

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