Иконка ресурса

Weapon Limit 1.3.8

Нет прав для скачивания
Поддерживаемые игры
  1. CS: Source (OrangeBox)
  2. CS: GO
Weapon Limit (csgo, css, css v34)

z.JPG


Позволяет полностью запрещать оружие или ограничивать его по количеству на команду.
Я думаю нагрузка от Weapon Limit меньше, чем от тех, которые даже не позволяют поднять оружие с земли, т.к. этот евент вызывается слишком часто.

addons/sourcemod/translations/weapon_limit.phrases.txt - перевод
addons/sourcemod/include/weapon_limit.inc - скриптинг
cfg/weapon_limit/weapon_limit.cfg - настройки

C-подобный:
#if defined _weapon_limit_included
    #endinput
#endif
#define _weapon_limit_included

// БЕЗ weapon_ (deagle, awp, и тд)

enum WL_Event
{
    WL_OnBuyRestrictedWeapon = 0,    // public bool:CallBack(client, const String:weapon[]); - return true = разрешить покупку запрещённого оружия, false = запретить.
    WL_OnPickupRestrictedWeapon,    // public bool:CallBack(client, const String:weapon[]); - return true = разрешить подбор  запрещённого оружия, false = запретить.
    WL_OnWeaponLimited,                // public CallBack(const String:weapon[], limit); - оружие ограничено x на команду (если "all", то всё оружие)
    WL_OnWeaponAllowed                // public CallBack(const String:weapon[]); - оружие разрешено (если "all", то всё оружие)
};

// В csgo WL_OnWeaponLimited и WL_OnWeaponAllowed не покажет "m4a1_silencer", покажет "m4a1" (см. wS_GetMainWeaponName в functions.sp)
// В csgo если const String:weapon[] равен "m4a1", то это значит что оба оружия были ограничены: "m4a1" и "m4a1_silencer".
 
native WL_HookEvent  (WL_Event:event, Function:CallBack);
native WL_UnHookEvent(WL_Event:event, Function:CallBack);

// Если оружие ограничено, вернёт число 0 или выше (x на команду), иначе -1 (не ограничено).
native WL_GetWeaponLimit(const String:weapon[]);

// Cvar wl_pause
// true  = временно позволено использовать всё оружие, при этом все настройки ограничения остаются в силе (в конце карты wl_pause меняется на 0).
// false = ограничение оружия работает как и должно
native bool:WL_Paused();

// Возвращает слот оружия или -1 если ошибка.
// 0 - автомат, дробовик, и тд
// 1 - пистолет
// 2 - нож / taser
// 3 - граната
// 4 - c4
native WL_GetWeaponSlot(const String:weapon[]);

public SharedPlugin:__pl_weapon_limit =
{
    name = "weapon_limit",
    file = "weapon_limit.smx",
#if defined REQUIRE_PLUGIN
    required = 1,
#else
    required = 0,
#endif
};

#if !defined REQUIRE_PLUGIN
public __pl_weapon_limit_SetNTVOptional()
{
    MarkNativeAsOptional("WL_HookEvent");
    MarkNativeAsOptional("WL_UnHookEvent");
    MarkNativeAsOptional("WL_GetWeaponLimit");
    MarkNativeAsOptional("WL_Paused");
    MarkNativeAsOptional("WL_GetWeaponSlot");
}
#endif
Переменные
C-подобный:
// Immunity to restrict weapons ("" = off)
// Если у игрока есть флаг, то на него не действуют ограничения ("" = откл)
// Default: "z"
wl_immunity_flag "z"

// 1 = счетчик учитывает всех игроков
// 0 = всех, кроме тех, у кого есть иммунитет
// Пример:
// awp ограничено 1 на команду
// Игрок с иммунитетом поднял awp
// Теперь игрок без иммунитета пытается поднять второе awp (0 = сможет, 1 = не сможет)
wl_immunity_counter "1"

// Unrestrict all weapons if map ended (1 = on, 0 = off)
// Если 1, то в конце карты все запрещенное оружие будет разрешено (0 = останется запрещенным).
// Default: "1"
wl_map_end_unrestrcit "1"

// Chat notifications (1 = on, 0 = off)
// Уведомления в чате (1 = вкл, 0 = откл)
// Default: "1"
wl_notify "1"

// 1 = Temporarily allows the use of all weapons (настройки ограничения в силе, но игроки могут использовать всё оружие)
// 0 = Restrict again works (ограничение работает как и должно)
// -
// Default: "0"
wl_pause "0"

// If player has picked up restricted weapon: 1 = remove, 0 = drop
// Игрок поднял запрещенное оружие: 1 = удалить, 0 = выкинуть
// Default: "0"
wl_remove "0"

// Sound when trying to use restricted weapon ("" = off)
// Звук запрета ("" = откл)
// Default: "resource/warning.wav"
wl_sound "resource/warning.wav"
Команды
Команды по флагу d (бан).
Флаг или меняйте в vars.sp (#define WL_FLAG ADMFLAG_BAN) или в addons/sourcemod/configs/admin_overrides.cfg

C-подобный:
Overrides
{
    "wl_admin" "z"
    "wl_restrict" "z"
}

C-подобный:
wl_admin - админ меню
wl_help - список доступных команд
wl_restrict <оружие> <кол-во на команду> - установить лимит
wl_unrestrict <оружие> - снять лимит/запрет с оружия
wl_status - список ограниченного оружия
wl_weapons - названия оружия
wl_restrict_all - запретить всё оружие
wl_unrestrict_all - разрешить всё оружие
wl_set_weapon <оружие> - установить оружие живым игрокам

Если в стандартной админке есть категория "Управление сервером", то туда добавлена опция для ограничения оружия.
Если такой категории нет, но есть "Управление игроками", то добавлена туда.
Иначе не добавлена, не судьба.

Ограничить на нужных картах: Map Config.
В зависимости от количества игроков: Players Count CFG.

Если квар wl_pause меняется на 0 или админский флаг меняется и есть запрещенное оружие, то игроки, у которых нет иммунитета,
принудительно выкинут на землю всё оружие, затем подберут лишь то, что будет позволено.

Учтите что может происходить такое:

2 awp на земле
Админ запрещает awp 1 на команду
1 игрок взял awp (у него нет иммунитета)
2 игрок (из той же команды) взял awp (смог, т.к. у него есть иммунитет)
Ограничение в этом случае не работает, игрок 1 будет бегать с этим awp, пока не выкинет его или пока не умрёт.
Автор
_wS_
Скачивания
303
Просмотры
911
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок

Другие ресурсы пользователя _wS_

Последние обновления

  1. v1.3.8

    При удалении/выкиде запрещенного оружия, оно (в руках) меняется на предыдущее
  2. квар wl_immunity_counter

    // 1 = счетчик учитывает всех игроков // 0 = всех, кроме тех, у кого есть иммунитет // Пример...
  3. weapon_limit.inc + квары + ..

    Новые настройки: // Unrestrict all weapons if map ended (1 = on, 0 = off) // Если 1, то в конце...

Последние отзывы

Плагин просто ААААГОНЬ , рекомендую . РЕСПЕКТ Автору и по больше подобных идей . Спасибо .
Сверху