SAM Gban Fix New

Это перезапуск темы

Там я давно не мог редактировать главный пост.
Вроде как всё перенёс

Отличия от оригинального SAM Gban.

1- Максимальное время бана будет такое как указанно в Sam.
2- Теперь будет писаться полное время максимального бана.

3- Когда у игрока закончится бан, напишет(Всем):

4-Перма бан нужно указать 0, 0mi и т.д.
игрока кикнет и напишет

5-Умный бан, Если игрока забанили на 1д и он вышел, зайдя через 12ч бан будет 12ч(24-12) это не нагружает сервер.
6-ХУД бана:

7-Бан в указанном вами типе:
минуты=mi
часы=h
дни=d
недели=w
месяцы=mo
примеры:
бан 2ч и 30минут
sam gban Kekors 2h30mi 3.4
бан 1 месяц 2 недели 3 дня 8 часов 34 минуты
sam gban Amogus 1mo2w3d8h34m 8.4

8-Переменная

GBan.Config.AllBan
изначально false

Если игрок был забанен через консоль, то только консоль сможет снять бан.
Если игрок был забанен пермаментно, то снять бан сможет админ с доступом к пермаментному бану.(зависит от GBan.Config.AllBan )

9-Переменная

GbanTeam
изначально true
Требует TEAM_BANNED !!!

если вам нужно менять профессию игроку ставьте true или false .
10- CL хук, (вызывается после начала отрисовки hud’а бана):
GBan.BanLocalPlayer- вызывается при получении бана и при разбане.
аргументы:
to_ban- получен бан true| получен разбан false
admin- (String) ник(Steam), при разбане nil
time- (int) время бана, при разбане nil
reason-(String) причина, при разбане nil

Если у вас уже стоял на сервере

Gban

не gban fix !!!

удалите таблицу в sql. почему? я добавил в таблицу новый столбец.
либо добавьте его сами.

Изменение Лимита бана (0 = доступ к перме):

Прочее:

  1. Забаненый не сможет использовать SAM команды.
  2. Не сможет Включать Noclip (только если у вас, нет обхода хука)
  3. Забаненый не сможет получать, наносить урон (игрокам).
  4. Добавленны 4 хука:

PreGBanSam-вызывается до выдачи бана, если вернуть true бан будет прерван.
PostGBanSam-вызывается после выдачи бана, записи в sql.

аргументы у обоих хуков:

target- Если цель оффлайн, то вернёт не игрока а стимайди.
admin-Если бан был выдан не игроком то вернёт nil
table- таблица содержит:

  1. Время
  2. Причина

permaban-Если выдаётся перма то вернёт true иначе false.
-=-
PreUnGBanSam-вызывается до разбана, если вернуть true разбан будет прерван.
PostUnGBanSam-после разбана и удаления с sql.

аргументы:

target- Если цель оффлайн, то вернёт не игрока а стимайди.
admin-Если разбан был выдан не игроком то вернёт nil

До 13.02.2024
gban_New.lua (29,4 КБ)

13.02.2024
gban_New.lua (29,3 КБ)

Изменения:

  1. Исправлен net при получении разбана, ранее не хватало отправки string и неверный бит uint , теперь это упрощенно и во все не отправляется.
  2. Убран лишний SetNWInt, тк он давно не используется (время бана игрока)

23.02.2024
gban_New (1).lua (29,3 КБ)
Изменения:

  1. Добавленна поддержка Sam 149 и выше.

28.02.2024
gban_New.lua (28,6 КБ)
Изменения:

  1. Исправлена ошибка, при выходе игрока изменялось время бана :skull:.

Планы:

  1. Заменить Set|Get NW .
    (снизит нагрузку на сеть)
    Или используйте это ТЫК

Дополнение Без названия
SH часть
Каждые 30 секунд, у игрока в бане будет писать
image
при покупке разбана
image

цена разбана расчитывается по формуле (Остаток Времени бана)/60 * Цена 1 минуты

Переменные:

PayTime – цена 1 минуты
Изначально 1

TimeMin – если у игрока время бана меньше этого значения значит ему нельзя купить разбан и не будет писать про это в чат.
Изначально 1

delete_me.lua (3,0 КБ)

чет не работает(

[sam-149] addons/sam-149/lua/sam/modules/gban_new.lua:302: attempt to call method ‘sam_getrank’ (a nil value)

  1. GiveBanPlayer - addons/sam-149/lua/sam/modules/gban_new.lua:302
  2. on_execute - addons/sam-149/lua/sam/modules/gban_new.lua:760
    3. run_command - addons/sam-149/lua/sam/command/sv_command.lua:130
    4. unknown - addons/sam-149/lua/sam/command/sv_command.lua:173
    5. unknown - lua/includes/modules/concommand.lua:54

[sam-149] addons/sam-149/lua/sam/modules/gban_new.lua:302: attempt to call method ‘sam_getrank’ (a nil value)

  1. GiveBanPlayer - addons/sam-149/lua/sam/modules/gban_new.lua:302
  2. on_execute - addons/sam-149/lua/sam/modules/gban_new.lua:760
    3. run_command - addons/sam-149/lua/sam/command/sv_command.lua:130
    4. unknown - addons/sam-149/lua/sam/command/sv_command.lua:173
    5. unknown - lua/includes/modules/concommand.lua:54

скачай последнюю версию sam-153

вот проблема хоть и установла версия sam 153
[sam-153] addons/sam-153/lua/sam/modules/gban.lua:304: attempt to call method ‘sam_getrank’ (a nil value)

  1. GiveBanPlayer - addons/sam-153/lua/sam/modules/gban.lua:304
  2. on_execute - addons/sam-153/lua/sam/modules/gban.lua:762
    3. run_command - addons/sam-153/lua/sam/command/sv_command.lua:134
    4. unknown - addons/sam-153/lua/sam/command/sv_command.lua:177
    5. unknown - lua/includes/modules/concommand.lua:54

У другого человека ранее был sam-149, а то, что у вас sam-153, и всё равно возникает ошибка, я не знаю… Возможно, вы изменили настройки администрирования sam, и что-то пошло не так, так как у меня всё в порядке.

проблема в 149+ версий
Автор резко перескочил с функции Player(1):sam_getrank()
на стандартную (переделанную) Player(1):GetUserGroup() и не только.

а я соотвественно тестировал на 143.

Обновил Gban создав нужную функцию (что бы не лишать поддержку старых sam)

Что делать если после перезахода на сервер бан слетает. Дал челу 1 день, он перезашел и бана у него нет

Ошибок в консоли нет? Проверяй логи.
Позже проверю систему бана.

Обновил.

Уже исправил, просто надо было в sv.bd добавить gban. Спасибо за обратную связь!