profef
1
13.02.2024 Устарело!!
Новая версия + мини дополнение тут:
Устарело!!
Сделал:
-
Максимальное время бана будет такое как указанно в Sam.
-
Теперь будет писаться полное время максимального бана.
-
Есть Перма бан нужно указать 0, 0mi и т.д.
игрока кикнет и напишет
-
Бан не сетается на максимальный срок если он не прошёл.
пример: Игрок получил бан на 1ч и вышел, зашёл через 59мин и ему снова нужно ждать 1 час.
-
ХУД бана:
-
Бан в указанном вами типе:
минуты=mi
часы=h
дни=d
недели=w
месяцы=mo
пример:
бан 2ч и 30минут
sam gban Kekors 2h30mi 3.4
бан 1 месяц 2 недели 3 дня 8 часов 34 минуты
sam gban Amogus 1mo2w3d8h34m 8.4
Вроде всё
Если у вас уже стоял на сервере Gban удалите таблицу в sql. почему? я добавил в таблицу новый столбец.
либо добавте его сами.
13.02.2024 Устарело!!
gban.lua (21,5 КБ)
Новая версия + мини дополнение тут:
profef
2
Я изменил таблицу банов, по этому тебе нужно её (удалить или изменить (если есть забанненые игроки )) хранится она в
Сервер\garrysmod\sv.db
Программма для открытия:
DB Browser (SQLite)
Пример:
IDEALAdmin а INTEGER заменить на TEXT
Можно добавить мут войса и чата при блокировке, и максимальное количество бана в минутах днях и т.д. для каждого ранга?
profef
5
Мут войса и чата уже там есть, лимит бана настраивается в ранге, вот про это у меня написано.
Прежде чем писать проверить можно?
profef
6
Добавил 4 Хука ‘PreGBanSam’ , ‘PostGBanSam’ | ‘PreUnGBanSam’ , ‘PostUnGBanSam’
PreGBanSam-вызывается до выдачи бана, если вернуть true бан будет прерван.
PostGBanSam-вызывается после выдачи бана, записи в sql.
аргументы у обоих хуков:
target- Если цель оффлайн, то вернёт не игрока а стимайди.
admin-Если бан был выдан не игроком то вернёт nil
table- таблица содержит:
- Время
- Причина
permaban-Если выдаётся перма то вернёт true иначе false.
PreUnGBanSam-вызывается до разбана, если вернуть true разбан будет прерван.
PostUnGBanSam-после разбана и удаления с sql.
аргументы:
target- Если цель оффлайн, то вернёт не игрока а стимайди.
admin-Если разбан был выдан не игроком то вернёт nil
Hero
7
Как поправить эту проблему с дб?(не могу изменить gban, Field6 INTEGER меняю на IDEALAdmin и TEXT, но не меняется)
Немного туплю, где поставить лимит бана, для каждого ранга.
Не работает, или я туплю. Поставил лимит для модуля gban. Но я могу банить на 1млрд лет. Хотя выдал админку. Лимит поставил 1h.
profef
11
Я устал вам отвечать. Я сейчас всё проверил, у меня такой проблемы нет.
Так же, почему-то когда администратора забанили, он может сам себя разбанить…
Скачал модуль САМЫЙ последний.
profef
15
у меня стоит там блокировка команд Sam , чата и т.д. Так же всё это проверил. вероятно проблемы у вас в сборке. Всё Я спать.
[adminmode] addons/adminmode/lua/sam/modules/gban.lua:143: Tried to use a NULL entity!
- SteamID - [C]:-1
- unknown - addons/adminmode/lua/sam/modules/gban.lua:143
[adminmode] addons/adminmode/lua/sam/modules/gban.lua:519: attempt to call method ‘IsGBan’ (a nil value)
- v - addons/adminmode/lua/sam/modules/gban.lua:519
- Call - lua/includes/modules/hook.lua:96
3. run_command - addons/adminmode/lua/sam/command/sv_command.lua:82
4. unknown - addons/adminmode/lua/sam/command/sv_command.lua:173
5. unknown - lua/includes/modules/concommand.lua:54
profef
19
исправил ошибки.
Файл обновляю в первом сообщении.
Вот такая ошибка в консоле
[sam] addons/sam/lua/sam/modules/gban.lua:172: attempt to call method ‘sam_getrank’ (a nil value)
- GiveBanPlayer - addons/sam/lua/sam/modules/gban.lua:172
- on_execute - addons/sam/lua/sam/modules/gban.lua:606
3. run_command - addons/sam/lua/sam/command/sv_command.lua:128
4. unknown - addons/sam/lua/sam/command/sv_command.lua:172
5. unknown - lua/includes/modules/concommand.lua:54