Bloquear armas si escoge uno
#1
Hola todos, bueno yo uso un menu en donde el vip puede escoger un arma, lo que quiero hacer es que si escoge uno se bloque las otras armas. Mi pregunta es como puedo hacer eso? alguien me podria dar un ejemplo porfavor? ... gracias antemano

codigo:

Código PHP:
show_menu_vip(id)
{
    static 
menu[250]
    new 
len

    
// Title
    
len += formatex(menu[len], charsmax(menu) - len"\rZP | VIP Menu^n^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r1.\w G3SG1^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r2.\w SG552^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r3.\w AWP MAGNUM SNIPER^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r4.\w M249^n")

    
len += formatex(menu[len], charsmax(menu) - len"^n^n\r0.\w Exit")

    
// Fix for AMXX custom menus
    
set_pdata_int(idOFFSET_CSMENUCODE0)
    
show_menu(idKEYSMENUmenu, -1"Weapons Menu")
    
    return 
PLUGIN_CONTINUE 
}

// Main Menu
public menu_weapons(idkey)
{
    
// Player disconnected?
    
if (!is_user_connected(id))
    return 
PLUGIN_HANDLED;
    
    switch (
key)
    {
        case 
0
    {
         
give_item(id"weapon_g3sg1")
         
cs_set_user_bpammo(idCSW_G3SG190)
    }
    case 
1
    {
         
give_item(id"weapon_sg552")
         
cs_set_user_bpammo(idCSW_SG55290)
    }
    case 
2
    {
         
give_item(id"weapon_awp")
         
cs_set_user_bpammo(idCSW_AWP30)
    }
    case 
3
    {
         
give_item(id"weapon_m249")
         
cs_set_user_bpammo(idCSW_M249200)
    } 
        }          
     return 
PLUGIN_HANDLED;

Responder
#2
te referis a que no te deje ingresar al menu una ves comprada cualquier arma?


podes hacerlo con una variable por ejemplo:

Código PHP:
g_arma[33


al reiniciarle o terminar la ronda
Código PHP:
g_arma[id] = 

luego en

Código PHP:
public menu_weapons(idkey)
{
    
// Player disconnected?
    
if (!is_user_connected(id)) return PLUGIN_HANDLED;
    
    if (
g_arma[id]) return PLUGIN_HANDLED// una ves activado esto, se te detiene hasta esta parte y no sigue con la opcion que sigas

    
switch (key)
    {
        case 
0
    {
         
give_item(id"weapon_g3sg1")
         
cs_set_user_bpammo(idCSW_G3SG190)
    }
    case 
1
    {
         
give_item(id"weapon_sg552")
         
cs_set_user_bpammo(idCSW_SG55290)
    }
    case 
2
    {
         
give_item(id"weapon_awp")
         
cs_set_user_bpammo(idCSW_AWP30)
    }
    case 
3
    {
         
give_item(id"weapon_m249")
         
cs_set_user_bpammo(idCSW_M249200)
    } 
        }          

    
g_arma[id] = // activamos
     
return PLUGIN_HANDLED;


y abajo de
Código PHP:
static menu[250]
    new 
len 

Código PHP:
if (g_arma[id]) return PLUGIN_HANDLED

Si tenes alguna duda avisa
Responder
#3
Código PHP:
new g_weapon_selected[33];

//en el Round Start o al Revivir
g_weapon_selected[id] = -1;

show_menu_vip(id)
{
    static 
menu[250]
    new 
len
    
    
new available[1];
    if(
g_weapon_selected[id] != -1)
        
copy(available0"d");
    else
        
copy(available0"w");
        
    
// Title
    
len += formatex(menu[len], charsmax(menu) - len"\rZP | VIP Menu^n^n")
    
    
len += formatex(menu[len], charsmax(menu) - len"\r1.\%c G3SG1^n"available)
    
    
len += formatex(menu[len], charsmax(menu) - len"\r2.\%c SG552^n"available)
    
    
len += formatex(menu[len], charsmax(menu) - len"\r3.\%c AWP MAGNUM SNIPER^n"available)
    
    
len += formatex(menu[len], charsmax(menu) - len"\r4.\%c M249^n"available)
    
    
len += formatex(menu[len], charsmax(menu) - len"^n^n\r0.\w Exit")
    
    
// Fix for AMXX custom menus
    
set_pdata_int(idOFFSET_CSMENUCODE0)
    
show_menu(idKEYSMENUmenu, -1"Weapons Menu")
    
    return 
PLUGIN_CONTINUE 
}

// Main Menu
public menu_weapons(idkey)
{
    
// Player disconnected?
    
if (!is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if(
g_weapon_selected[id] != -1)
    {
        
client_print(idprint_center"** Ya haz seleccionado tu arma **");
        return 
PLUGIN_HANDLED;
    }
    switch (
key)
    {
        case 
0
        {
            
give_item(id"weapon_g3sg1")
            
cs_set_user_bpammo(idCSW_G3SG190)
        }
        case 
1
        {
            
give_item(id"weapon_sg552")
            
cs_set_user_bpammo(idCSW_SG55290)
        }
        case 
2
        {
            
give_item(id"weapon_awp")
            
cs_set_user_bpammo(idCSW_AWP30)
        }
        case 
3
        {
            
give_item(id"weapon_m249")
            
cs_set_user_bpammo(idCSW_M249200)
        } 
    }
    
g_weapon_selected[id] = key;
    return 
PLUGIN_HANDLED;

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#4
Si quiero que puedan entrar al menu otra vez porque quiero agregar otras cosas solo quiero que si escoge una de esas cuatro armas ya no pueda seleccionar otra del resto o sea las otras tres hasta en nueva ronda y asi sucesivamente..
Responder
#5
(18/08/2017, 01:52 AM)wicho escribió: Si quiero que puedan entrar al menu otra vez porque quiero agregar otras cosas solo quiero que si escoge una de esas cuatro armas ya no pueda seleccionar otra del resto o sea las otras tres hasta en nueva ronda y asi sucesivamente..

Tenes 2 formas , solo tenes q agregar que se desactive la variable al terminar o reiniciar la ronda, para que te vuelva a dejar entrar al menu en la ronda nueva como vos quieres, tenes 2 ejemplos...
Responder
#6
Lo que hace lo tuyo es ya no volver a entrar al menu y no quiero eso, yo si quiero que puedan entrar pero que ya no pueden seleccionar otra arma.

Código PHP:
show_menu_vip(id)
{
    static 
menu[250]
    new 
len

    
// Title
    
len += formatex(menu[len], charsmax(menu) - len"\rZP | VIP Menu^n^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r1.\w G3SG1^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r2.\w SG552^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r3.\w AWP MAGNUM SNIPER^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r4.\w M249^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r5.\w Sand Bags^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r6.\w Laser Mine^n")

    
len += formatex(menu[len], charsmax(menu) - len"\r7.\w Unlimited Clip^n")

    
len += formatex(menu[len], charsmax(menu) - len"^n^n\r0.\w Exit")

    
// Fix for AMXX custom menus
    
set_pdata_int(idOFFSET_CSMENUCODE0)
    
show_menu(idKEYSMENUmenu, -1"Weapons Menu")
    
    return 
PLUGIN_CONTINUE 
}

// Main Menu
public menu_weapons(idkey)
{
    
// Player disconnected?
    
if (!is_user_connected(id))
    return 
PLUGIN_HANDLED;
    
    switch (
key)
    {
        case 
0
    {
         
give_item(id"weapon_g3sg1")
         
cs_set_user_bpammo(idCSW_G3SG190)
    }
    case 
1
    {
         
give_item(id"weapon_sg550")
         
cs_set_user_bpammo(idCSW_SG55090)
    }
    case 
2
    {
         
give_item(id"weapon_awp")
         
cs_set_user_bpammo(idCSW_AWP30)
    }
    case 
3
    {
         
give_item(id"weapon_m249")
         
cs_set_user_bpammo(idCSW_M249200)
    }
         case 
4
    {
         
zp_items_force_buy(idg_ItemSandbagIDtrue)
    }
    case 
5
    {
         
zp_items_force_buy(idg_ItemLasermineIDtrue)
    }
    case 
6
    {
         
zp_items_force_buy(idg_ItemUnlimitedClipIDtrue)
    }        
    }
     return 
PLUGIN_HANDLED;


en el codigo podes ver que puede escoger 7 cosas 4 armas, costales, mina laser e infinitas lo que yo quiero es que si escoge un arma ya no pueda seleccionar otra de las armas que los bloque pero que si pueda entrar al menu y puedan seleccionar costales, mina e infinitas
Responder
#7
Elimina el return de la variable que esta dentro del menu
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)