param1 has different meaning in each
MenuAction.
You need look what it will offer in each MenuAction case.
Code:
Example:
MenuAction_Select = An item was selected (param1=client, param2=item)
MenuAction_Cancel = The menu was cancelled (param1=client, param2=reason)
MenuAction_End = A menu display has fully ended.
param1 is the MenuEnd reason, and if it's MenuEnd_Cancelled, then
param2 is the MenuCancel reason from MenuAction_Cancel.
You can continue creating new menu, select player ?
PHP Code:
...
public Action menuss(int client,int args){
Menu menu = new Menu(Menu_Callback);
menu.SetTitle("gravactive");
menu.AddItem("grav", "gravity");
menu.Display(client, MENU_TIME_FOREVER);
return Plugin_Handled;
}
public int Menu_Callback(Menu menu, MenuAction action,int param1,int param2){
switch (action){
case MenuAction_Select:
{
char item[64];
menu.GetItem(param2, item, sizeof(item));
if(StrEqual(item,"grav")){
//ServerCommand("sm_grav");
Menu menu2 = new Menu(Menu_targets_Callback);
menu2.SetTitle("gravactive");
AddTargetsToMenu(menu2, param1, true, false);
menu2.Display(param1, MENU_TIME_FOREVER);
}
}
case MenuAction_End:
{
delete menu;
}
}
}
public int Menu_targets_Callback(Menu menu, MenuAction action,int param1,int param2){
switch (action){
case MenuAction_Select:
{
char item[64];
menu.GetItem(param2, item, sizeof(item));
int userid = StringToInt(item);
PrintToServer("- userid %i", userid);
FakeClientCommandEx(GetClientOfUserId(userid), "kill");
}
case MenuAction_End:
{
delete menu;
}
}
}
__________________