#if defined _cmsmm_included
#endinput
#endif
#define _cmsmm_included
#if defined _map_manager_core_included
#define mapm_vote_started OnCMSMMVoteStarted
#define mapm_vote_finished OnCMSMMVoteFinished
#endif
/*Границы лимитов карт для фильтрации по количеству игроков*/
enum _:eMapBounds
{
bmin,
bmax
}
/*Данные карты*/
enum _:eMapData
{
mapFullName[MAX_NAME_LENGTH*2], /*Полное название карты*/
mapPrefix[MAX_NAME_LENGTH/3], /*Префикс карты*/
mapName[MAX_NAME_LENGTH], /*Короткое название карты*/
mapPlayersBounds[eMapBounds], /*Границы карты eMapBounds*/
mStatus:mapStatus /*Статус карты mapStatus*/
}
/*Статус голосования*/
enum _:eVoteStatus
{
voteByRTV = -2, /*Голосование по RTV*/
voteNone, /*Голосования нет*/
voteByServer, /*Голосование сервером*/
voteRandomMap, /*Голосование с выбором случайной карты*/
voteDefaultMap /*Голосование с выбором дефолтной карты*/
}
/*Статус карты*/
enum _:mapStatus (<<=1)
{
mapStatusLast = 1, /*Недавно сыгранная*/
mapStatusBlocked, /*Заблокирована*/
mapStatusBlockedForNoms, /*Заблокирована для номинации*/
mapStatusInNoms, /*Номинирована*/
mapStatusCurrent, /*Текущая*/
mapStatusVoteByAdmin /*Выставлена наголосование админом*/
}
/*Источник карт*/
enum eMapSource
{
mapSourceDisable, /*Источник не определен*/
mapSourceFile, /*Список карт из файла ini*/
mapSourceDir /*Список карт из директории maps*/
}
/*Лимит карты*/
enum eMapLimit
{
mapLimitTime = 0, /*Лимит по mp_timelimit*/
mapLimitFrags, /*Лимит по mp_fraglimit*/
mapLimitWins, /*Лимит по mp_winlimit*/
mapLimitRounds /*Лимит по mp_maxrounds*/
}
/*Forwards Handle Types*/
enum _:MFHandle_Type
{
fwdMapStart = 1, /*При старте карты*/
fwdMapNominated, /*При номинции карты*/
fwdVoteTimer, /*При отсчете таймера голосования*/
fwdVoteStarted, /*При начале голосования*/
fwdVoteEnded /*При окончании голосования*/
};
/**
* Установить источник карт для меню игроков
* @param MapSource Идентификатор массива из которого будет формироваться меню
*
* @return Идентификатор массива Array из которого будет формироваться меню
*
* @note Если идентификаторы совпадают, то источник успешно установлен
* Если MapSource = Invalid_Array, будет установлен источник в соответствии с кваром "gmm_mapsource"
* При смене источника все номинированные карты из номинации убираются
*/
native Array:CmsmmSetMapmenuSource(Array:MapSource = Invalid_Array);
/**
* Добавить карту в меню
*
* @param MapSource Идентификатор массива из которого будет формироваться меню
* @szMapName Название карты
*
* @return 1 - при удачном добавлении карты
* 0 - если карта не существует на сервере
*/
native CmsmmAddMapToMaplist(Array:MapSource, szMapName[]);
/**
* Выполняется после загрузки всех конфигов карт и установки всех параметров работы плагина
*
* @param szMapName Название карты
*
* @noreturn
* @note Выполняется примерно через 7 секунд с момента смены карты
*/
forward OnCMSMMStartMap(szMapName[]);
/**
* Выполняется после номинирования карты игроком
*
* @param iClient Индекс игрока
* @param szMapName Название карты
*
* @noreturn
*/
forward OnCMSMMNominateMap(iClient, szMapName[]);
/**
* Выполняется после начала голосования
*
* @iStatus - тип голосования из eVoteStatus
* @noreturn
*/
forward OnCMSMMVoteStarted(iStatus);
/**
* Выполняется после окончания голосовании
*
* @param szMapName Название следующей выбранной карты, если голосование состоялось
* @param iStatus Тип голосования из eVoteStatus
* @param iTotalVotes Количество голосовавших, если голосование состоялось
*
* @noreturn
*/
forward OnCMSMMVoteFinished(const szMapName[], iStatus, iTotalVotes);
This documentation was generated automatically using pawn-docgen written by xPaw for AlliedMods.