Во первых. Как сделать бан в минутах, чтобы админ мог написать время банах на пример сразу в 30 минутах.
Во вторых. Как сделать чтобы админ не мог банить другого админа, а администрация выше привилегии admin - могла.
Во третих. Как сделать чтобы админ не мог себя разбанить, типа его забанил ROOT, а он себя разбанил. А так же нужно чтобы админи выше привилегии admin могли.
1.где сам Gban?
2.где таблица рангов, имунитета.
вслепую желать?
Тебе так не помогут.
По поводу второго вопроса отвечал тут, ты не указал админку, так что предположу что используешь ULX.
Что такое GBan? Дай больше конкретики. Тыкаю сейчас пальцев в небо, но могут предположить что где-то прописана конвертация времени, попробуй её найти и заменить на то что тебе нужно.
По поводу третьего. Сделай проверку на нужные тебе условия, вот нужный тебе хук.
Будет что-то в духе такого.
local WHITELIST = { -- люди с этой привилегией имеют иммунитет к этой системе
["superadmin"] = true
}
local BAN_PRIVILAGE_NAMES = { -- строки доступа (команды), которые отвечают за бан
-- Ты с вероятностью 100% хочешь вписать сюда своё, я с ULX уже больше года не работал, и не помню что и как там.
["ulx.ban"] = true,
["ulx.banid"] = true
}
hook.Add("CAMI.PlayerHasAccess", "AntiAA", function(defaultAccessHandler, actorPly, privilegeName, callback_, targetPly, extraInfoTbl)
if actorPly:IsBanned() and not WHITELIST[actorPly:GetUserGroup()] then -- замени :IsBanned на свою функцию проверки бана
return false, "Вы не можете использовать свои права, пока вы в бане." -- запрещает использовать любые права, если игрок в бане
end
-- добавляй сюда свою логику
return defaultAccessHandler["CAMI.PlayerHasAccess"](nil, actorPly, privilegeName, callback_, targetPly, extraInfoTbl)
end)
Этот код тут для примера, тебе нужно его допиливать под свои нужды.
Gban это модуль для SAM (админ система)
Тип админки видно в Заголовке.
Ждём когда отправит данные, которые я ‘запросил’
Видимо ещё не проснулся, не заметил)
Спасибо за то что поправил.
- gban.lua (10,6 КБ)
- Поставил все привилегии по имунитету.
superadmin
root
admin
moderator
dadmin
dmoderator
vip
user
gban.lua (11,4 КБ)
Проверяй на lua ошибки с игроками
Сделал так же проверку если игрок офлайн(проверка иммунитета).
По задумке если иммунитет админа ниже цели то бана не будет.
И цели напишет что
“Администратор %s хотел выдать Вам бан по причине: %s на %s минут.”
Бан сразу в минутах.
Спасибо, сейчас попробую…
ошибка не в Gban .
Вот и говорю…
А как еще добавить, функцию мута чата и войс-чата, до разбана?
Ошибку показало
[adminmode] addons/adminmode/lua/sam/modules/gban.lua:64: malformed number near ‘60…’
- load_file - addons/adminmode/lua/autorun/sam.lua:45
- unknown - addons/adminmode/lua/autorun/sam.lua:106
[adminmode] addons/adminmode/lua/sam/modules/gban.lua:35: attempt to call global ‘Isvalid’ (a nil value)
- GiveBanPlayer - addons/adminmode/lua/sam/modules/gban.lua:35
- on_execute - addons/adminmode/lua/sam/modules/gban.lua:375
3. run_command - addons/adminmode/lua/sam/command/sv_command.lua:130
4. unknown - addons/adminmode/lua/sam/command/sv_command.lua:173
5. unknown - lua/includes/modules/concommand.lua:54
Да просто, пока сервер запуститься…
Попробуй менять файлы без перезапуска.