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

bopppoda

Участник
Сообщения
39
Реакции
1
у меня не работает !!! у меня не раззрешены авп а надо разрешить ?!
"weapon_limit"
{
"awp"
{
"limit" "40"
"maps" "awp_lego_2;awp_lego_2;awp_lego_2_newyear;awp_lego_3_v2;awp_little_winter;awp_snow-crj;awp_source_snowlake"
}
"sg550"
{
"limit" "0"
}
"g3sg1"
{
"limit" "0"
}
"deagle"
{
"limit" "0"
"maps" "awp_lego_2;awp_lego_2;awp_lego_2_newyear;awp_lego_3_v2;awp_little_winter;awp_snow-crj;awp_source_snowlake"
}
"FlashBang"
{
"limit" "0"
"maps" "$2000$;$6000$;$10000$"
"maps_prefix" "mg;"
}
}
 
Последнее редактирование:

Dreizehnt

Доминик
Сообщения
1,160
Реакции
798
CS:GO. Кто знает почему scar разрешает купить? Прописывал как scar20... Всё остальное запрещает нормально.
"weapon_limit"
{
"awp"
{
"limit" "1"
}
"ssg08"
{
"limit" "2"
}
"sg556"
{
"limit" "1"
}
"aug"
{
"limit" "1"
}
"g3sg1"
{
"limit" "0"
}
"scar20"
{
"limit" "0"
}
"p90"
{
"limit" "2"
}
}
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
@Dreizehnt, потому что плагин для ксс, там не предусмотрено для оружия кс го. Нужно править.
 

Drogf71

Участник
Сообщения
3
Реакции
0
Оффтоп
 

d3r

Участник
Сообщения
30
Реакции
6

Вложения

  • weapon_limit.smx
    9.6 КБ · Просмотры: 48
  • weapon_limit.txt
    1.5 КБ · Просмотры: 76

ShmoNiX

Участник
Сообщения
532
Реакции
212
Новая версия. Добавлена опция выдачи иммунитета к запрету оружия по steamid. В архиве лежит админ меню (прописывается в ручную). В архиве только исходник (нужно скомпилить)
 

Вложения

  • weapon_limit-2016.zip
    9.9 КБ · Просмотры: 98

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779
Новая версия. Добавлена опция выдачи иммунитета к запрету оружия по steamid. В архиве лежит админ меню (прописывается в ручную). В архиве только исходник (нужно скомпилить)
Оружие, которое выдается автоматически, например дигл на лего2, тоже убирается?
 

ShmoNiX

Участник
Сообщения
532
Реакции
212
@CAH4E3, Не проверял, не должно наверное. Ну вообще можно через mapconfigs выгрузить в таком случае.
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779

ShmoNiX

Участник
Сообщения
532
Реакции
212
@CAH4E3, Убирается. cfg/weapon_limit.txt. Только не знаю как оно убирать будет если у чела иммунитет). Надо протестить
 

_wS_

Участник
Сообщения
383
Реакции
760
  • Автор ресурса
  • #52
Weapon Limit (csgo, css, css v34)

z-jpg.35142


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

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

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"

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

Команды по флагу 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_

Участник
Сообщения
383
Реакции
760
  • Автор ресурса
  • #54
Я сглупил немного, есть логическая ошибка, подождите пока, не ставьте, исправляю.
 

_wS_

Участник
Сообщения
383
Реакции
760
  • Автор ресурса
  • #55
Пользователь _wS_ обновил ресурс Weapon Limit новой записью:

Было несколько ошибок

Исправлено несколько логических ошибок (поспешил).
Но всё же есть еще такой недочёт:

Допустим у двух игроков в руках awp.
У одного есть иммунитет, а у второго нет.
Вы ограничиваете awp 1 на команду.

По идее нужно сразу запретить awp игроку, у которого нет иммунитета, но недочет в том, что если он зашел на сервер раньше (его индекс меньше), то у него не отберёт awp, т.к. счетчик растёт в одном цикле. А вот если игрок без иммунитета выкинет оружие и попробует снова подобрать - тогда уже...

Узнать больше об этом обновлении...
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #56
А вот если игрок без иммунитета выкинет оружие и попробует снова подобрать - тогда уже запретит (ну или попробует купить).
Это вполне логичное и правильное решение. Лично я бы бомбонул когда например, в ответственный момент у тебя из рук вываливается оружие.
С точки зрения реализации и с точки зрения удобства - так лучше. Короче и проще и удобнее. Можно еще в SDKHook_WeaponCanSwitchTo/SDKHook_WeaponCanUse проверять чтобы наверняка.
 

_wS_

Участник
Сообщения
383
Реакции
760
  • Автор ресурса
  • #57
Это вполне логичное и правильное решение. Лично я бы бомбонул когда например, в ответственный момент у тебя из рук вываливается оружие.
С точки зрения реализации и с точки зрения удобства - так лучше. Короче и проще и удобнее.
Это не логично =)
Раз был запрет, то его нужно сразу и применить, тем более если этого не сделать, то у него оружие останется на следующий раунд
и pickup/buy хуки не вызовутся при рождении и толку от запрета не будет.

SDKHook_WeaponCanUse проверять чтобы наверняка.
Который вызывается 1 млн раз в сек =)
item_pickup и buy хук рулят, даём дышать серверу посвободнее.

Думаю я понял как легко этот недочет (описанный выше) исправить - сначала надо проверять тех, у кого есть иммунитет, а в конце уже обычных игроков.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #58
Это не логично =)
Раз был запрет, то его нужно сразу и применить, тем более если этого не сделать, то у него оружие останется на следующий раунд
и pickup/buy хуки не вызовутся при рождении и толку от запрета не будет.
я имел ввиду что не нужно ничего делать пока оружие в руках, но как только он сменит на другое - то взять обратно запрещенное (даже из инвентаря) - не должно давать.
Который вызывается 1 млн раз в сек =)
лечится проверками времени, а в вот SDKHook_WeaponCanSwitchTo вроде норм.
 

_wS_

Участник
Сообщения
383
Реакции
760
  • Автор ресурса
  • #59
Пользователь _wS_ обновил ресурс Weapon Limit новой записью:

Исправлен недочет + в админ меню добавлена опция

Исправлен недочёт, описанный выше.

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

Узнать больше об этом обновлении...
 

RAIN182

Участник
Сообщения
411
Реакции
55
Плагин зачетный !
А как сохранить список ограниченного оружия ?
После перезагрузки карты или сервера список ограниченного оружия пропадает .
 
Последнее редактирование:
  • Мне нравится
Реакции: _wS_
Сверху Снизу