Лимит времени бана в FAdmin для разных групп

В файле gamemodes/darkrp/gamemode/modules/fadmin/fadmin/playeractions/kickban/sv_init.lua в функции Ban после 182 строки сделай проверку привилегии админа и значения переменной time

можешь рассказать как?

if ply:isAdmin()

это просто ввести после 182 строки?

я не знаю. Ты ведь спросил как сделать проверку на админа - я ответил. А что в тех файлах на 182 стр я без понятия

Если ты хочешь ограничить срок бана, например, неделью, то допиши после 182 строки:

time = math.Clamp(time, 1, 10080)

Если ты хочешь выставить какие-то определенные ограничения для рангов, то:

Добавь где-нибудь в начале файла

local usergroups = {
['DModerator'] = 720, -- 12 часов в минутах
['DAdmin'] = 1440, -- И так далее по аналогии
}

И после 182 строки:

time = math.Clamp(time, 1, usergroups[ply:GetUserGroup()] or math.huge)

Этот код будет ограничивать время для указанных юзергрупп и не трогать остальные

Спойлер

Я же не опоздал, да?

Как сделать что бы при бане не кикало с сервера а кидало за професиию забаненого? До этого как-то делал, сейчас не могу найти

На самом деле это не совсем просто и за это можно требовать деньги, но вроде вот челики что-то скинули, не знаю, подойдет тебе это или нет Как сделать бан как на WayzerRP? - #2 от пользователя dadadadaddaadad

Там пишут что тоже кикает, а надо что бы не кикало

Гостбан из той темы работает только на ULX. “вейзербан” работает на фадмине и он не кикает. Если будут еще какие-то вопросы, то лучше создай под эту тему, а то мы с тобой тут оффтопим

Нашел
gamemode/modules/fadmin/playeractions/kickban
в части бана найти target:Kick(), закомментировать, и все будет работать

Ты конечно можешь так сделать, но игрок сможет дальше играть на сервере и делать что ему угодно. Разве так должен работать БАН?

Как сделать что бы игроку писалось что он не может банить на время больше чем ему дали?

Убрать тот код с math.Clamp() и добавить:

if time > (usergroups[ply:GetUserGroup()] or math.huge) then
DarkRP.notify(ply, 1, 5, 'Ты не можешь банить на этот срок')
return false
end

image
так?

Да. Только не забудь вставить код с таблицей usergroups в начало файла

if time > (usergroups[ply:GetUserGroup()] or math.huge) then
DarkRP.notify(ply, 1, 5, 'Ты не можешь банить на этот срок')
return false
end

вот рабочий код, ты скобку потерял

не ограничивает полностью, ты можешь поставить срок 0 и чела на перму откинет, хоть у тебя и будет ограничение в 1 неделю… может кто-нибудь это пофиксить?

math.Clamp() в сообщении выше не даёт забанить на 0 минут

если ты про это то эта строка не работает. ничего не меняет и выдает ошибку [ERROR] lua/includes/extensions/math.lua:52: bad argument #1 to ‘max’ (number expected, got nil)

  1. max - [C]:-1
  2. Clamp - lua/includes/extensions/math.lua:52
    3. callback - gamemodes/darkrp/gamemode/modules/fadmin/fadmin/playeractions/kickban/sv_init.lua:184
    4. unknown - gamemodes/darkrp/gamemode/modules/fadmin/fadmin/commands/sv_concommands.lua:19
    5. unknown - lua/includes/modules/concommand.lua:54