[TUT] Menú de Admins...
#1
Bueno, ya sé que hay un tutorial sobre menú de ADMINS de "Pipa Roja" pero quise hacer el mío en base a un usuario que público un post..

[ACLARACIONES]

Se que es más simple utilizar directamente is_user_admin que get_user_flags pero lo quise hacer así por si alguien pregunta... "¿Como hago para qué solo tenga el menú los que tienen flag KICK o BAN?".
El plugin no lo testee pero seguramente 100% que funciona..
Sí hay errores, corrijan, mejoras, también.
Gracias por leer!

Código PHP:
#include < amxmodx > //Libreria del AMX... sin esto, olvidate de programar negro.
#include < fun > //Libreria perteneciente al AMX, con esta usaremos el "set_user_health."
#include < ColorChat > //Libreria EXTERNA al AMX, con esta podremos usar el "client_print" pero en base a colores..
//Su función es la siguiente.
//ColorChat ( id, Color:type, const msg[], {Float,Sql,Result,_}:... );
//Ejemplo: ColorChat ( iIndex, GREEN, "ESTE MENSAJE ESTA SIENDO ENVIADO EN COLOR VERDE" );
//Colores & Usos..
/*
    * ------------------------------------------------------------- *
    * ^3 = COLOR TEAM
    * ^1 = COLOR DEFAULT (de la variable con_color del cs)
    * ^4 = COLOR VERDE.
    * ------------------------------------------------------------- *
*/
//ACLARACIÓN, en el segundo parametro (Color:type) no significa que el texto salga EN UN SOLO COLOR. Sí utilizas lo de arriba, vas a poder cambiar el tipo de color..
//O sea...
//Ejemplo: ColorChat ( id, RED, "^4Apa esta en RED ^1pero sale en VERDE y ^3en COLOR TEAM" );


new const PLUGIN [ ] = "Tutorial Menu"
new const 
VERSION [ ] = "1.0";
new const 
AUTHOR [ ] = "heNK'";


//szPrefix = "PREFIJO" del SAY.. 
//Saldría así..
//[TUTORIAL] soy un mensaje con prefix..
//Sín prefix:
//soy un mensaje sin prefix..
new const szPrefix [ ] = "^4[TUTORIAL]^1";

public 
plugin_init ( ) {
    
register_plugin PLUGINVERSIONAUTHOR ); //No hay misterio, register_plugin = registrar_plugin xdxdxd. Con los parametros, (PLUGIN = Nombre, VERSION = Version del Plugin, AUTHOR = Creador del Plugin)
    
    
register_clcmd "say /menu""MenuTut" ); //registramos el comando.
    //register_clcmd = registra el comando para el player.
    //say = cuando pones Y en el juego, bueno escribis. Eso es.
    // /menu = lo que escribe
    //Después de la " , " es la función o sea lo que va a ser funcionar el menú xD.
    
    
}

//Vayamos a algo más "avanzado", simple y por ahí puede llegar a ser "bonito".
public client_putinserver iIndex ){ //Client_PutinServer = "Cuando el Cliente(Player) se conecta al servidor, este sera "recibido" después de que se haya mostrado la MOTD (motd.txt) del servidor."
    
    //Para saber MÁS SOBRE EL USO DE SET_TASK
    //Post -> https://amxmodx-es.com/Thread-GUIA-set-task-remove-task-y-task-exists
    
set_task 15.0"ClientConnect"iIndex );
    
//Básicamente, cuando se conecta, 15 segundos después se llama a la función "ClientConnect" al cliente que se conecto...
}

public 
client_disconnect iIndex ){ //ClientDisconnect = lo dice la palabra...
    
    
remove_task iIndex ); //se remueva el task..
    
}

public 
ClientConnect iIndex ) {
    
    
//is_user_connected = lo dice la palabra, si el user esta conectado..
    //par1 = player..
    //Condicion = "Sí el USER NO esta CONECTADO, se RETORNA la función".
    //¿Por qué se hace esto?
    //Debido a que usamos "set_task" en ClientPutinServer, nunca sabremos
    //Sí el player se desconecto antes de esos "15" segundos, entonces..
    //Se hace el chequeo para comprobar si esta o no esta conectado.
    
if ( !is_user_connected iIndex ) )
        return 
PLUGIN_HANDLED;
    
    
//get_user_flags = obtener_flags.
    //par1 = player
    //ADMIN_BAN = flag del admin ban.
    //Condición = "SI NO TIENE EL FLAG DEL BAN, NO SALE EL MENSAJE"
    
if ( ! ( get_user_flags iIndex ) & ADMIN_BAN ) ) {
        return 
PLUGIN_HANDLED;
    }
    
    
ColorChat iIndexGREEN"%s Hola ADMIN, si utilizas /menu tendras tú menú especial para ADMINS"szPrefix );
    
    return 
PLUGIN_HANDLED;
    
}


public 
MenuTut iIndex ) {
    
    
//get_user_flags = obtener_flags.
    //par1 = player
    //ADMIN_BAN = flag del admin ban.
    //Condición = "SI NO TIENE EL FLAG DEL BAN, NO TIENE MENÚ"
    
    
if ( ! ( get_user_flags iIndex ) & ADMIN_BAN ) ) {
        
client_print iIndexprint_chat"No sos admin, asi que no tenes acceso" );//Mensaje Normal, con ColorChat se cambiaria..
        
return PLUGIN_HANDLED;
    }
    
    new 
iMenu menu_create "\y[TUTORIAL] \wMenu Basic""HandlerMenuBasic" );
    
//menu_create = crear_menu
    //Par1 = "Titulo del Menu"
    //Colores:
    //    \y = AMARILLO
    //    \d = GRIS
    //    \w = BLANCO
    //    \r = ROJO
    //Par2 = "Handler", función con la que va a ser funcionar el menú xD
    
    
menu_additem iMenu"Opcion #1 -> Te da +50VIDA""1" );
    
//menu_additem = agregar_item_al_menu.
    //par1 = VARIABLE DEL MENU.
    //par2 = "String, nombre de la opción"
    //par3 = "Opcion"..
    
menu_additem iMenu"Opcion #2 -> Mensajito xD""2" );
    
    
menu_additem iMenu"Opcion #3 -> Mensajito ColorChat""3" );
    
    
menu_display iIndexiMenu,);
    
//menu_display = mostrar_menu.
    //par1 = Index del jugador (o sea, lo muestra al que escribio /menu).
    //par2 = Variable del menú.
    //par3 = Página del menú. = 0..
    
    
return PLUGIN_HANDLED;
    
}

public 
HandlerMenuBasic iIndexiMenuiItem ){
    
    
//IF = condición xdxdxd.
    //item = MENU_EXIT, el menú se destruye.
    //MENU_EXIT = Item "EXIT" / "SALIR" Del menú...
    
if ( iItem == MENU_EXIT ){
        
menu_destroy iMenu );
        return 
PLUGIN_HANDLED;
    }
    
    switch ( 
iItem ) {
        
//case 0 = opción #1.
        
case 0set_user_health iIndexget_user_health iIndex ) + 50 );//Obtenemos la vida y le seteamos 50, o sea si tiene 100 tendra 150 y si tiene 50 tendra 100.
        
case 1client_print iIndexprint_chat"Este es el mensajito xD" );
        case 
2ColorChat iIndexGREEN"^1Este ^4mensaje ^1sale en colores ^4VERDE" );
    }
    
    return 
PLUGIN_HANDLED;

Responder
#2
Proud Buen tutorial, pronto veo si tiene errores o detalles.
[Imagen: jrXxqRT.png]
*Maper Del Cstrike* - *Estudiante De Sistema*
(03/09/2018, 08:32 PM)Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread
(04/01/2019, 05:12 PM)Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM
(15/01/2019, 04:08 AM)FreDDy escribió:
(15/01/2019, 03:45 AM)Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido

No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar.
(17/01/2019, 12:34 PM)totopizza escribió: el orden de los factores no altera el producto xD
(23/01/2019, 01:10 AM)GoldenCosta escribió:
Cita:E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años
(23/01/2019, 01:17 AM)Skylar escribió:
(22/01/2019, 10:30 PM)el_juan_fail escribió:
(22/01/2019, 10:03 AM)Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.

deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.uMario

Dijiste lo mismo que dijo Neeel!
(27/02/2019, 08:00 PM)Sugisaki escribió:
(27/02/2019, 05:37 PM)Pan Bimbo (? escribió:
(27/02/2019, 12:06 AM)luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?

Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada.
[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
(14/03/2019, 10:26 PM)KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja
(18/04/2019, 11:04 PM)Jose88 escribió:
(18/04/2019, 09:55 PM)Hypnotize escribió: arriba marica

papa me va perdonar pero aquí no sale ningún download. solo sale esto

Código PHP:
PDNiños Ratas eviten sacar el autor jaja.
REMOVIDO POR TUTOR Y SLOWHACK
(21/04/2019, 09:38 AM)SHENK! =D escribió: ASDASD

Si nos organizamos cojemos todos.
(11/08/2019, 05:11 PM)Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ...
(28/07/2015, 09:34 PM)Nazi.- escribió: :ohgodwhy buen aporte

PD: situación sentimental: Sin internetOh god why

Sigue así Proud

(28/02/2020, 12:23 AM)Skylar escribió:
(27/02/2020, 11:28 PM)4evergaming escribió: Ya me puse como autor y lo subi a mi empresa


Abrazos

FIX
Responder
#3
Cute tutorial henkidama. Crab
No contesto mensajes de soporte. Pregunta en los foros.
Si buscas algún trabajo privado (Pago), envíame un MP.
Responder
#4
Buen tuto, lo estaba leyendo y no veo ningún error o problema, pero porque el task de 15,0 segundos?
[Imagen: b_560_95_1.png]
Responder
#5
(18/07/2018, 03:29 PM)Saber escribió: Buen tuto, lo estaba leyendo y no veo ningún error o problema, pero porque el task de 15,0 segundos?

Simplemente porque quiso ponerle 15.0 segundos.
No contesto mensajes de soporte. Pregunta en los foros.
Si buscas algún trabajo privado (Pago), envíame un MP.
Responder
#6
ha :'v pense que habia una razon importante pacman
[Imagen: b_560_95_1.png]
Responder
#7
Me gusto explica todos con detalle Whatever sera bueno para los que vayan empezando

Gracias Mario
* Ing. Informático * Mapper * Venezolano
Responder
#8
Buen plugin + Buena forma de codear la tuya capo Mario
[Imagen: giphy.gif]

[Imagen: 76561198874394515.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)