admin tag o kick
#1
Hola,
lo que necesito es un plugin que haga que los admines no tengan admin a menos que se pongan el tag asi: Nombre Comunidad
osea el nombre y donde dice comunidad iria el nombre de la comunidad. y que si alguien mas que no es administrador quiere ponerse el nombre de la comunidad. no le deje entrar al servidor y le aparesca un mensaje que diga:
El tag "Comunidad" es exclusivo para administradores.
Responder
#2
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new const ADMIN_TAG[] = "[COMU PEDORRA]";


public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Add your code here...
}

public 
client_authorizedindex )
{
    static 
name32 ]; get_user_nameindex name31 );
    
    if( 
is_user_adminindex ) && !(containiname ADMIN_TAG) != -1))
        
server_cmd"kick #%d ^"Usa el tag: %s^""get_user_useridindex ) , ADMIN_TAG );
    else if( !
is_user_adminindex ) && containiname ADMIN_TAG ) != -)
        
server_cmd"kick #%d ^"El tag: %s Solo es para admins^""get_user_useridindex ) , ADMIN_TAG );

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new const Prefijo[] = "[PEPE]";

public 
client_putinserver(id)
{
    static 
name[33]
    
    
get_user_name(idnamecharsmax(name))
    
    if(
equali(namePrefijo) && !is_user_admin(id))
    {
        
server_cmd("kick #%d ^"No eres administrador para poseer el prefijo: %s^""get_user_userid(id), Prefijo)
        return
    }
    else
    {
        
client_print(idprint_chat"* No pasa nada :'v")
    }
}

/* amxmisc */

stock is_user_admin(id)
{
    new 
__flags=get_user_flags(id)
    return (
__flags>&& !(__flags&ADMIN_USER))

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#4
Graciasss, mañana osea hoy en la tarde los pruebo :3
Responder
#5
(07/06/2016, 05:33 PM)OsweRRR escribió:
Código PHP:
if(equali(namePrefijo) && !is_user_admin(id))
{
    
server_cmd("kick #%d ^"No eres administrador para poseer el prefijo: %s^""get_user_userid(id), Prefijo)
    return


Está mal tu lógica, revisala.

Y por cierto, ambos se olvidaron de que el usuario tal vez pueda cambiar su nombre dentro del servidor, y ninguno de los dos manejó esa posibilidad, por lo que funcionaría a medias.
Responder
#6
Y como haria para que el prefijo, sea solo obligatorio para los usuarios con acceso a ADMIN_LEVEL_E por ejemplo?, y si porfas si pudieran hacer eso que dijo kiske ya estaria completo, aun asi se los agradesco muchisimo
Responder
#7
(08/06/2016, 03:00 AM)ExterminioCS escribió: Y como haria para que el prefijo, sea solo obligatorio para los usuarios con acceso a ADMIN_LEVEL_E por ejemplo?, y si porfas si pudieran hacer eso que dijo kiske ya estaria completo, aun asi se los agradesco muchisimo

Código PHP:
#include <amxmodx>
#include <fakemeta>

new const ADMIN_PREFIX[] = "[AMXX-ES]"//Prefijo forzado a tener un admin.
const ADMIN_FLAG ADMIN_LEVEL_E//Flag necesaria para poder usar el Prefijo. Default: ADMIN_LEVEL_E - Letra "q" en users.ini

public plugin_init()
{
    
register_plugin"Force ADMIN Prefix""1.0""Pancho.-'+hud;Erater" );
    
    
register_forward(FM_ClientUserInfoChanged"fwdClientInfoChanged");
}

public 
fwdClientInfoChanged(idbuffer
{    
    
InvalidName(idbuffer);
    
    return 
FMRES_IGNORED;
}

stock InvalidName(idbuffer)
{
    new 
szName[32]; //La hago de tipo new, porque el numero de llamados es incomparable a un think.
    
new bool:prefix;
    
    
engfunc(EngFunc_InfoKeyValuebuffer"name"szNamecharsmax(szName));
    
    if( (
containi(szNameADMIN_PREFIX) != -1) )
        
prefix true;
    
    else
        
prefix false;
    
    
//Evitamos que bugueen.
    
set_user_info(id"name"szName);
    
client_cmd(id"setinfo ^"name^" ^"%s^""szName);
    
    if( (
get_user_flags(id) & ADMIN_FLAG) && !prefix )
        
server_cmd"kick #%d ^"ADMIN detectadoNombre Invalido Utiliza: %'Tu Nombre'^""get_user_userid(id), ADMIN_PREFIX );
    
    else if( !(
get_user_flags(id) & ADMIN_FLAG) && prefix )
        
server_cmd"kick #%d ^"Este prefijo'%s' es solo valido para ADMINS!^""get_user_userid(id), ADMIN_PREFIX );


Testeado y funcionando.

Saludos!.
Responder
#8
Funciona, pero no lo kickea , solo le cambia el nombre y le quita el prefijo :$

Se puede hacer a el prefijo sea sin las [] osea q sea por ej: Sunombre Comunidad
Responder
#9
(08/06/2016, 02:41 PM)ExterminioCS escribió: Funciona, pero no lo kickea , solo le cambia el nombre y le quita el prefijo :$

Yo lo probé, y funcionaba perfecto. Insecure

(08/06/2016, 02:41 PM)ExterminioCS escribió: Se puede hacer a el prefijo sea sin las [] osea q sea por ej: Sunombre Comunidad

Código PHP:
new const ADMIN_PREFIX[] = "[AMXX-ES]"//Prefijo forzado a tener un admin. 

-------->

Código PHP:
new const ADMIN_PREFIX[] = "AMXX-ES"//Prefijo forzado a tener un admin. 

-------->

Código PHP:
new const ADMIN_PREFIX[] = "hola soy un prefijo"//Prefijo forzado a tener un admin. 

--------->

Código PHP:
new const ADMIN_PREFIX[] = "#Tu-Vieja#"//Prefijo forzado a tener un admin. 

EDIT:

Lo volvi a testear y funciona perfectamente. Te kickea siempre. En si, le cambio el nombre pero solamente para que haga 1 call mas, porque si no lo que sucede es que si yo ingreso al servidor y digamos que hago lo siguiente:

Tag de ADMIN: hud

Tag con el que ingreso: Roberto


Ingreso al servidor --> (Mi nombre actual es Roberto) -----> Me cambio el Nombre a mi Tag de ADMIN -----> (Mi nombre actual es hud).

Entonces no estoy usando el Prefijo, y estoy tageando mi ADMIN y haciendo uso del mismo.

Ahora al hacerle una call mas, lo que hace es que, chequea ese ultimo cambio, y analiza. Y lo va a kickear por no tener el Prefijo necesario.
Realmente nose porque no chequea ese ultimo (deberia de hacerlo sin necesidad del cambio), pero de esta forma lo hace.
Responder
#10
Que son las call? y para que podrian usarse? perdon por meterme solo para esto xD
Responder
#11
(08/06/2016, 04:10 PM)themurder escribió: Que son las call? y para que podrian usarse? perdon por meterme solo para esto xD

call -> llamada

En este caso, es cuando se llama a la función.

Para programar debes saber ingles Trolleyes
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#12
si se lo que es call... pero me refiero en el amxmod XD
Responder
#13
(08/06/2016, 04:24 PM)themurder escribió: si se lo que es call... pero me refiero en el amxmod XD

(08/06/2016, 04:13 PM)kikizon2 escribió: call -> llamada

En este caso, es cuando se llama a la función.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)