| ~Ice*shOt |
08-12-2013 07:13 |
Menu remaking
I have code with two menus, could anyone help to do everything in one menu?
PHP Code:
#include <amxmodx>
#define Max 4
new SelUnlocked[Max]
new SelSelected[33]
new PlayerPts[33]
new const Selections[Max][] = { "First", "Second", "Third", "Fourth" }
new const SelCosts[Max] = { 100, 300, 50, 500 }
public plugin_init()
{
register_clcmd("say /menu", "Main_plMenu")
register_clcmd("say /menu2", "Main_plMenu2")
register_clcmd("say /pts", "GivePts")
}
public GivePts(id)
{
PlayerPts[id] += 100
}
public Main_plMenu(id)
{
new Menu = menu_create("\rSelections to unlock:", "plMenu")
for (new i = 0; i < Max; i++)
{
new Items[512], TempID[32]
if (PlayerPts[id] >= SelCosts[i])
{
formatex(Items, charsmax(Items), "\y%s \d[\w%d Pts\d]", Selections[i], SelCosts[i])
num_to_str(i, TempID, charsmax(TempID))
menu_additem(Menu, Items, TempID, 0)
}
else
{
formatex(Items, charsmax(Items), "\d%s [\r*LOCKED* Need %i Pts\d]", Selections[i], SelCosts[i])
menu_additem(Menu, Items, "999", 0, menu_makecallback("Callback_Menu"))
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
public plMenu(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)
PlayerPts[id] -= SelCosts[Key]
SelUnlocked[Key] = true
PrintColor(id, "You unlocked %s Selection!", Selections[Key])
return PLUGIN_HANDLED
}
public Main_plMenu2(id)
{
new Menu = menu_create("\rSelections to switch:", "plMenu2")
for (new i = 0; i < Max; i++)
{
new Items[512], TempID[32]
if (SelUnlocked[i])
{
if (SelSelected[id] == i)
{
formatex(Items, charsmax(Items), "\d%s [\rSelected\d]", Selections[i])
menu_additem(Menu, Items, "999", 0, menu_makecallback("Callback_Menu"))
}
else
{
formatex(Items, charsmax(Items), "\y%s", Selections[i])
num_to_str(i, TempID, charsmax(TempID))
menu_additem(Menu, Items, TempID, 0)
}
}
else
{
formatex(Items, charsmax(Items), "\d%s [\r*LOCKED* Need %i Pts\d]", Selections[i], SelCosts[i])
menu_additem(Menu, Items, "999", 0, menu_makecallback("Callback_Menu"))
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}
public plMenu2(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)
SelSelected[id] = Key
PrintColor(id, "You Selected %s Selection!", Selections[Key])
menu_destroy(Menu)
return PLUGIN_HANDLED
}
public Callback_Menu(id, Menu, Item)
{
return ITEM_DISABLED
}
|