AWP Limiter

amxx reapi AWP Limiter 1.3.0 Beta

Нет прав для скачивания
Установка
  1. Скомпилируйте плагин. (инструкция)
  2. Скопируйте скомпилированный awp_limiter.amxx в директорию /amxmodx/plugins/.
  3. Пропишите awp_limiter.amxx в файле /amxmodx/configs/plugins.ini.
  4. Настройте конфиг по своему вкусу и поместите его согласно иерархии плагина.
  5. Смените карту или перезапустите сервер.
Если Вы хотите отключить плагин на определённых картах (помимо AWP карт, где он отключается автоматически):
  1. Скомпилируйте дополнительный плагин awp_limiter_disabled_maps.sma, скопируйте скомпилированный awp_limiter_disabled_maps.amxx в директорию /amxmodx/plugins/ и пропишите awp_limiter_disabled_maps.amxx в файле /amxmodx/configs/plugins.ini.
  2. Впишите карты, на которых хотите отключить AWP Limiter в конфиг awp_limiter_disabled_maps.ini и поместите его в директорию amxmodx/configs.
  3. Смените карту или перезапустите сервер.
Настройки
В configs/plguins/AWPLimiter.cfg:
Код:
// Plugin prefix.
// -
// Default: "^3[^4AWP^3]"
awpl_chat_prefix "^3[^4AWP^3]"

// Минимальное количество игроков, при котором станут доступны AWP
// -
// Default: "10"
awpl_min_players "10"

// Тип лимита AWP.
// 1 — Точное кол-во AWP на команду
// 2 — Процент от онлайн игроков (awpl_percent_players)
// -
// Default: "1"
// Minimum: "1.000000"
// Maximum: "2.000000"
awpl_limit_type "1"

// Максимальное кол-во AWP на команду, при awpl_limit_type = 1
// -
// Default: "2"
// Minimum: "1.000000"
awpl_max_awp "2"

// Процент от онлайн игроков для awpl_limit_type = 2
// Например, при 10 — при онлайне 20 чел. доступно 2 AWP на команду
// -
// Default: "10"
awpl_percent_players "10"

// Флаг иммунитета
// Оставьте значение пустым, для отключения иммунитета
// -
// Default: "a"
awpl_immunity_flag "a"

// Пропуск подсчёта авп у ботов.
// 0 — Выключен
// 1 — Включен
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
awpl_skip_bots "0"

// Пропуск зрителей при подсчёте онлайна.
// 0 — Выключен
// 1 — Включен
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
awpl_skip_spectators "1"

// Отправлять ли сообщение, о том что AWP снова доступна при наборе онлайна?
// 0 — Выключено
// 1 — Включено
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
awpl_message_allow_awp "1"

// Поддержка бесконечного раунда. (CSDM)
// 0 — Выключено
// >= 1 — Проверять онлайн раз в N секунд
// -1 — каждый спавн любого игрока
// -
// Default: "0"
// Minimum: "-1.000000"
awpl_round_infinite "0"

// Выдача компенсации за отобранное AWP при понижении онлайна.
// -1 — AK-47 или M4A1.
// 0 — Выключено
// > 1 — Указаное количество денег.
// -
// Default: "-1"
// Minimum: "-1.000000"
awpl_give_compensation "-1"
В configs/awp_limiter_disabled_maps.ini:
Код:
; Этот конфиг нужен для плагина AWP Limiter, чтобы отключить его на картах, которые вы хотите.
; Название каждой карты должно начинаться с новой строки.

aim_headshot
API
Код:
/**
* For forward awpl_player_tried_to_get_awp
*/
enum AwpGiveType:GIVE_TYPE
{
    BUY,
    TOUCH,
    OTHER,  // Taken from 3rd party plugins
};

/**
* For forwards awpl_player_tried_to_get_awp, awpl_awp_taken_from_player
*/
enum AwpRestrictionType:RESTRICTION_TYPE
{
    AWP_ALLOWED,
    LOW_ONLINE,
    TOO_MANY_AWP_ON_TEAM
};

/**
* For forwards; return types
*/
enum
{
    AWPL_CONTINUE,
    AWPL_BREAK
};

/**
* Called before the low online mode is activated.
*
* @return              AWPL_CONTINUE to allow starting of low online mode
*                      AWPL_BREAK to stop starting of low online mode
*/
forward awpl_low_online_start();

/**
* Called before the low online mode is turned off.
*
* @return              AWPL_CONTINUE to allow stopping of low online mode
*                      AWPL_BREAK to continue low online mode
*/
forward awpl_low_online_stop();

/**
* Called every time a player tries to take an AWP during low online mode.
*
* @param id            Player index
* @param iGiveType     Indicates how the AWP was received. Look at the enum GIVE_TYPE
* @param iRestrictType Indicates why the AWP was restricted. Look at the enum RESTRICTION_TYPE
*
* @return              AWPL_CONTINUE to allow an AWP to be blocked by main plugin
*                      AWPL_BREAK to stop an AWP blocking
*/
forward awpl_player_tried_to_get_awp(const id, AwpGiveType:iGiveType, AwpRestrictionType:iRestrictType);

/**
* Called every time an AWP was taken from player.
*
* @param id            Player index
* @param iRestrictType Indicates why the AWP was taken. Look at the enum RESTRICTION_TYPE
*
* @return              AWPL_CONTINUE to allow an AWP to be taken by main plugin
*                      AWPL_BREAK to stop an AWP taking
*/
forward awpl_awp_taken_from_player(const id, AwpRestrictionType:iRestrictType);

/**
* Called when a player receives compensation for a taken AWP.
*
* @note This forward only called when "awpl_give_compensation" CVar is active.
* @note You can use this forward for give your own compensation to players.
*
* @param id            Player index
*
* @return              AWPL_CONTINUE to allow giving compensation by main plugin
*                      AWPL_BREAK to stop giving compensation
*/
forward awpl_give_compensation(const id);

/**
* Called once on map start, to decide whether the plugin should work on this map
*
* @note This forward called in plugin_init().
*
* @param szMapName     Map name
*
* @return              AWPL_CONTINUE to allow the AWP Limiter work on this map
*                      AWPL_BREAK to disable it
*/
forward awpl_plugin_should_work_on_this_map(const szMapName[]);

/**
* Checks if the low online mode is currently active.
*
* @return              True if the low online mode is currently active, false otherwise.
*/
native bool:awpl_is_low_online();

/**
* Forced to start or stop low online mode.
*
* @note The mode setted by this native will be active only
*       until next online check.
* @note Using this native will cause an immediate awp to be taken if low online mide is set to true.
*
* @param bSet          Determines whether to start or stop low online mode
*
* @noreturn
*/
native awpl_set_low_online(bool:bSet);

/**
* Checks if players in given team can take AWP.
*
* @param iTeam         Team index
*
* @return              True if players in given team can take AWP, false otherwise.
*/
native bool:awpl_can_team_take_awp(TeamName:iTeam);

/**
* Checks if a given player can take an AWP.
*
* @param id            Player index
* @param iReason       The optional variable to store the reason if player can't take AWP.
*                      Look at the enum RESTRICTION_TYPE
*
* @return              True if player can take AWP, false otherwise.
*/
native bool:awpl_can_player_take_awp(id, &AwpRestrictionType:iReason = AWP_ALLOWED);
Сверху Снизу