Sub menu dentro de otro menu
#1
Hola, anoche se me dio por intentar ver como es la estructura de un submenu asi que me puse a buscar algun ejemplo para tomar de base... lo implemente y funciono al mostrar el primer menu y luego al seleccionar una opcion del PRIMER MENU me mostraba el otro menu PERO EL PROBLEMA ES QUE EN EL SEGUNDO MENU "NO ME DEJA ELEGIR NINGUNA OPCION" puede que sea algo de los cases pero lo hice 2 veces y de manera diferente yo vivo salado (sin suerte) asi que no me sorprende que siempre me pasen cosas asi ... pero si alguien puede ayudarme en un tiempo que tenga estaria muy agradecido. Ademas dejo el code por si a alguien le interesa aprender tambien:

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 KEYSMENU MENU_KEY_0 MENU_KEY_1 MENU_KEY_2 MENU_KEY_3 MENU_KEY_4 MENU_KEY_5 MENU_KEY_6 MENU_KEY_7 MENU_KEY_8 MENU_KEY_9

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /con""show_menu_color");
    
register_menu("MenuColor"KEYSMENU"menu_color");
    
register_menu("MenuColor2"KEYSMENU"menu_color2");
    
register_menu("MenuInfanteria"KEYSMENU"menu_infanteria");
}
// MenuColor
public show_menu_color(id)
{
    new 
menu[1000], len;
    
len 0;
    
    
len += formatex(menu[len], sizeof menu len"\r Menu de datos para contactarte con:^n");
    
len += formatex(menu[len], sizeof menu len"\y[1]\wDUEñOS^n");
    
len += formatex(menu[len], sizeof menu len"\y[2]\wADMINES^n^n");
    
len += formatex(menu[len], sizeof menu len"\y Por compra, ventas o emergencias de admines \rOPCION 1^n");
    
len += formatex(menu[len], sizeof menu len"\r[0]\wSalir");
    
    
show_menu(idKEYSMENUmenu, -1"MenuColor")
}

// Menu DUENIOS
public show_menu2_color(id)
{
    new 
menu[1000], len;
    
len 0;
    
    
len += formatex(menu[len], sizeof menu len"\r Selecciona a uno para ver los datos:^n");
    
len += formatex(menu[len], sizeof menu len"\y[1]\wXXXX^n");
    
len += formatex(menu[len], sizeof menu len"\y[2]\wJx^n^n");
    
len += formatex(menu[len], sizeof menu len"\r[9]\wAtras^n");
    
len += formatex(menu[len], sizeof menu len"\r[0]\wSalir");
    
    
show_menu(idKEYSMENUmenu, -1"MenuColor2")
}

// Menu INFANTERIA
public show_menu_infanteria(id)
{
    new 
menu[1000], len;
    
len 0;
    
    
len += formatex(menu[len], sizeof menu len"\w FICHA DE CONTACTO ^n^n");
    
len += formatex(menu[len], sizeof menu len"\y NOMBRE : \d xxxx \w( xxxx )^n");
    
len += formatex(menu[len], sizeof menu len"\y HORARIOS : \d Cualquier momento del dia^n");
    
len += formatex(menu[len], sizeof menu len"\r FORMAS DE CONTACTO: ^n^n");
    
len += formatex(menu[len], sizeof menu len"\y FACE : \d fxxxx^n");
    
len += formatex(menu[len], sizeof menu len"\y CELULAR : \d xxxxxx^n^n");
    
len += formatex(menu[len], sizeof menu len"\r[9]\wAtras^n");
    
len += formatex(menu[len], sizeof menu len"\r[0]\wSalir");
    
    
show_menu(idKEYSMENUmenu, -1"MenuInfanteria")
}
public 
menu_color(idkey)
{
    switch (
key)
    {
        
//TE MANDA AL MENU TEORICAMENTE DE DUENIOS
        
case 0:
        {
            
show_menu2_color(id)
        }
        case 
1
        {
            
show_menu2_color(id)
        }
        
//BUENO ACA ENTRE LAS OPCIONES 3 A 9 LO QUE HARA ES VOLVER A MOSTRARTE EL MENU PARA QUE NO SE TE SALGA
        
case 2..8
        {
            
show_menu_color(id)
        }
        
// DALE EXIT
        
case 9
        {
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED;
}

public 
menu_color2(idkey)
{
    switch (
key)
    {
        case 
0:
        {
            
show_menu_infanteria(id)
        }
        
//ES PARA LOS ESTUPIDOS QUE PRESIONAN CUALQUIER TECLA CON ESTO NO SE LES SALE EL MENU
        
case 1..7
        {
            
            
show_menu2_color(id)
        }
        
// ANTERIOR
        
case 8
        {
            
            
show_menu_color(id)
        }
        
// SALIR
        
case 9
        {
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED;
}

public 
menu_infanteria(idkey)
{
    switch (
key)
    {
        
//ACA HACEMOS QUE DESDE 1 A 8 ELIJA QUEDARSE EN EL MENU COMO HICIMOS ARRIBA
        
case 0..7:
        {
            
show_menu_infanteria(id)
        }
        
//CON ESTO MUESTRA EL MENU ANTERIOR ES DECIR ES EL BOTON ANTERIOR
        
case 8
        {
            
show_menu2_color(id)
        }
        
// Y ESTO ES SIMPLE DE ENTENDER ESTO ES SALIR
        
case 9
        {
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED;

Responder
#2
Mas pelada
Código PHP:
#include <amxmodx>

public plugin_init() {
    
register_plugin("""""")
    
register_clcmd("say /menu""Menu1")
}
public 
Menu1(id) {
    new 
menu menu_create("Menu 1""handler_menu1")
    
menu_additem(menu"Ir al menu 2""")
    
menu_additem(menu"Ir al menu 3""")
    
menu_display(idmenu)
}
public 
handler_menu1(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu2(id)
        case 
1Menu3(id)
    }
    return 
PLUGIN_HANDLED;
}
public 
Menu2(id) {
    new 
menu menu_create("Menu 2""handler_menu2")
    
menu_additem(menu"Ir al menu 1""")
    
menu_additem(menu"Ir al menu 3""")
    
menu_display(idmenu)
}
public 
handler_menu2(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu1(id)
        case 
1Menu3(id)
    }
    return 
PLUGIN_HANDLED;
}
public 
Menu3(id) {
    new 
menu menu_create("Menu 3""handler_menu3")
    
menu_additem(menu"Ir al menu 1""")
    
menu_additem(menu"Ir al menu 2""")
    
menu_display(idmenu)
}
public 
handler_menu3(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu1(id)
        case 
1Menu2(id)
    }
    return 
PLUGIN_HANDLED;

Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#3
(14/07/2014, 01:11 PM)Metrikcz escribió: Mas pelada
Código PHP:
#include <amxmodx>

public plugin_init() {
    
register_plugin("""""")
    
register_clcmd("say /menu""Menu1")
}
public 
Menu1(id) {
    new 
menu menu_create("Menu 1""handler_menu1")
    
menu_additem(menu"Ir al menu 2""")
    
menu_additem(menu"Ir al menu 3""")
    
menu_display(idmenu)
}
public 
handler_menu1(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu2(id)
        case 
1Menu3(id)
    }
    return 
PLUGIN_HANDLED;
}
public 
Menu2(id) {
    new 
menu menu_create("Menu 2""handler_menu2")
    
menu_additem(menu"Ir al menu 1""")
    
menu_additem(menu"Ir al menu 3""")
    
menu_display(idmenu)
}
public 
handler_menu2(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu1(id)
        case 
1Menu3(id)
    }
    return 
PLUGIN_HANDLED;
}
public 
Menu3(id) {
    new 
menu menu_create("Menu 3""handler_menu3")
    
menu_additem(menu"Ir al menu 1""")
    
menu_additem(menu"Ir al menu 2""")
    
menu_display(idmenu)
}
public 
handler_menu3(idmenuitem) {
    switch(
item) {
        case 
MENU_EXIT: {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
        }
        case 
0Menu1(id)
        case 
1Menu2(id)
    }
    return 
PLUGIN_HANDLED;


Gracias metrickz por contestar, y si puedes tengo una duda... cual es la diferencia entre trabajar con esta base que me das tu y un menu con len?
[Imagen: Cop_pelvisthrusts.gif]
Responder
#4
El menu nuevo es mas facil de usar
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#5
(14/07/2014, 06:40 PM)Metrikcz escribió: El menu nuevo es mas facil de usar

Okey... los colores se dan de la misma manera que en el de len ?? \w y \y?? \r

Solo pregunto si puedes contestar si no de todas formas buscare algunos otros ejemplos ante cualquier duda GRACIAS DE VERDAD
[Imagen: Cop_pelvisthrusts.gif]
Responder
#6
\w : Blanco
\y : Amarillo
\d : medio gris
\r : rojo
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#7
(14/07/2014, 06:43 PM)K.- escribió: \w : Blanco
\y : Amarillo
\d : medio gris
\r : rojo

Gracias por ser tan amables : )
por cierto gracias K.- por el code del modo boludo xD tarde o temprano lo voy a usar en algo
¿Como se llama el anime de tu foto de perfil?=
[Imagen: Cop_pelvisthrusts.gif]
Responder
#8
Denada , esta algo mal , ya termine de 'ponerlo' bien(? pero estoy del cel , cuando pueda lo actualizo.

PD : el anime es : Mirai Nikki :3
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#9
Perdón por revivir pero tengo el mismo problema, yo se que es mejor en este caso utilizar el menú nuevo pero como se arregla esto en el menú viejo?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)