Code:
#include <amxmodx>
public plugin_init()
{
register_plugin("Test", "1.0", "Unknown");
register_clcmd("say /menu", "cmdMenu");
}
public cmdMenu(this)
{
showMenu1(this);
}
showMenu1(this, iPage = 0)
{
new rgPlayers[32], szPlayerName[32], szPlayerId[3], iPlayersCount, pevPlayer;
new hMenu = menu_create("Menu 1", "menu1");
get_players(rgPlayers, iPlayersCount, "ch");
for (new i = 0; i < iPlayersCount; i++)
{
pevPlayer = rgPlayers[i];
if (pevPlayer == this)
continue;
get_user_name(pevPlayer, szPlayerName, charsmax(szPlayerName));
num_to_str(pevPlayer, szPlayerId, charsmax(szPlayerId));
menu_additem(hMenu, szPlayerName, szPlayerId);
}
if (!menu_items(hMenu))
{
client_print(this, print_chat, "No players is in server");
return;
}
menu_display(this, hMenu, iPage);
}
public menu1(this, hMenu, iItem)
{
if (iItem == MENU_EXIT)
{
menu_destroy(hMenu);
return PLUGIN_HANDLED;
}
new bitsAccess, iCallback, szPlayerId[3];
menu_item_getinfo(hMenu, iItem, bitsAccess, szPlayerId, charsmax(szPlayerId), _, _, iCallback);
menu_destroy(hMenu);
new pevPlayer = str_to_num(szPlayerId);
if (!is_user_connected(pevPlayer))
{
showMenu1(this, iItem / 7);
return PLUGIN_HANDLED;
}
showMenu2(this, pevPlayer);
return PLUGIN_HANDLED;
}
showMenu2(this, pevPlayer)
{
new szBuffer[64], szPlayerName[32], szPlayerSteamid[32];
get_user_name(pevPlayer, szPlayerName, charsmax(szPlayerName));
get_user_authid(pevPlayer, szPlayerSteamid, charsmax(szPlayerSteamid));
formatex(szBuffer, charsmax(szBuffer), "%s SteamID", szPlayerName);
new hMenu = menu_create(szBuffer, "menu2");
menu_addtext(hMenu, szPlayerSteamid);
menu_display(this, hMenu, 0);
}
public menu2(this, hMenu, iItem)
{
menu_destroy(hMenu);
return PLUGIN_HANDLED;
}