I don't want to do this, an example for what i want to do is adding three commands for one menu:
Code:
Calling same function
register_clcmd( "say /manage", "PlayerRank", ADMIN_RCON);
register_clcmd( "say /rr", "PlayerRank", ADMIN_RCON );
register_clcmd( "say /xplist", "PlayerRank", ADMIN_ALL );
public PlayerRank(id, iLevel, iCid)
{
Check who can use that command
if(!cmd_access(id, iLevel, iCid, 1))
{
return PLUGIN_HANDLED
}
new iPlayers[MAX_PLAYERS], iPnum, szUserID[32], szTitle[128], iMenu
Check which command did player chose
if user use "/manage, /rr ,/xplist" command will open the same menu and calling the same handler
switch ( iMenu )
{
case CHECK_RANK:
{
MenuTitle("\yRank System: \rXP List")
}
case RESET_RANK:
{
MenuTitle("\yRank System: \rReset Data")
}
case MANAGE_RANK:
{
MenuTitle("\yRank System: \rManage Players")
}
}
iMenu = menu_create(szTitle, "Handler")
get_players(iPlayers, iPnum, "ch"); SortCustom1D(iPlayers, iPnum, "sort_players_by_xp")
for(new szItem[1024], iPlayer, i; i < iPnum; i++)
{
iPlayer = iPlayers[i]
EX: [ Player XP ] Player Name [ LvL , Rank ]
MenuInfo("\d[%i XP] \w%s \r[\yLevel %i: %s\r]")
formatex( szUserID, charsmax( szUserID ), "%d", get_user_userid(iPlayer))
menu_additem(iMenu, szItem, szUserID)
}
menu_setprop(iMenu, MPROP_BACKNAME, "Previous page")
menu_setprop(iMenu, MPROP_NEXTNAME, "Next page")
menu_setprop(iMenu, MPROP_EXITNAME, "\rClose")
menu_display(id, iMenu)
return PLUGIN_HANDLED
}
public Handler(id, iMenu, iItem)
{
new iAccess, iCallback, iData[6],iName[64];
menu_item_getinfo(iMenu, iItem, iAccess, iData, charsmax(iData), iName, charsmax(iName), iCallback);
new iPlayer = str_to_num(iData);
switch ( iMenuMode )
{
case CHECK_RANK:
{
If user use /xplist command and choose player will close the menu
return PLUGIN_HANDLED
}
case RESET_RANK:
{
If user use /rr command and choose player will reset his data
ResetPlayerRank(id, iPlayer);
}
case MANAGE_RANK:
{
If user use /manage command and choose player will open new menu have all ranks and select which rank want to change that player to
ManagePlayerRank(id, iPlayer);
}
}
menu_destroy(iMenu)
return PLUGIN_HANDLED
}