[ZP] [TUT] Menu de Bombas por lvl
#1
Hola chicos estaba al pedo , y mi zp no tenia un menu de bombas ; me base en otro sistema , pero arme este ;

Cambie unas pequeñas cosillas que estaban al pedo y mal ; Actualizacion 04/05/2014
Dejo otro sistema aun mejor ; Actualizacion 02/07/2014

1er sistema
Vamos a
Código PHP:
// Give the new weapon with full ammo 

Debajo de
Código PHP:
fm_set_user_bpammo(idweaponidMAXBPAMMO[weaponid]) 

ponemos...
Código PHP:
show_menu_granades(id

En donde quieran colocan esto...
Código PHP:
public show_menu_granades(id
{   
    
    new 
menu menu_create("\rMenu de Bombas""menu_handler")  
     
    if(
g_level[id] <= 0)  // Lvl necesario
    
{  
        
menu_additem(menu"\r ^n\d\y|1\w Bomba Flare \d\y|1\w Bomba Hielo\y||\w \d \r[Min Lvl 1]""1"0)  
    }  
    else if (
g_level[id] >= 0)  
    {  
        
menu_additem(menu"\r \w\y|1\w Bomba Flare \w\y|1\w Bomba Hielo\y||\w \w""1"0)  
    }  
    if(
g_level[id] <= 25)  
    {  
        
menu_additem(menu"\r \d\y|1\w Bomba Molotov \d\y|2\w Bomba Hielo\y||\w \d \r[Min Lvl 25]""2"0)  
    }  
    else if (
g_level[id] >= 25)   
    {  
        
menu_additem(menu"\r \w\y|1\w Bomba Molotov \w\y|2\w Bomba Hielo\y||\w \w""2"0)  
    }  
    if(
g_level[id] <= 40)  
    {  
        
menu_additem(menu"\r \d\y|2\w Bomba Molotov \d\y|1\w Bomba Droga \d\y|1\w\y||\w \r[Min Lvl 50]""3"0)  
    }  
    if(
g_level[id] >= 40)  
    {  
        
menu_additem(menu"\r \w\y|2\w Bomba Molotov \w\y|\w1 Bomba Droga \w\y|1\w\y||\w""3"0)  
    }  
    if(
g_level[id] <= 100)  
    {  
        
menu_additem(menu"\r \d\y|2\w Bomba Molotov \d\y|\w2 Bomba Droga \d\y|\w1 Campo de Fuerza\y||\w \r[Min Lvl 500]""4"0)  
    }  
    else if (
g_level[id] >= 100)  
    {  
        
menu_additem(menu"\r \w\y|2\w Bomba Molotov \w\y|2\w Bomba Droga \w\y|1\w Campo de Fuerza\y||\w""4"0)  
    }  
      
    
    
menu_display(idmenu0)  
}  

public 
menu_handler(idmenuitem)  
{  
    if (
item == MENU_EXIT)  
    {  
        
menu_destroy(menu)  
        return 
PLUGIN_HANDLED  
    
}  
     
    if(
g_zombie[id])  
    {  
        
menu_destroy(menu)  
        return 
PLUGIN_HANDLED  
    
}  
     
    new 
data[6], iName[64]  
    new 
accesscallback  
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)  
    new 
key str_to_num(data)  
     
        switch(
key)  
        {      
            case 
1:  
            {  
                if (
g_level[id] >= 0)  // Level Necesario para elegir este pack
                
{  
                    
fm_give_item(id"weapon_hegrenade")  
          
fm_give_item(id"weapon_flashbang"
                
                     
                }  
            }  
            case 
2:  
            {  
                if (
g_level[id] >= 25)  
                {  
                    
fm_give_item(id"weapon_hegrenade")  
                    
fm_give_item(id"weapon_flashbang"
                    
fm_give_item(id"weapon_flashbang")  
                 
                }  else 
                    
zp_colored_print(id"No tienes nivel suficiente para este pack de bombas"
            }  
            case 
3:  
            {  
                if (
g_level[id] >= 40)  
                {  
                    
fm_give_item(id"weapon_hegrenade")  
                    
fm_give_item(id"weapon_hegrenade")  
                    
fm_give_item(id"weapon_flashbang")    
                     
                }else 
                    
zp_colored_print(id"No tienes nivel suficiente para este pack de bombas")  
            }  
            case 
4:  
            {  
                if (
g_level[id] >= 100)  
                {  
                    
fm_give_item(id"weapon_hegrenade")  
                    
fm_give_item(id"weapon_hegrenade")   
                    
fm_give_item(id"weapon_flashbang")  
          
fm_give_item(id"weapon_flashbang")   
          
fm_give_item(id"weapon_smokegrenade")    
                } else 
                    
zp_colored_print(id"No tienes nivel suficiente para este pack de bombas"
            
        
        }  
        }  
    }  
    return 
PLUGIN_HANDLED  


Haaa, Olvide algo ; Para sacar las granadas que te da cuando elejis las pistolitas

Borramos
Código PHP:
// Give additional items  
static i  
for (0sizeof g_additional_itemsi++)  
    
fm_give_item(idg_additional_items[i])  


Y borramos
Código PHP:
// Additional Items to give after buying all weapons (e.g. grenades)  
new const g_additional_items[][] = { "weapon_hegrenade""weapon_flashbang""weapon_smokegrenade" 

2do sistema
Aca dejo una mejor forma
El plugin es de 3mcy daimon't

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <cstrike>

#define PLUGIN "Menu de bombas"
#define VERSION "1.0"
#define AUTHOR "---"

enum _:menu_nades {
    
nombre[33],
    
cantidad1,
    
cantidad2,
    
cantidad3,
    
nivel
}

new const 
nades[][menu_nades] = {
    {
"+ 1 HE | + 1 Flash | + 1 Smoke"111},
    {
"+ 2 HE | + 2 Flash | + 2 Smoke"222},
    {
"+ 3 HE | + 3 Flash | + 3 Smoke"33310},
    {
"+ 4 HE | + 4 Flash | + 4 Smoke"44415},
    {
"+ 5 HE | + 5 Flash | + 5 Smoke"55520}
}

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /bombas""show_menu_granadas")
}

public 
show_menu_granadas(id) {    
    new 
menu menu_create("\wMenu de bombas""menu_bombas_handler"

    new 
num[3], len[1024]
    for (new 
0sizeof nadesi++) {
    
num_to_str(inum2)
    if(
variable_nivel[id] >= nades[i][nivel]) 
    
formatex(lensizeof len 1"\y [\w%s\y]" nades[i][nombre])
    else 
formatex(lensizeof len 1"\d [%s] \r[Nivel: %d]" nades[i][nombre] , nades[i][nivel])
    
menu_additem(menulennum)
}

    
menu_setprop(menuMPROP_BACKNAME"\yAtras"
    
menu_setprop(menuMPROP_NEXTNAME"\ySiguiente"
    
menu_setprop(menuMPROP_EXITNAME"\ySalir"
    
menu_display(idmenu0
}

public 
menu_bombas_handler(idmenuitem) {
    if(
item == MENU_EXIT || !is_user_connected(id)) { 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 
    

    
    if(
variable_nivel[id] < nades[item][nivel]) {    
        
print_color(id"Para este pack tu nivel debe ser:^x04 %d."nades[item][nivel])
        
show_menu_granadas(id)
        return 
PLUGIN_HANDLED;
    }

    
give_item(id"weapon_hegrenade")
    
cs_set_user_bpammo(idCSW_HEGRENADEnades[item][cantidad1])
    
give_item(id"weapon_flashbang")
    
cs_set_user_bpammo(idCSW_FLASHBANGnades[item][cantidad2])
    
give_item(id"weapon_smokegrenade")
    
cs_set_user_bpammo(idCSW_SMOKEGRENADEnades[item][cantidad3])

    
menu_destroy(menu)
    return 
PLUGIN_CONTINUE;
}

stock print_color(id, const mensaje[], any:...) {//Stock para mensajes de color
    
static buffer[128]
    
vformat(buffercharsmax(buffer), mensaje3)

    
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _id)
    
write_byte(id)
    
write_string(buffer)
    
message_end()


3er sistema
Arriba del plugin esto
Código PHP:
new const GRANADAS[][] =
{
    
"1 FUEGO - 1 HIELO - 1 LUZ",
    
"2 FUEGO - 1 HIELO - 1 LUZ",
    
"1 FUEGO - 2 HIELO - 1 LUZ",
    
"2 FUEGO - 1 HIELO - 3 LUZ",
    
"1 FUEGO - 1 LUZ - 1 BUBBLE",
    
"2 FUEGO - 2 LUZ - 2 BUBBLE"
}


new const 
GRANADAS_NIVEL[] =
{
    
1,
    
25,
    
40,
    
60,
    
90,
    
150
}

new const 
GRANADAS_1[] =
{
    
1,
    
2,
    
1,
    
2,
    
1,
    
2
}
new const 
GRANADAS_2[] =
{
    
1,
    
1,
    
2,
    
1,
    
1,
    
2
}
new const 
GRANADAS_3[] =
{
    
1,
    
1,
    
1,
    
3,
    
1,
    
2


Abajo de todo el public show_menu_buy2(id)
Código PHP:
show_menu_buy3(id)
{
    static 
menu[400], len
    len 
0
    
    
// Title
    
len += formatex(menu[len], sizeof menu len"\wMENU DE \rGRANADAS^n^n")


    for (new 
06i++)    
    {
        if(
g_nivel[id] >= GRANADAS_NIVEL[i])
            
len += formatex(menu[len], charsmax(menu) - len"\r%d.\w %s \y[Nivel: %d]^n"i+1GRANADAS[i], GRANADAS_NIVEL[i])        
        else
            
len += formatex(menu[len], charsmax(menu) - len"\r%d.\d %s [Nivel: %d]^n"i+1GRANADAS[i], GRANADAS_NIVEL[i])
    }
    
    
// 8. Auto Select
    
len += formatex(menu[len], sizeof menu len"^n\r8.\w %L \y[%L]"id"MENU_AUTOSELECT"id, (WPN_AUTO_ON) ? "MOTD_ENABLED" "MOTD_DISABLED")    
    
    
// 0. Exit
    
len += formatex(menu[len], sizeof menu len"^n^n\r0.\w %L"id"MENU_EXIT")
    
    
show_menu(idKEYSMENUmenu, -1"Buy Menu 3")
    
    return 
PLUGIN_HANDLED


Arriba de public menu_extras(id, key)
Código PHP:
public menu_buy3(idkey)
{
    
// Zombies or survivors get no guns
    
if (g_zombie[id] || g_survivor[id] || !is_user_alive(id))
        return 
PLUGIN_HANDLED;            
        
    
// Special keys / weapon list exceeded
    
if (key >= 7)
    {
        
// Toggle autoselect
        
if (key == MENU_KEY_AUTOSELECT)
            
WPN_AUTO_ON WPN_AUTO_ON
        
        
// Reshow menu unless user exited
        
if (key != MENU_KEY_EXIT)
            
show_menu_buy3(id)
        
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_nivel[id] >= GRANADAS_NIVEL[key])
    {        
        
fm_give_item(id"weapon_hegrenade")
        
fm_give_item(id"weapon_flashbang")
        
fm_give_item(id"weapon_smokegrenade")
        
        
fm_set_user_bpammo(idCSW_HEGRENADEGRANADAS_1[key])
        
fm_set_user_bpammo(idCSW_FLASHBANGGRANADAS_2[key])
        
fm_set_user_bpammo(idCSW_SMOKEGRENADEGRANADAS_3[key])
            
            
// Para Agregar Alguna Bomba En Especial Agrégale La Variable Ay
/*
        if(key == 4 || key == 5) // Setear variable campo de fuerza
            g_granada_smoke[id] = 1    */
    
    
}
    else
    {
        
zp_colored_print(id"^x04[ZP PSA] ^x01No tenes nivel suficiente para ese ^x03Pack de Granadas.")
        
show_menu_buy3(id)
        return 
PLUGIN_HANDLED;        
    }
    
    return 
PLUGIN_HANDLED;


Ahora registramos el menu en public plugin_init()
Código PHP:
register_menu("Buy Menu 3"KEYSMENU"menu_buy3"
NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
[Imagen: b_350_20_ffad41_e98100_000000_591f11.png]


Responder


Mensajes en este tema
[ZP] [TUT] Menu de Bombas por lvl - por Evil Spiret - 09/03/2014, 12:50 AM
RE: ZP TUT Menu de Bombas por lvl - por roccoxx - 09/03/2014, 12:56 AM
RE: [ZP] [TUT] Menu de Bombas por lvl - por UnrealT - 09/03/2014, 01:28 AM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Kane - 09/03/2014, 02:14 AM
RE: [ZP] [TUT] Menu de Bombas por lvl - por RauliTop - 10/03/2014, 12:11 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por LNATIC - 10/03/2014, 03:26 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por RauliTop - 10/03/2014, 04:44 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por CSAxel - 13/04/2016, 12:47 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por CSAxel - 14/04/2016, 12:14 AM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Chamo. - 02/02/2017, 08:50 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Chamo. - 02/02/2017, 10:12 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Chamo. - 02/02/2017, 10:57 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Chamo. - 02/02/2017, 11:32 PM
RE: [ZP] [TUT] Menu de Bombas por lvl - por Hinami - 02/09/2020, 09:30 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)