busco plugin de nombre
#1
hola busco un plugins para no deje entrar  a los que tiene nombres largos


por ejemplo maximo 15  de letras o signos o numeros 

un jemeplo

123456789012345
yoelpepe_jajajajajajajajajaj
camilo dos dos dos dos dos

nose si me entienden
Responder
#2
Código PHP:
/* Sublime AMXX Editor v2.2 */

#include <amxmodx>

#define TASK_NAME 1825523
#define CARACTERES_MAXIMOS 15

new const Plugin_Info[][] = { "Long name kick""1.0""Reynolds""^4[TAG]^1""[TAG]" };

new 
g_Nombre[32];

public 
plugin_init()
{
    
register_plugin(Plugin_Info[0], Plugin_Info[1], Plugin_Info[2])
}

public 
client_connect(id)
{
    
set_task(1.0"check_name"id+TASK_NAME)
}

public 
check_name(id)
{
    
id -= TASK_NAME

    get_user_name
(idg_Nombrecharsmax(g_Nombre))

    new 
iLen strlen(g_Nombreid ] );

    if(
iLen CARACTERES_MAXIMOS)
        
server_cmd("kick #%d ^"Tu nombre es muy largoMaximos caracteres permitidos: %d^""get_user_userid(id), CARACTERES_MAXIMOS)


    
remove_task(id+TASK_NAME)


"Cada golpe es una lección, y cada lección te hace mejor."

[Imagen: b_350_20_000000_8a7300_ffffff_eeff00.png]
[Imagen: 76561198371193937.png]
Responder
#3
GRACIAS LO PROBARE

no funciona me puse este nombre y no me kick
wwwwwww wwwwww wwwwwwww

se puede hacer algo que igual cuenta los espacios ?


super man
soy la mora
mister topo terranio
gabriela la mejor de cs
Responder
#4
Probá poniendo client_putinserver(id) en lugar de client_connect(id)
Responder
#5
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

#define PLUGIN "Nombes largos no se"
#define VERSION "1.0"
#define AUTHOR "Samuel, pero dime papi"


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
}

public 
client_putinserver(id) {
    new 
szName[MAX_NAME_LENGTH]
    new 
iLen get_user_name(idszNameMAX_NAME_LENGTH-1)
    
    if(
iLen 15)
        
server_cmd("kick #%d ^"Tu nombre es muy largoMaximos caracteres permitidos15^""get_user_userid(id))

No probé, pero según yo sirve
Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#6
Código PHP:
#include <amxmodx>

#define PLUGIN  "Restrict Nickname Length"
#define VERSION "1.0"
#define AUTHOR  "[N]drs"

// Cantidad máxima de carácteres que puede tener un nombre
#define MAX_NAME_CUSTOM_LENGTH 15
#define KICK_REASON "Tu nombre solo puede contener como máximo 15 carácteres"

public plugin_init()
    
register_plugin(PLUGINVERSIONAUTHOR)

public 
client_connectex(id, const szName[], const szIP[], szReason[128])
{
    if(
strlen(szName) <= MAX_NAME_CUSTOM_LENGTH)
        return 
PLUGIN_CONTINUE

    copy
(szReasoncharsmax(szReason), KICK_REASON)
    return 
PLUGIN_HANDLED
}

public 
client_infochanged(id)
{
    new 
szName[MAX_NAME_LENGTH]
    if(
get_user_info(id"name"szNamecharsmax(szName)) > MAX_NAME_CUSTOM_LENGTH)
        
server_cmd("kick #%i %s"get_user_userid(id), KICK_REASON)

Responder
#7
(29/04/2021, 01:52 PM)[N]drs escribió:
Código PHP:
#include <amxmodx>

#define PLUGIN  "Restrict Nickname Length"
#define VERSION "1.0"
#define AUTHOR  "[N]drs"

// Cantidad máxima de carácteres que puede tener un nombre
#define MAX_NAME_CUSTOM_LENGTH 15
#define KICK_REASON "Tu nombre solo puede contener como máximo 15 carácteres"

public plugin_init()
 
register_plugin(PLUGINVERSIONAUTHOR)

public 
client_connectex(id, const szName[], const szIP[], szReason[128])
{
 if(
strlen(szName) <= MAX_NAME_CUSTOM_LENGTH)
 return 
PLUGIN_CONTINUE

 copy
(szReasoncharsmax(szReason), KICK_REASON)
 return 
PLUGIN_HANDLED
}

public 
client_infochanged(id)
{
 new 
szName[MAX_NAME_LENGTH]
 if(
get_user_info(id"name"szNamecharsmax(szName)) > MAX_NAME_CUSTOM_LENGTH)
 
server_cmd("kick #%i %s"get_user_userid(id), KICK_REASON)


Supongo que no funcionará porque estás cacheando el nick con el mismo tamaño del limite permitido. Por lo tanto nunca será mayor que el límite.
Aumenta el tamaño del szName para que se pueda hacer bien la comparación.
Responder
#8
(29/04/2021, 02:20 PM)GabsHp escribió: Supongo que no funcionará porque estás cacheando el nick con el mismo tamaño del limite permitido. Por lo tanto nunca será mayor que el límite.
Aumenta el tamaño del szName para que se pueda hacer bien la comparación.

Probé el código antes de comentar y funciona
->
Comprueba algo que no estás seguro antes de comentar
Responder
#9
(29/04/2021, 02:22 PM)[N]drs escribió: Probé el código antes de comentar y funciona

En el infochanged también probaste? Se me hace raro porque no hiciste el check del length Insecure
Responder
#10
(29/04/2021, 02:25 PM)GabsHp escribió: En el infochanged también probaste? Se me hace raro porque no hiciste el check del length  Insecure

he probado todo

(29/04/2021, 02:22 PM)[N]drs escribió: Comprueba algo que no estás seguro antes de comentar
Responder
#11
(29/04/2021, 02:26 PM)[N]drs escribió: he probado todo

Ya, leí que el get_user_info returna el número de celdas ocupadas. Pensé que devolvía un string normal y no se podría hacer comparación con un integer. Disculpa la intromisión Nothingdohere
Responder
#12
(29/04/2021, 01:52 PM)[N]drs escribió:
Código PHP:
#include <amxmodx>

#define PLUGIN  "Restrict Nickname Length"
#define VERSION "1.0"
#define AUTHOR  "[N]drs"

// Cantidad máxima de carácteres que puede tener un nombre
#define MAX_NAME_CUSTOM_LENGTH 15
#define KICK_REASON "Tu nombre solo puede contener como máximo 15 carácteres"

public plugin_init()
 
register_plugin(PLUGINVERSIONAUTHOR)

public 
client_connectex(id, const szName[], const szIP[], szReason[128])
{
 if(
strlen(szName) <= MAX_NAME_CUSTOM_LENGTH)
 return 
PLUGIN_CONTINUE

 copy
(szReasoncharsmax(szReason), KICK_REASON)
 return 
PLUGIN_HANDLED
}

public 
client_infochanged(id)
{
 new 
szName[MAX_NAME_LENGTH]
 if(
get_user_info(id"name"szNamecharsmax(szName)) > MAX_NAME_CUSTOM_LENGTH)
 
server_cmd("kick #%i %s"get_user_userid(id), KICK_REASON)


Muy bueno funciona, ahora si quisiera la funcion opuesta, que tenga un nombre mayor a 4 letras y que si es menor a 4 letras lo kickee, en vez de MAX_NAME_CUSTOM_LENGTH que deberia usar?
_____________________________________________________________________________
(05/08/2020, 06:47 PM)acetatomil escribió: Vos también sos trolazo por responder, y también me incluyo y el que lo lea también. Bue.

_____________________________________________________________________________
Responder
#13
(30/04/2021, 03:03 PM)El Abuelo escribió: Muy bueno funciona, ahora si quisiera la funcion opuesta, que tenga un nombre mayor a 4 letras y que si es menor a 4 letras lo kickee, en vez de MAX_NAME_CUSTOM_LENGTH que deberia usar?

Código PHP:
#include <amxmodx>

#define PLUGIN  "Restrict Nickname Length"
#define VERSION "1.6"
#define AUTHOR  "[N]drs"

// Cantidad mínima de carácteres que debe tener un nombre
#define MIN_NAME_CUSTOM_LENGTH 4

// Cantidad máxima de carácteres que puede tener un nombre
#define MAX_NAME_CUSTOM_LENGTH 15

// Motivo de expulsión
#define KICK_REASON "Tu nombre es muy corto o muy largo"

#define is_valid_name(%1) (MIN_NAME_CUSTOM_LENGTH <= %1 <= MAX_NAME_CUSTOM_LENGTH)

public plugin_init()
    
register_plugin(PLUGINVERSIONAUTHOR)

public 
client_connectex(id, const szName[], const szIP[], szReason[128])
{
    if(
is_valid_name(strlen(szName)))
        return 
PLUGIN_CONTINUE

    copy
(szReasoncharsmax(szReason), KICK_REASON)
    return 
PLUGIN_HANDLED
}

public 
client_infochanged(id)
{
    new 
szName[MAX_NAME_LENGTH]
    if(!
is_valid_name(get_user_info(id"name"szNamecharsmax(szName))))
        
server_cmd("kick #%i %s"get_user_userid(id), KICK_REASON)

Responder
#14
(30/04/2021, 03:23 PM)[N]drs escribió:
Código PHP:
#include <amxmodx>

#define PLUGIN  "Restrict Nickname Length"
#define VERSION "1.6"
#define AUTHOR  "[N]drs"

// Cantidad mínima de carácteres que debe tener un nombre
#define MIN_NAME_CUSTOM_LENGTH 4

// Cantidad máxima de carácteres que puede tener un nombre
#define MAX_NAME_CUSTOM_LENGTH 15

// Motivo de expulsión
#define KICK_REASON "Tu nombre es muy corto o muy largo"

#define is_valid_name(%1) (MIN_NAME_CUSTOM_LENGTH <= %1 <= MAX_NAME_CUSTOM_LENGTH)

public plugin_init()
    register_plugin(PLUGINVERSIONAUTHOR)

public 
client_connectex(id, const szName[], const szIP[], szReason[128])
{
    if(is_valid_name(strlen(szName)))
        return PLUGIN_CONTINUE

    copy
(szReasoncharsmax(szReason), KICK_REASON)
    return PLUGIN_HANDLED
}

public 
client_infochanged(id)
{
    new szName[MAX_NAME_LENGTH]
    if(!is_valid_name(get_user_info(id"name"szNamecharsmax(szName))))
        server_cmd("kick #%i %s"get_user_userid(id), KICK_REASON)


FUNCIONA PERFECTO! Gracias loco! Mario
_____________________________________________________________________________
(05/08/2020, 06:47 PM)acetatomil escribió: Vos también sos trolazo por responder, y también me incluyo y el que lo lea también. Bue.

_____________________________________________________________________________
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)