Имеется меню:
-------------------
Выбор игрока
-------------------
1. PlayerName1
2. PlayerName2
n. ..................
При клике на никнейм игрока идет переход в новое меню:
-------------------
Количество HP
-------------------
1. +10
2. +20
n. ......
И после клика по кол-ву HP пропадает 'client' выбранного игрока. Как его сохранить?
Code
public PlayerList(client)
{
new Handle:menu = CreateMenu(Select_PlayerList);
SetMenuTitle(menu, "Выбор игрока\n \n");
decl String:userid[15], String:name[32];
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
IntToString(GetClientUserId(i), userid, 15);
GetClientName(i, name, 32);
AddMenuItem(menu, userid, name);
}
}
DisplayMenu(menu, client, 0);
}
public Select_PlayerList(Handle:menu, MenuAction:action, client, option)
{
if (action == MenuAction_End)
{
CloseHandle(menu);
return;
}
if (action != MenuAction_Select) return;
decl String:userid[15];
GetMenuItem(menu, option, userid, 15);
//target[] = GetClientOfUserId(StringToInt(userid));
MenuGiveHP(client, GetClientOfUserId(StringToInt(userid)));
}
Code
public MenuGiveHP(client, target)
{
new Handle:menu = CreateMenu(VMSelect_AdminMenuGiveCredits);
SetMenuTitle(menu, "Выбрать кол-во [ Игрок - %N ] \n \n", target);
AddMenuItem(menu, "0", "+ 5");
AddMenuItem(menu, "1", "+ 10");
AddMenuItem(menu, "2", "+ 50");
AddMenuItem(menu, "3", "+ 100");
DisplayMenu(menu, client, 0);
}
public VMSelect_AdminMenuGiveCredits(Handle:menu, MenuAction:action, client, option)
{
if (action == MenuAction_End)
{
CloseHandle(menu);
return;
}
if (action != MenuAction_Select) return;
if (option == 0) GiveHP(client, 5); // Вот тут уже теряется target.
else < .. остальной код .. >
}
public GiveHP(client, hp) SetEntProp(client, Prop_Send, "m_iHealth", GetEntProp(client, Prop_Send, "m_iHealth") + hp);