Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Здравствуйте.
Подскажите, как в этом меню сделать, чтобы список игроков начинался с 3 пункта.
Немного теряюсь в коде.
Верны ли догадки, что в iKeys = (1<<9) нужно поменять значение?
Подскажите, как в этом меню сделать, чтобы список игроков начинался с 3 пункта.
Код:
Show_BlockedGuardMenu(id, iPos)
{
if(iPos < 0) return PLUGIN_HANDLED;
jbe_informer_offset_up(id);
new iPlayersNum;
for(new i = 1; i <= g_iMaxPlayers; i++)
{
if(IsNotSetBit(g_iBitUserConnected, i) || IsSetBit(g_iBitUserAdmin, i)) continue;
g_iMenuPlayers[id][iPlayersNum++] = i;
}
new iStart = iPos * PLAYERS_PER_PAGE;
if(iStart > iPlayersNum) iStart = iPlayersNum;
iStart = iStart - (iStart % 8);
g_iMenuPosition[id] = iStart / PLAYERS_PER_PAGE;
new iEnd = iStart + PLAYERS_PER_PAGE;
if(iEnd > iPlayersNum) iEnd = iPlayersNum;
new szMenu[512], iLen, iPagesNum = (iPlayersNum / PLAYERS_PER_PAGE + ((iPlayersNum % PLAYERS_PER_PAGE) ? 1 : 0));
switch(iPagesNum)
{
case 0:
{
UTIL_SayText(id, "!g[JBE] %L", id, "JBE_CHAT_ID_PLAYERS_NOT_VALID");
switch(g_iUserTeam[id])
{
case 1, 2: return Show_VipMenu(id);
default: return PLUGIN_HANDLED;
}
}
default: iLen = formatex(szMenu, charsmax(szMenu), "\y%L \w[%d|%d]^n^n", id, "JBE_MENU_BLOCKED_GUARD_TITLE", iPos + 1, iPagesNum);
}
new szName[32], i, iKeys = (1<<9), b;
for(new a = iStart; a < iEnd; a++)
{
i = g_iMenuPlayers[id][a];
get_user_name(i, szName, charsmax(szName));
iKeys |= (1<<b);
if(IsSetBit(g_iBitUserBlockedGuard, i)) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[%d] \w%s \r*^n", ++b, szName);
else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y[%d] \w%s^n", ++b, szName);
}
for(new i = b; i < PLAYERS_PER_PAGE; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
if(iEnd < iPlayersNum)
{
iKeys |= (1<<8);
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\y[9] \w%L^n\y[0] \w%L", id, "JBE_MENU_NEXT", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
}
else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\y[0] \w%L", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
return show_menu(id, iKeys, szMenu, -1, "Show_BlockedGuardMenu");
}
public Handle_BlockedGuardMenu(id, iKey)
{
switch(iKey)
{
case 1: // Здесь будет мой код
case 2: // И здесь тоже
case 8: return Show_BlockedGuardMenu(id, ++g_iMenuPosition[id]);
case 9: return Show_BlockedGuardMenu(id, --g_iMenuPosition[id]);
default:
{
new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * PLAYERS_PER_PAGE + iKey];
if(IsSetBit(g_iBitUserBlockedGuard, iTarget)) ClearBit(g_iBitUserBlockedGuard, iTarget);
else if(IsSetBit(g_iBitUserConnected, id))
{
if(g_iUserTeam[iTarget] == 2) jbe_set_user_team(iTarget, 1);
SetBit(g_iBitUserBlockedGuard, iTarget);
}
}
}
return Show_BlockedGuardMenu(id, g_iMenuPosition[id]);
}
Верны ли догадки, что в iKeys = (1<<9) нужно поменять значение?