PHP Code:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
new cvar_health, cvar_armor, cvar_gravity, cvarbind
new g_msgSayText
public plugin_init()
{
// Registro el Plugin
register_plugin("SuperOpciones", "0.1", "Fraancoo")
register_clcmd("say /menu", "supermenu")
RegisterHam( Ham_Spawn, "player", "spawnbind", 1)
// cvars
cvarbind = register_cvar("smenu_bindear", "1")
cvar_health = register_cvar("smenu_healthcost", "500")
cvar_armor = register_cvar("smenu_armorcost", "500")
cvar_gravity = register_cvar("smenu_gravitycost", "1500")
g_msgSayText = get_user_msgid("SayText")
if(!get_pcvar_num(cvarbind))
{
register_clcmd("say /menu", "supermenu")
register_clcmd("say_team /menu", "supermenu")
}
}
public spawnbind(id)
{
if(get_pcvar_num(cvarbind))
{
client_cmd(id,"bind ^"p^" ^"say /menu^"")
ChatColor(id, "[ServerInforma] Presiona P para abrir el Menu De Opciones")
}
else
{
ChatColor(id, "[ServerInforma] Presiona P para abrir el Menu De Opciones")
}
}
public supermenu(id)
{
new Menu = menu_create("\ySuperOpciones", "mostrarsupermenu")
menu_additem(Menu, "Abrir Menu AmxMod(solo admin)" , "1", ADMIN_KICK)
menu_additem(Menu, "200 de vida-$500" , "2", 0)
menu_additem(Menu, "200 De Armor-$500" , "3", 0)
menu_additem(Menu, "400 de Gravity- $1500" , "4", 0)
menu_setprop(Menu,MPROP_EXITNAME,"Salir")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
public mostrarsupermenu(id, Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}
new iData[6];
new iAccess;
new iCallback;
new iName[64];
menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback)
new money, cost, cost2, cost3
money = cs_get_user_money(id)
cost = get_pcvar_num(cvar_health)
cost2 = get_pcvar_num(cvar_armor)
cost3 = get_pcvar_num(cvar_gravity)
switch (str_to_num(iData))
{
case 1:
{
if(get_user_flags(id) == ADMIN_KICK)
client_cmd(id, "amxmodxmenu")
}
case 2:
{
if (money >= cost && is_user_alive(id))
{
cs_set_user_money(id, money - cost)
set_user_health(id, get_user_health(id) + 200)
}
else
{
ChatColor(id, "[ServerInforma]No tienes suficiente plata")
menu_destroy(Menu)
}
}
case 3:
{
if (money >= cost2 && is_user_alive(id))
{
cs_set_user_money(id, money - cost2)
set_user_armor(id, get_user_armor(id) + 200)
}
else
{
ChatColor(id, "[ServerInforma]No tienes suficiente plata")
menu_destroy(Menu)
}
}
case 4:
{
if (money >= cost3 && is_user_alive(id))
{
cs_set_user_money(id, money - cost3)
set_user_gravity(id, get_user_gravity(id) - 0.5)
}
else
{
ChatColor(id, "[ServerInforma]No tienes suficiente plata")
menu_destroy(Menu)
}
}
}
return PLUGIN_HANDLED
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
if (id) players[0] = id
else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}