有没有指定某人可以不开sxe的插件?
有没有指定某人可以不开sxe的插件?记得以前在点通好像看到过啊。 大家帮帮忙啊。 不强制SXE,然后判断名字是否为 k1nader 发表于 2015-3-27 03:06不强制SXE,然后判断名字是否为
谢谢你,但我想的是强制sxe,但可以指定某人不开sxe并且名字无 本帖最后由 k1nader 于 2015-3-30 09:58 编辑
aKang 发表于 2015-3-28 12:43
谢谢你,但我想的是强制sxe,但可以指定某人不开sxe并且名字无
不强制SXE,名字出现 就直接KICK,你只需要指定不kick谁就行了,道理一样,不改这个人的名字你看下 FM_ClientUserInfoChanged 就OK了 k1nader 发表于 2015-3-30 09:57
不强制SXE,名字出现 就直接KICK,你只需要指定不kick谁就行了,道理一样,不改这个人的名字 ...
谢谢版主指导。 k1nader 发表于 2015-3-30 09:57
不强制SXE,名字出现 就直接KICK,你只需要指定不kick谁就行了,道理一样,不改这个人的名字 ...
我以前也尝试过用FM_ClientUserInfoChanged禁止让sxe修改某个玩家的名字为 ,但会出现你不断禁止它修改,而sxe却一直不断的尝试修改,好像进入一个死循环一样,最后服务器duang~的一声,挂掉了。
不知道有没有更好的解决方法? XE没公开接口把 ttbs123 发表于 2015-4-2 22:42
我以前也尝试过用FM_ClientUserInfoChanged禁止让sxe修改某个玩家的名字为 ,但会出现你不断禁 ...
get_user_msgid("SayText");
Hook 这个消息
#Cstrike_Name_Change
判断这个,改名的一瞬间给他改回去并且 return PLUGIN_HANDLED ttbs123 发表于 2015-4-2 22:42
我以前也尝试过用FM_ClientUserInfoChanged禁止让sxe修改某个玩家的名字为 ,但会出现你不断禁 ...
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "k1nader"
static const g_nosXeIname[] = "";
new g_iSayTextBlock, g_iUserIsUsesXeClient;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_message(get_user_msgid("SayText"), "Message_SayText");
}
public client_putinserver(id)
{
g_iSayTextBlock = 0;
g_iUserIsUsesXeClient = 1;
}
public Message_SayText(dest, type, id)
{
static msg;
get_msg_arg_string(2, msg, charsmax(msg));
if (equal(msg, "#Cstrike_Name_Change"))
{
static name, PlayerId;
PlayerId = get_msg_arg_int(1);
if (!g_iSayTextBlock)
{
get_msg_arg_string(4, name, charsmax(name));
if(contain(name, g_nosXeIname) != -1)
{
replace_all(name, charsmax(name), g_nosXeIname, "");
set_user_info(PlayerId, "name", name);
g_iSayTextBlock = 1;
g_iUserIsUsesXeClient = 0;
return PLUGIN_HANDLED;
}
}
else
{
g_iSayTextBlock = 0;
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
stock sXeClient(id)
{
return g_iUserIsUsesXeClient;
}
我用这个测试了下,可以通过。