Hola, que tal muchachos, soy nuevo en el foro y vengo a hacer un pequeño aporte de como hacer un MENU shop distinto para ambos team.
EDITADO:
-----------Otra manera de hacerlo.
Código PHP:
#include <amxmodx>
#define PLUGIN "Shop"
#define VERSION "1.0"
#define AUTHOR "karma.IN"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("chooseteam", "principal") // Cuando aprete la "M" lo dirige al Menu Principal
// Add your code here...
}
public principal(id)
{
new team = get_user_team(id)
if(team == 1 || team == 2) // Si el team es TT o CT
{
menu(id); // lo manda al menu principal
}
else //de no se asi
{
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED;
}
public menu(id) //Creamos el menu principal
{
new Menu = menu_create("\wMenu Principal", "menu_handler") //El nombre del menu y dsp el handler
if(get_user_team(id) == 1) //si el team es 1 va a mostrar este Item
menu_additem(Menu, "\wShop TT" , "1", 0)
else if(get_user_team(id) == 2) //si el team es 2 va a mostrar este item
menu_additem(Menu, "\Shop CT", "1", 0)
menu_setprop(Menu, MPROP_EXITNAME,"Salir")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1: shop(id);
}
return PLUGIN_HANDLED;
}
public shop(id)
{
if(is_user_alive(id)) // Si el usuario esta vivo
{
new team = get_user_team(id)
{
if(team == 1) // si el team es TT lo manda al shop TT
{
shopTT(id);
}
else if(team == 2) // Si el team es CT lo manda al shop CT
{
shopCT(id);
}
else if(team == 3) // de no se asi, returnea
{
return PLUGIN_CONTINUE
}
}
}
else // de no estar vivo
{
client_print(id, print_center, "NECESITAS ESTAR VIVO PARA ACCEDER AL SHOP") //Manda este print
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
EDITADO:
-----------Otra manera de hacerlo.
Código PHP:
#include <amxmodx>
#include <fun>
#include <cstrike>
#define PLUGIN "Shop"
#define VERSION "1.0"
#define AUTHOR "karma.IN"
public plugin_init() //Al comienzo del plugin registramos nuestros comandos / eventos ,etc
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /shop", "shop") //Registramos el comando /shop y esto lo enviara al public "shop"
}
public shop(id) //creamos el public "shop" y establecemos que :
{
if(is_user_alive(id)) // Si el usuario esta vivo
{
new team = get_user_team(id)
{
if(team == 1) // si el team es TT
{
shopTT(id); // lo manda al shop de TT
}
else if(team == 2) // Si el team es CT
{
shopCT(id); // Lo manda al shop del CT
}
else if(team == 3) // De ser SPECTADOR no abrira el menu
{
return PLUGIN_HANDLED
}
}
}
else // de no estar vivo
{
client_print(id, print_center, "NECESITAS ESTAR VIVO PARA ACCEDER AL SHOP") //Manda este print
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public shopTT(id) //EJ: Creamos un shop del TT
{
new Menu = menu_create("\wHola soy un shop", "shop_handler") // Creamos la nueva variable "Menu" que usaremos aqui
menu_additem(Menu, "\w200hp" , "1", 0) //Opcion 1
menu_additem(Menu, "\wSmokeGrenade" , "2", 0) //Opcion 2
menu_additem(Menu, "\wDeagle 1 Bala" , "3", 0) //Opcion 3
menu_setprop(Menu, MPROP_EXITNAME,"Salir")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public shop_handler(id, menu, item) //aca se determinan las acciones de cada Opcion anterior
{
if(item == MENU_EXIT) //Si el item es EXIT, destruye el menu
{
menu_destroy(menu);
return PLUGIN_HANDLED
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1: //opcion 1
{
set_user_health(id,200) //Otorga 200 de hp
}
case 2: //opcion 2
{
give_item(id,"weapon_smokegrenade") //Da una SG
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1) // Aca seteamos que le va a dar 1 Sola sg
}
case 3: //opcion 3
{
cs_set_weapon_ammo(give_item(id, "weapon_glock18"), 1) // Le damos una glock con 1 bala
}
}
return PLUGIN_HANDLED;
}
public shopCT(id) // Lo mismo hacemos para el SHOP del CT
{
new Menu = menu_create("\wHola soy un shop", "shopCT_handler") // Nunca usamos el mismo handler par el mismo menu
menu_additem(Menu, "\w200hp" , "1", 0) //Opcion 1
menu_additem(Menu, "\wSmokeGrenade" , "2", 0) //Opcion 2
menu_additem(Menu, "\wDeagle 1 Bala" , "3", 0) //Opcion 3
menu_setprop(Menu, MPROP_EXITNAME,"Salir")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public shop_handler(id, menu, item) //aca se determinan las acciones de cada Opcion anterior
{
if(item == MENU_EXIT) //Si el item es EXIT, destruye el menu
{
menu_destroy(menu);
return PLUGIN_HANDLED
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_user_health(id,200)
}
case 2: //opcion 2
{
give_item(id,"weapon_smokegrenade")
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1)
}
case 3: //opcion 3
{
cs_set_weapon_ammo(give_item(id, "weapon_glock18"), 1)
}
}
return PLUGIN_HANDLED;
}