Mistrick, В начале плагина
Код:
new mapnom[32];
Сама функция
Код:
NominateMap(id, map[32], map_index)
{
new eMapInfo[MAP_INFO]; ArrayGetArray(g_aMaps, map_index, eMapInfo);
#if defined FUNCTION_BLOCK_MAPS
if(eMapInfo[m_BlockCount])
{
client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "MAPM_NOM_NOT_AVAILABLE_MAP"); //Эта карта недоступна для номинации.
return 0;
}
#endif
new eNomInfo[NOMINATEDMAP_INFO];
new szName[32]; get_user_name(id, szName, charsmax(szName));
new nominate_index = is_map_nominated(map_index);
if(nominate_index)
{
ArrayGetArray(g_aNominatedMaps, nominate_index - 1, eNomInfo);
if(id == eNomInfo[n_Player])
{
g_iNominatedMaps[id]--;
ArrayDeleteItem(g_aNominatedMaps, nominate_index - 1);
client_print_color(0, id, "%s^3 %L", PREFIX, LANG_SERVER, "MAPM_NOM_REMOVE_NOM", szName, map); //%s^1 убрал номинацию с карты^3 %s^1.
return 2;
}
client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "MAPM_NOM_ALREADY_NOM"); //Эта карта уже номинирована.
return 0;
}
if(g_iNominatedMaps[id] >= NOMINATED_MAPS_PER_PLAYER)
{
client_print_color(0, id, "%s ^3%s ^1заменил номинированную ранее карту ^3%s ^1на ^3%s", PREFIX, szName, mapnom, map); //
g_iNominatedMaps[id]--;
ArrayDeleteItem(g_aNominatedMaps, nominate_index);
eNomInfo[n_MapName] = map;
eNomInfo[n_Player] = id;
eNomInfo[n_MapIndex] = map_index;
ArrayPushArray(g_aNominatedMaps, eNomInfo);
g_iNominatedMaps[id]++;
mapnom = map;
return 0;
}
// if(g_iNominatedMaps[id] >= NOMINATED_MAPS_PER_PLAYER)
// {
// client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "MAPM_NOM_CANT_NOM"); //Вы не можете больше номинировать карты.
// return 0;
// }
eNomInfo[n_MapName] = map;
eNomInfo[n_Player] = id;
eNomInfo[n_MapIndex] = map_index;
ArrayPushArray(g_aNominatedMaps, eNomInfo);
g_iNominatedMaps[id]++;
if(get_pcvar_num(g_pCvars[NOMINATION_DEL_NON_CUR_ONLINE]))
{
new iMinPlayers = eMapInfo[m_MinPlayers] == 0 ? 1 : eMapInfo[m_MinPlayers];
client_print_color(0, id, "%s^3 %L", PREFIX, LANG_SERVER, "MAPM_NOM_MAP2", szName, map, iMinPlayers, eMapInfo[m_MaxPlayers]); //%s^1 номинировал на голосование^3 %s^1 для %d-%d игроков.
}
else
{
client_print_color(0, id, "%s^3 %L", PREFIX, LANG_SERVER, "MAPM_NOM_MAP", szName, map); //%s^1 номинировал на голосование^3 %s^1.
mapnom = map;
}
return 1;
}
Отредактировал: navigator19, - 18.4.2016, 10:44