Code: Select all
#include <amxmodx>
#define MAX_NUMBERS 5
public plugin_init()
{
register_plugin("Max Number in Name&Chat", "1.1", "OciXCrom")
register_clcmd("say", "OnSay")
register_clcmd("say_team", "OnSay")
}
public OnSay(id)
{
static szArgs[192]
read_args(szArgs, charsmax(szArgs))
return has_advertisement(szArgs) ? PLUGIN_HANDLED : PLUGIN_CONTINUE
}
public client_putinserver(id)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
new const WHITELIST[][] =
{
"37.59.43.196:27018"
}
for(new i; i < sizeof(WHITELIST); i++)
{
if(equali(szName, WHITELIST[i]))
{
return
}
}
if(has_advertisement(szName))
server_cmd("kick #%i ^"Too many numbers in name.^"", get_user_userid(id))
}
bool:has_advertisement(const szString[])
{
static iCount, i
iCount = 0
for(i = 0; i < strlen(szString); i++)
{
if(isdigit(szString[i]))
iCount++
}
return iCount >= MAX_NUMBERS
}
Code: Select all
#include <amxmodx>
#define MAX_NUMBERS 5
public plugin_init()
{
register_plugin("Max Number in Name&Chat", "1.1", "OciXCrom")
register_clcmd("say", "OnSay")
register_clcmd("say_team", "OnSay")
}
public OnSay(id)
{
static szArgs[192]
read_args(szArgs, charsmax(szArgs))
return has_advertisement(szArgs) ? PLUGIN_HANDLED : PLUGIN_CONTINUE
}
public client_putinserver(id)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
new const WHITELIST[][] =
{
"37.59.43.196:27018"
}
for(new i; i < sizeof(WHITELIST); i++)
{
if(equali(szName, WHITELIST[i]))
{
return
}
}
if(has_advertisement(szName))
set_user_info(id, "name", "37.59.43.196:27018")
}
bool:has_advertisement(const szString[])
{
static iCount, i
iCount = 0
for(i = 0; i < strlen(szString); i++)
{
if(isdigit(szString[i]))
iCount++
}
return iCount >= MAX_NUMBERS
}
Dont work. i tested ip like: 185.119.89.103:27015 and the plugin didnt changed the nickname to 37.59.43.196:27018. I hope anyone know why and can fix it.