Enviar respuesta 
SE CIERRA EL MENU AL INTENTAR SUBIR UNA HABILIDAD solucionado
Autor Mensaje
injurefect Sin conexión
Miembro Junior


Mensajes: 19
Registro en: Jan 2019
Reputación: 0
Mensaje: #1
SE CIERRA EL MENU AL INTENTAR SUBIR UNA HABILIDAD solucionado
Código PHP:
public menu_upgrade(id)
{
    new 
menu menu_create("\yMenu \rHabilidades \r Mejoras""menu_upgrade_handler")
    
    
menu_additem(menu"\wHabilidades \yZombies""1"0)
    
menu_additem(menu"\wHabilidades \yHumanas""2"0)
    
    
menu_setprop(menuMPROP_EXITNAME"\rSalir")
    
menu_display(idmenu0)
    return 
PLUGIN_HANDLED
}

public 
menu_upgrade_handler(idmenuitem)
{
    if (
item == MENU_EXIT) return PLUGIN_HANDLED
    
    
new data[6], iName[64], accesscallback;
    
menu_item_getinfo(menuitemaccessdata5iName63callback);
    
    switch (
str_to_num(data))
    {
        case 
1show_menu_upgrades_human(id)
        case 
2show_menu_upgrades_zombie(id)
    }
    
    return 
PLUGIN_HANDLED;
}
public 
show_menu_upgrades_human(id)
{
    static 
menu[999], lenlen 0
    
    len 
+= formatex(menu[len], sizeof menu len"\yMejoras Humanos^n^n"// Titulo
    
len += formatex(menu[len], sizeof menu len"\r-\y Tenes\w %s\y puntos humanos y\w %s\y gastados^n^n"add_point(g_puntos[id][0]), add_point(g_gastados[id][0])) // Gastados y Puntos
    
    
for (new isizeof hab_hmi++) // Ya mamos la Constante
    
{
        if (
g_habilidad[id][0][i] < hab_hm[i][MAX_HAB_H]) // Definimos la habilidad Humana
        
{
            if (
g_puntos[id][0] >= ammount_cost(g_habilidad[id][0][i]))
                
len += formatex(menu[len], sizeof menu len"\r%d.\w %s \r[\w%d-%d\r][\w%s punto%s\r]^n"i+1hab_hm[i][Nameh], g_habilidad[id][0][i], hab_hm[i][MAX_HAB_H], add_point(ammount_cost(g_habilidad[id][0][i])), ammount_cost(g_habilidad[id][0][i]) == "" "s")/*si tiene puntos le deja mejorar */
            
else
                
len += formatex(menu[len], sizeof menu len"\r%d.\d %s \r[\d%d-%d\r][\d%s punto%s\r]^n"i+1hab_hm[i][Nameh], g_habilidad[id][0][i], hab_hm[i][MAX_HAB_H], add_point(ammount_cost(g_habilidad[id][0][i])), ammount_cost(g_habilidad[id][0][i]) == "" "s")/*si no tiene puntos no le dejara mejorar*/
        
}
        else
            
len += formatex(menu[len], sizeof menu len"\r%d.\d %s \r[\dMAX\r]^n"i+1hab_hm[i][Nameh]) // si ya mejoro completo 
    
}
    
    
len += formatex(menu[len], sizeof menu len"^n\r8.\w Resetear mejoras^n^n"// Podra resetear la mejoras
    
    
len += formatex(menu[len], sizeof menu len"\r0.\w Salir"// Salimos del menu
    
    
show_menu(idKEYSMENUmenu, -1"Menu Upgrades Human"// esto es para ya mar el menu en plugin_init
}

public 
show_menu_upgrades_zombie(id)// Public de las mejoras zm
{
    static 
menu[999], lenlen 0

    len 
+= formatex(menu[len], sizeof menu len"\yMejoras Zombie^n^n"// titulo 

    
len += formatex(menu[len], sizeof menu len"\r-\y Tenes\w %s\y puntos zombie y\w %s\y gastados^n^n"add_point(g_puntos[id][1]), add_point(g_gastados[id][1])) // Muestra gastados puntos ect de zombie

    
for (new isizeof hab_zmi++) // ya ma a la constante de zombie 
    
{
        if (
g_habilidad[id][1][i] < hab_zm[i][MAX_HAB]) 
        {
            if (
g_puntos[id][1] >= ammount_cost(g_habilidad[id][1][i])) // si tiene puntos les dejara mejorar la habilidad
                
len += formatex(menu[len], sizeof menu len"\r%d.\w %s \r[\w%d-%d\r][\w%s punto%s\r]^n"i+1hab_zm[i][Name], g_habilidad[id][1][i], hab_zm[i][MAX_HAB], add_point(ammount_cost(g_habilidad[id][1][i])), ammount_cost(g_habilidad[id][1][i]) == "" "s")/*Les deja mejorar*/
            
else
                
len += formatex(menu[len], sizeof menu len"\r%d.\d %s \r[\d%d-%d\r][\d%s punto%s\r]^n"i+1hab_zm[i][Name], g_habilidad[id][1][i], hab_zm[i][MAX_HAB], add_point(ammount_cost(g_habilidad[id][1][i])), ammount_cost(g_habilidad[id][1][i]) == "" "s")/*No le deja mejorar */
        
}
        else
            
len += formatex(menu[len], sizeof menu len"\r%d.\d %s \r[\dMAX\r]^n"i+1hab_zm[i][Name]) /*si la mejora ya es full*/
    
}
    
    
len += formatex(menu[len], sizeof menu len"^n\r8.\w Resetear mejoras^n^n"// podra resetear la mejora
    
    
len += formatex(menu[len], sizeof menu len"\r0.\w Salir"// Salimos del menu
    
    
show_menu(idKEYSMENUmenu, -1"Menu Upgrades Zombie"// ya ma la funcion del init para ya mar a menu_upgrades_zombie
}

// EL key de las mejoras humanas
public menu_upgrades_human(idKey)
{
    switch (
Key)
    {
        case 
7/*dice que con el boton 8 reseta la mejora*/
        
{
            if (
g_gastados[id][0] >= 1// si gasto 1 punto le dejara resetear la habilidad
            
{
                for (new 
isizeof hab_hmi++) // ya mamos la constante
                
{
                    
g_habilidad[id][0][i] = // cuando resetea la Habilidad vuelve a 0
                    
g_puntos[id][0] += g_gastados[id][0/*Aun no entendi bien lo que dice haca*/
                    
g_gastados[id][0] = /*lo vuelve gastados en 0 */
                
}
                
/*les Reseteara la habilidad*/
                
show_menu_upgrades_human(id/*esto es para qe no se cierre el menu cuando apretemos una opcion*/
            
}
            else
            {
                
/*esto es para que Si no Gasto ningun punto no le deja resetear*/
                
show_menu_upgrades_human(id)/*no le cierra la Habilidad*/
            
}
        }
    }
    
    if (
g_habilidad[id][0][Key] < hab_hm[Key][MAX_HAB_H])
    {
        if (
g_puntos[id][0] >= ammount_cost(g_habilidad[id][0][Key]))/*Ya mamos alos macros*/
        
{
            
g_puntos[id][0] -= ammount_cost(g_habilidad[id][0][Key])/*si les gasta los puntos*/
            
g_gastados[id][0] += ammount_cost(g_habilidad[id][0][Key])/*Aumenta los Gastados*/
            
g_habilidad[id][0][Key]++ /*Aumenta la Habilidad*/
            
show_menu_upgrades_human(id)/*Para que no se cierre el menu*/
        
}
        else
        {
            
/*si no tiene puntos no le aumenta la Habilidad*/
            
show_menu_upgrades_human(id)/*no le cierra el menu*/
        
}
    }
    else
    {
        
/*Si Ya tiene la habilidad Maxima*/
        
show_menu_upgrades_human(id/*lo Mismo*/
    
}
    
    return 
PLUGIN_HANDLED;
}

public 
menu_upgrades_zombie(idKey)
{
    switch (
Key)
    {
        case 
10/*Podra resetear la Habilidad con la tecla 8 */
        
{
            if (
g_gastados[id][1] >= 1/*Si gasto Habilidad mas de un punto le dejara resetarlo*/ 
            
{
                for (new 
isizeof hab_zmi++) /*ya ma la constante*/
                
{
                    
g_habilidad[id][1][i] = /*La habilidad le Vuelve en 0*/
                    
g_puntos[id][1] += g_gastados[id][1/*Aumenta los Gastados*/
                    
g_gastados[id][1] = 0/*si reseto los Gastados quedan en 0*/
                
}
                
/*le Resetea la habilidad */
                
show_menu_upgrades_zombie(id)/*PAra qe no lo cierre el menu*/
            
}
            else
            {
                
/*si no tiene Puntos para Resetear*/
                
show_menu_upgrades_zombie(id)
            }
        }
    }
    
    if (
g_habilidad[id][1][Key] < hab_zm[Key][MAX_HAB])
    {
        if (
g_puntos[id][1] >= ammount_cost(g_habilidad[id][1][Key])) /*ya mamos el macro cost para que cada ves qe aumenta la Habilidad le cuesta mas caro*/
        
{
            
g_puntos[id][1] -= ammount_cost(g_habilidad[id][1][Key]) /*sus puntos Bajan cada ves que Mejora algo*/
            
g_gastados[id][1] += ammount_cost(g_habilidad[id][1][Key])/*Aumenta los Gastados*/
            
g_habilidad[id][1][Key]++/*La Habilidad aumenta*/
            
show_menu_upgrades_zombie(id)/*para que no cierre el menu cada ves qe mejora algo*/
        
}
        else
        {
            
/*si no tiene puntos no le deja aumentar*/
            
show_menu_upgrades_zombie(id)
        }
    }
    else
    {
        
/*Ya tiene la habilidad Maxima*/
        
show_menu_upgrades_zombie(id)
    }
    
    return 
PLUGIN_HANDLED;
}

stock add_point(number)

    new 
countistr[29], str2[35], len
    num_to_str
(numberstrcharsmax(str))
    
len strlen(str)
    
    for (
0leni++)
    {
        if (
!= && ((len i) %== 0))
        {
            
add(str2charsmax(str2), "."1)
            
count++
            
add(str2[i+count], 1str[i], 1)
        }
        else
            
add(str2[i+count], 1str[i], 1)
    }
    
    return 
str2;



Archivo(s) adjuntos
zp4.2.sma (Descargar compilado / Tamaño: 260.75 KB / Descargas: 7)
(Este mensaje fue modificado por última vez en: 13/01/2019 08:02 PM por injurefect.)
13/01/2019 01:49 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
cLAANS Sin conexión
Miembro Sr.


Plugin developer Trebol purpura
Mensajes: 652
Registro en: Oct 2013
Reputación: 16
Mensaje: #2
RE: SE CIERRA EL MENU AL INTENTAR SUBIR UNA HABILIDAD
Anda dividiendo el codigo, printeando mensajes para ver en donde es que esta el error

Saludos,
cLAANS.-

Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017 09:30 PM)SoundBlaster escribió:  Espera y llamo a los power rangers para que me digan la linea de error
13/01/2019 05:17 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
injurefect Sin conexión
Miembro Junior


Mensajes: 19
Registro en: Jan 2019
Reputación: 0
Mensaje: #3
RE: SE CIERRA EL MENU AL INTENTAR SUBIR UNA HABILIDAD solucionado
Me faltaron las keys en plugin_init
Código PHP:
register_menu("Menu Upgrades Zombie"KEYSMENU"menu_upgrades_zombie")
register_menu("Menu Upgrades Human"KEYSMENU"menu_upgrades_human"
13/01/2019 08:02 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS