css 发表于 2012-12-19 09:25:12

求插件 ,过滤玩家名字中的 禁用字符

本帖最后由 css 于 2012-12-19 09:29 编辑

比如 玩家名字中带有 我是你大爷 祖宗 之类的 字符直接提示 名字中含有违禁字符 不能联机 或者 联机之后 通知玩家客户端 并 踢出 ,最好 是 可以 cvars 的以方便 修改 啊,可以 多重 同样参数 多条添加 的 ,以前 在 amxx 官方网站 貌似 看到一个 屏蔽 玩家 say 网址 的 ,希望 能借鉴 啊 ,say 里面 屏蔽 qq号 和 其它广告 类的 能加上 也很好 !!或者 玩家名字 虽然有违禁字符 但是 被屏蔽 ,按 tab和其它玩家都看不到 违禁字符 是 啥 也行 !另外提醒大师们,amxx自带 识别敏感大小写字母,希望有所借鉴!
期待高手!
不求源码 !

hackroad 发表于 2012-12-19 10:01:30

本帖最后由 hackroad 于 2012-12-19 10:02 编辑

hlg_nameban.cfg

当然插件去判断更好了....

您输入的汉字小于5个,被评定为灌水!

css 发表于 2012-12-19 10:09:29

hackroad 发表于 2012-12-19 10:01 static/image/common/back.gif
hlg_nameban.cfg

当然插件去判断更好了....


http://forum.dt-club.net/forum.php?mod=viewthread&tid=30248这个 莫斯可以 啊

hackroad 发表于 2012-12-19 10:54:38

css 发表于 2012-12-19 10:09 static/image/common/back.gif
http://forum.dt-club.net/forum.php?mod=viewthread&tid=30248这个 莫斯可以 啊

那边回帖 貌似不是很准确...

刘半仙【仙】 发表于 2012-12-22 13:57:56

noname.amxx
找一下吧。。
我找不到了

hackroad 发表于 2012-12-23 20:41:44

刘半仙【仙】 发表于 2012-12-22 13:57 static/image/common/back.gif
noname.amxx
找一下吧。。
我找不到了

有这个插件么.......

sakulekingz 发表于 2012-12-24 11:36:29

#include <amxmodx>
#include <amxmisc>

#define PLUGIN        "Shield"
#define VERSION        "1.0"
#define AUTHOR        "k1nader"
#define LOADING        "^n^t%s v%s, Copyright (C) 2012 by %s^n"

new configfile;

public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR);
        server_print(LOADING, PLUGIN, VERSION, AUTHOR);
        register_clcmd("say", "say_hook");
        register_clcmd("say_team", "say_hook");
       
        get_configsdir(configfile, charsmax(configfile));
        formatex(configfile, charsmax(configfile), "%s/shield.ini", configfile);
        // Add your code here...
}

public say_hook(id)
{
        new text, onshow;
        read_args(text, charsmax(text));
        remove_quotes(text);
        if(is_containi(text, onshow, charsmax(onshow)))
        {
                client_print(id, print_chat, "此次发言中包含敏感词汇:%s", onshow);
                return PLUGIN_HANDLED;
        }
        return PLUGIN_CONTINUE;
}

public client_connect(id)
{
        new name, onshow;
        get_user_name(id, name, charsmax(name));
        if(is_containi(name, onshow, charsmax(onshow)))
                kick_player(id, "名字中包含敏感词汇:%s", onshow);
}

public client_infochanged(id)
{
        new name, onshow;
        get_user_info(id, "name", name, charsmax(name));
        if(is_containi(name, onshow, charsmax(onshow)))
                kick_player(id, "名字中包含敏感词汇:%s", onshow);
}

bool:is_containi(const szname[], result[], resultlen)
{
        new bool:result_boolean = false;
        if (file_exists(configfile))
        {
                new message, len, line = 0;
                while(read_file(configfile, line++, message, charsmax(message), len))
                {
                        if(containi(szname, message) != -1)
                        {
                                formatex(result, resultlen, message);
                                result_boolean = true;
                                break;
                        }
                }
        }
        return result_boolean;
}

stock kick_player(id, Message[], any:...)
{
        new msg_content;
        vformat(msg_content, 511, Message, 3);
        message_begin(MSG_ONE, SVC_DISCONNECT, {0,0,0}, id);
        write_string(msg_content);
        message_end();
}未测试,使用方法:
在config文件夹内创建 shield.ini 的文件。
一行一个你需要屏蔽的词汇。

hackroad 发表于 2012-12-25 23:41:12

sakulekingz 发表于 2012-12-24 11:36 static/image/common/back.gif
未测试,使用方法:
在config文件夹内创建 shield.ini 的文件。
一行一个你需要屏蔽的词汇。 ...

乌龟就是牛逼.......

清心阁 发表于 2012-12-26 00:15:18

sakulekingz 真是神人呀!!!!

css 发表于 2012-12-26 09:10:57

sakulekingz 发表于 2012-12-24 11:36 static/image/common/back.gif
未测试,使用方法:
在config文件夹内创建 shield.ini 的文件。
一行一个你需要屏蔽的词汇。 ...

很好 一定 测试 ,另外 那个nameban.amxx也不错 , 只不过 有几个 参数 不行哈哈 ,那个 检测到 违禁字符 自动 改为设置好的名字 有用啊 ,比如 检测到www.就改为 你的 战队 的 名字,请加入惪晟精英
页: [1] 2
查看完整版本: 求插件 ,过滤玩家名字中的 禁用字符