Bueno hoy les enseñare a como hacer un menu de granadas especiales por natives por nivel y reset
1er Paso:
Agregamos el include y creamos la constante
2do Paso:
Creamos el menu
3er Paso:
Creamos el callback
4to Paso:
Creamos el handler del menu
5to paso:
Agregamos para que se abra el menu al elegir armas secundarias
PD: Primer tuto o c&p (Como lo consideren :V)
CREDITOS:
Skylar (Tienda por natives)
1er Paso:
Agregamos el include y creamos la constante
Código PHP:
#include BombaNatives
enum _:DATA_BOMBAS {
NAME[20], // NOMBRE DE LA GRANADA:v
CONDICION, // NIVEL
CONDICION2, // RESET
}
new const bombas[][DATA_BOMBAS] = {
/* "DESCRIPCION" "NIVEL" "RESET" */
{"1 HIELO", 0, 0},
{"1 HIELO + 1 FUEGO", 5, 0},
{"2 HIELO + 2 FUEGO", 10, 0},
{"1 Bubble + 1 HIELO", 15, 0},
{"1 PIPE + HIELO", 20, 1},
{"1 ANTIDOTO", 0, 2}
}
Creamos el menu
Código PHP:
public menu_bombas(id)
{
if (!g_isalive[id] || g_zombie[id] || g_survivor[id] || g_sniper[id]) //Aqui ponemos para que si es zombie, survivor, sniper etc
return PLUGIN_HANDLED; //no pueda abrir el menu :v
new i, menu, text[100]
menu = menu_create("\r[ZP]\y Elegir Granadas", "handler_bomba") //Aqui ponemos el nombre del menu :v
for(i = 0; i < sizeof(bombas); i++)
{
if(g_level[id] < bombas[i][CONDICION] || g_reset[id] < bombas[i][CONDICION2]) //aqui yo puse g_level y g_reset, pero
{ //tu lo cambias a como lo tengas:v
formatex(text, charsmax(text), "\d[Nivel:\r %d\d] \d[Reset:\r %d\d]", bombas[i][20], bombas[i][21]) //Lo que aparesera si no cumple con los requisitos:v
}
else
{
formatex(text, charsmax(text), "\y%s", bombas[i][NAME]) //Si cumple con los requisitos le saldra el nombre del item (Granada) :v
}
menu_additem(menu, text, _, _, menu_makecallback("bomba_callback"))
}
}
menu_display(id, menu)
return PLUGIN_HANDLED;
}
Creamos el callback
Código PHP:
public bomba_callback(id, menu, item) { //Creamos el Callback habilitar y deshabilitar los items
if (!g_isalive[id] || g_zombie[id] || g_survivor[id] || g_sniper[id])
return PLUGIN_HANDLED;
if(g_level[id] < bombas[item][CONDICION] || g_reset[id] < bombas[item][CONDICION2])
return ITEM_DISABLED;
return ITEM_ENABLED;
}
Creamos el handler del menu
Código PHP:
public handler_bomba(id, menu, item) {
if (!g_isalive[id] || g_zombie[id] || g_survivor[id] || g_sniper[id]) //Aqui ponemos para que si es zombie, survivor, sniper etc
//no pueda elegir nada y se le cierre el menu :V
return PLUGIN_HANDLED;
if(item == MENU_EXIT)
return PLUGIN_HANDLED;
switch(item) {
case 0:
{
give_item(id, "weapon_flashbang") //Aqui damos la granada de hielo :v
cs_set_user_bpammo(id, CSW_FLASHBANG, 1) //aqui ustedes lo cambian a como lo quieren en este caso yo le puse 1:v
}
case 1:
{
give_item(id, "weapon_hegrenade")//Aqui damos la granada de fuego :v
cs_set_user_bpammo(id, CSW_HEGRENADE, 1) //le dan las que quieran (en mi caso le doy)
give_item(id, "weapon_flashbang")//Aqui damos la granada de hielo :v
cs_set_user_bpammo(id, CSW_FLASHBANG, 1)//le dan las que quieran (en mi caso le doy)
}
case 2:
{
give_item(id, "weapon_hegrenade") // lo mismo de arriba :v
cs_set_user_bpammo(id, CSW_HEGRENADE, 2) // aqui ya le damos 2 :v
give_item(id, "weapon_flashbang") // lo mismo de arriba :v
cs_set_user_bpammo(id, CSW_FLASHBANG, 2)// aqui ya le damos 2 :v
}
case 3:
{
tienda_bubble(id) // Le damos la granada bubble (Campo de Fuerza)
give_item(id, "weapon_flashbang") // le damos una granada de hielo :v
cs_set_user_bpammo(id, CSW_FLASHBANG, 1) // le damos una granada de hielo :v
}
case 4:
{
give_item(id, "weapon_flashbang") // le damos una granada de hielo :v
cs_set_user_bpammo(id, CSW_FLASHBANG, 1) // la cantidad :v
tienda_pipe(id) // Le damos la granada pippe :v (Atraen zombies)
}
case 5:
{
tienda_antidoto(id) // y por ultimo le damos el antidoto (cura a los zombies:v)
}
}
return PLUGIN_HANDLED;
}
Agregamos para que se abra el menu al elegir armas secundarias
nos vamos a donde ustedes tengan su menu de armas secundarias lo mas comun es public menu_buy2(id, key) y agregan a lo ultimo antes de } esto : menu_bombas(id)
Ejemplo:
Ejemplo:
Código PHP:
public menu_buy2(id, key)
{
// code
//code
// y mas code
//agregamos :v
menu_bombas(id)
return PLUGIN_HANDLED;
}
CREDITOS:
Skylar (Tienda por natives)