Mod Zombie

Foro

=> ¿No se ha registrado todavía?

Foro de Mod Zombie

Foro - [TUT] Tipo de menues

Se encuentra aqui:
Foro => Tutoriales o Guia => [TUT] Tipo de menues

<-Volver

 1 

Siguiente->


Admin
(2 Posts hasta ahora)
19-04-2015 17:55 (UTC)[citar]
Hola hoy les vengo a traer un tuto de tipos de menues
SISTEMA NUEVO
Citar:

#include

public plugin_init()
{
register_plugin("Menu Basico", "1.0", "ModZombie";
register_clcmd( "say /menu", "cmdMenu" );
}

public cmdMenu(id)
{
new gMenu = menu_create("rHola soy un menu", "handlerMenu"
//creamos el menu en la variable 'Menu' con el titulo 'Hola soy un menu'
//que segun la opcion que elija el usuario va a llamar a la funcion 'handlerMenu'

menu_additem(gMenu, "wOpcion #1", "1" //Blanco = w
menu_additem(gMenu, "dOpcion #2", "2" //Transparente = d
menu_additem(gMenu, "yOpcion #3", "3" //Amarillo = y
//Rojo = r
//adderimos opciones al menu 'Menu' y le ponemos el numero de opcion

menu_display(id, gMenu, 0)
//aca le mostramos el menu 'Menu' al 'id'(indice de player) que queramos.
//el '0' es la pagina del menu que le vamos a mostrar.
}

public handlerMenu(id, menu, item) //los parametros deben ir en este orden
{
if ( item == MENU_EXIT ) //si el item seleccionado es igual a '0'(Exit[Salir])
{
menu_destroy(menu) //destruimos el menu
return PLUGIN_HANDLED; //y returnamos la funcion
}
switch(item) //hacemos un swicheo de los posibles resultados:
{
case 0: //en caso de que precione 1: le mandamos un msj
{
client_print(id, print_center, "HOLA SOY LA OPCION #1."
}
case 1: //en caso de que precione 2: le mandamos otro msj
{
client_print(id, print_center, "HOLA SOY LA OPCION #2."
}
case 2: //en caso de que precione 3: le mandamos otro msj
{
client_print(id, print_center, "HOLA SOY LA OPCION #3 MUAJAJAJA(?."
}
}
return PLUGIN_HANDLED; // returnamos la funcion...
}


SISTEMA VIEJO
Citar:
#include
#include

new KEYSMENU = MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2;

public plugin_init()
{
register_plugin("Menu con Len", "1.0", "ModZombie";
register_clcmd( "say /menu", "cmdOtroMenu";
register_menu("Menu", KEYSMENU, "HandMenu";
//registramos el menu 'Menu', con las teclas KEYSMENU
//y el handler que al que va a llamar 'HandMenu'
}

public cmdOtroMenu(id)
{
new menu[100], len;
// 'menu' es donde se va a alojar el string del menu,
// en este caso le damos 99 celdas para sus caracteres

len = 0;

len += formatex(menu[len], sizeof menu - 1 - len, "r Menu:^n";
len += formatex(menu[len], sizeof menu - 1 - len, "y[1]wOpcion #1^n";
len += formatex(menu[len], sizeof menu - 1 - len, "y[2]wOpcion #2^n^n";
len += formatex(menu[len], sizeof menu - 1 - len, "r[0]wSalir";

show_menu(id, KEYSMENU, menu, -1, "Menu";
//mostramos el menu al 'id' deseado, con las teclas ya definidas, el menu 'menu'
//el timpo es lo que tarda el menu en cerrarse en este caso -1 que es infinito, como lo registre en el init 'Menu'
}

public HandMenu(id, keys, menu) //los parametros deben ir en este orden
{
switch(keys) //hacemos un swicheo de los posibles resultados:
{
case 0: client_print(id, print_chat, "HOLA SOY LA OPCION #1"; //en caso de que precione 1: le mostramos el menu 'gMenu', en la pagina '0'
case 1: client_print(id, print_center, "HOLA SOY LA OPCION #2"; //en caso de que precione 2: le mandamos un msj
case 9: menu_destroy(menu) //en caso de que precione 0: le destruimos el menu...
}
}


2 MENUES Y 1 HANDLED
Citar:
#include

public plugin_init()
{
register_plugin( "2 Menus 1 Handled", "1.0", "[Anti]" );
register_clcmd("say /menu", "cmdMenu";
}

public cmdMenu(id)
{
if ( get_user_team(id) == 1 ) //Si es del team TT.
Menu_TT(id); //Mandamos al Menu TT.
else if ( get_user_team(id) == 2 ) //Si es del team CT.
Menu_CT(id); //Mandamos al Menu TT.
}

public Menu_TT(id)
{
new menu = menu_create("rMenu TT:", "handMenu";

menu_additem(menu, "Opcion 1#", "T";
menu_additem(menu, "Opcion 2#", "T";
menu_additem(menu, "Opcion 3#", "T";

menu_display(id, menu, 0); //Mostramos el menu
}

public Menu_CT(id)
{
new menu = menu_create("rMenu CT:", "handMenu";

menu_additem(menu, "Opcion 1#", "C";
menu_additem(menu, "Opcion 2#", "C";
menu_additem(menu, "Opcion 3#", "C";

menu_display(id, menu, 0); //Mostramos el menu
}

public handMenu(id, menu, item)
{
if ( item == MENU_EXIT ) //si el item seleccionado es igual a '0'(Exit[Salir])
{
menu_destroy( menu ); //destruimos el menu.
return PLUGIN_HANDLED; //Returnamos la funcion.
}

new szData[2];
new item_access, item_callback;
menu_item_getinfo( menu, item, item_access, szData,charsmax( szData ), _, _, item_callback );
//obtenemos informacion del menu y el item elegido.

switch( szData[0] ) //Vemos la letra que hay en la primera celda de szData
{
case 'T': //En este caso si es "T".
{
switch( item ) //Switch del Menu TT
{
case 0: {}// Opcion 1# TT's
case 1: {}// Opcion 2# TT's
case 2: {}// Opcion 3# TT's
}
}
case 'C': //En este caso si es "C".
{
switch( item ) //Switch del Menu CT
{
case 0: {}// Opcion 1# CT's
case 1: {}// Opcion 2# CT's
case 2: {}// Opcion 3# CT's
}
}
}
menu_destroy(menu); //Destruimos el menu
return PLUGIN_HANDLED; //Returnamos el Handled
}


Diferentes natives(solo para el sistema nuevo)
Citar:

//Establece propiedades en un menu. Propiedades:
#define MPROP_PERPAGE /* Numero de items en cada pagina (default 7)*/
#define MPROP_BACKNAME /* Nombre del boton "Back" */
#define MPROP_NEXTNAME /* Nombre del boton "Next" */
#define MPROP_EXITNAME /* Nombre del boton "Exit" */
#define MPROP_TITLE /* Establece el titulo de un menu */
#define MPROP_EXIT /* Establece la funcion del exit con MEXIT_NEVER(no aparece la opcion exit) y MEXIT_ALL(aparece la opcion exit[default]) */
#define MPROP_NOCOLORS /* Establece si los colores son automaticos */
#define MPROP_NUMBER_COLOR /* Establece el color de los numeros(default rojo) */

menu_setprop(menu, prop, ...);


//Cancela el menu de un player.
menu_cancel(player);

//Adiere una linea de texto al menu.
menu_addtext(menu, const text[], slot=1);

//Adiere un espacio en blanco al menu.
menu_addblank(menu, slot=1);

//Destruye el menu.
menu_destroy(menu);

//Establece un texto para un item.
menu_item_setname(menu, item, const name[]);

//Obtiene el indice de item del menu y la pagina indicada(devuelve menor a 0 si es un item especial como MENU_EXIT)
menu_find_id(menu, page, key);

//Muestra a una player un menu.
menu_display(id, menu, page=0);

//Obtiene la cantidad de items en un menu.
menu_items(menu);

//Obtiene la cantidad de paginas en un menu.
menu_pages(menu);

Respuesta:

Tu nombre de usuario:

 Color de texto:

 Tamaño de letra:
Cerrar tags



Temas totales: 2
Entradas totales: 2
Usuarios totales: 10
En este momento conectados (usuarios registrados): Nadie crying smiley
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis