Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fakemeta>
#include <regex>
#if !defined MAX_NAME_LENGTH
const MAX_NAME_LENGTH = 32
#endif
new const BANNED_DOMAINS[][] =
{
".ro", ".com", "tk"
}
new const BANNED_REGEX[][] =
{
"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
}
new const CHANGE_NAME[] = "PrivateNick"
new Regex:g_iRegexPattern[sizeof(BANNED_REGEX)], g_fwdUserNameChanged
public plugin_init()
{
register_plugin("No Domains in Name", "1.1", "OciXCrom")
register_event("SayText", "OnSayText", "a", "2=#Cstrike_Name_Change")
for(new i, j; i < sizeof(BANNED_REGEX); i++)
{
g_iRegexPattern[i] = regex_compile(BANNED_REGEX[i], j, "", 0)
}
}
public client_putinserver(id)
{
check_name(id)
}
public OnSayText(iMsg, iDestination, iEntity)
{
g_fwdUserNameChanged = register_forward(FM_ClientUserInfoChanged, "OnNameChange", 1)
}
public OnNameChange(id)
{
if(is_user_connected(id))
{
check_name(id)
}
unregister_forward(FM_ClientUserInfoChanged, g_fwdUserNameChanged, 1)
}
check_name(id)
{
new szName[MAX_NAME_LENGTH]
get_user_name(id, szName, charsmax(szName))
for(new i; i < sizeof(BANNED_DOMAINS); i++)
{
if(containi(szName, BANNED_DOMAINS[i]) != -1)
{
change_user_name(id)
break
}
}
for(new i, j; i < sizeof(BANNED_REGEX); i++)
{
if(regex_match_c(szName, g_iRegexPattern[i], j))
{
change_user_name(id)
break
}
}
}
change_user_name(id)
{
set_user_info(id, "name", CHANGE_NAME)
}