Code:
new g_number[33][10]
public plugin_init() {
register_clcmd("test","ShowMenu", -1, "show est menu")
register_menucmd(register_menuid("\yTest Menu"), 1023, "MenuCommand")
public ShowMenu(id)
{
new CSName[32];
get_user_name(id, CSName, 31);
result = dbi_query(dbc,"SELECT * FROM `test` WHERE `name` = '%s'", CSName)
new szMenuBody[256]
new keys
new nLen = format( szMenuBody, 255, "\wTest Menu:^n" )
new number[64];
for (new i=1;i<=dbi_num_rows(result);i++)
{
dbi_nextrow(result)
dbi_result(result,"number",number,63)
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w%d. %s",i,number)
g_number[id][i] = str_to_num(number)
}
keys = (1<<0|1<<1)
show_menu( id, keys, szMenuBody, -1 )
return PLUGIN_CONTINUE
}
public MenuCommand( id, key )
{
switch( key )
{
case 0: client_print(id, print_chat, "%d",g_number[id][1])
case 1: client_print(id, print_chat, "%d",g_number[id][2])
}
return PLUGIN_HANDLED
}
see my code...right...it's work fine!!
i want to ask one more question about "keys = (1<<0|1<<1)"
how can i make it's two keys if result = 2?
example:
dbi_num_rows(result) = 2 , that mean here have two result case..
two result case = two keys --> "keys = (1<<0|1<<1)"
example2:
dbi_num_rows(result) = 5 , that mean here have five result case..
five result case = five keys --> "keys = (1<<0|1<<1|1<<2|1<<3|1<<5)"
example3:
dbi_num_rows(result) = 9 , that mean here have nine result case..
nine result case = nine keys --> "keys = (1<<0|1<<1|1<<2|1<<3|1<<5|1<<6|1<<7|1<<8|1<<9 )"
sorry again..my bad english...thanks