ULX - Анти перебан

Готовое решение

hook.Add(ULib.HOOK_COMMAND_CALLED, "banid_filter", function(pl, cmd, args)
	if not ULib.ucl.query(pl, cmd) or cmd ~= "ulx banid" then return end
	if not pl:IsSuperAdmin() and ULib.bans[ args[1] ] then
		pl:ChatPrint("Вы не можете перебанить игрока, который уже в бане")
		return false
	end
end)

Спасибо @GMD

addons/anyname/lua/ulx/modules/anti_pereban.lua

hook(ULib.HOOK_COMMAND_CALLED, "banid_filter", function(pl, cmd, args)
	if not ULib.ucl.query(pl, cmd) or cmd ~= "ulx banid" then return end

	-- local targs = ULib.getUsers(args[1], true)
	local bandata = ULib.bans[ args[1] ]
	if bandata then
		pl:ChatPrint("Вы не можете перебанить игрока, который уже в бане")
		return false
	end
end)
2 лайка

Возвращаемся в прошлую тему с перебаном
Нашел проблему что бан не работает через консоль и вот вопрос
Как добавить проверку на консоль?

--  Анти перебан
hook.Add(ULib.HOOK_COMMAND_CALLED, "banid_filter", function(pl, cmd, args)
	if not ULib.ucl.query(pl, cmd) or cmd ~= "ulx banid" then return end
	if not pl:IsSuperAdmin() and ULib.bans[ args[1] ] then
		pl:ChatPrint("Вы не можете перебанить игрока, который уже в бане")
		return false
	end
end)
hook.Add(ULib.HOOK_COMMAND_CALLED, "banid_filter", function(pl, cmd, args)
	if IsValid(pl) and not ULib.ucl.query(pl, cmd) or cmd ~= "ulx banid" then return end
	if IsValid(pl) and not pl:IsSuperAdmin() and ULib.bans[ args[1] ] then
		pl:ChatPrint("Вы не можете перебанить игрока, который уже в бане")
		return false
	end
end)
1 лайк

Сработало! Спасибо)

1 лайк

Достаточно вот так

--  Анти перебан
hook.Add(ULib.HOOK_COMMAND_CALLED, "banid_filter", function(pl, cmd, args)
	if not IsValid(pl) or not ULib.ucl.query(pl, cmd) or cmd ~= "ulx banid" then return end
	if not pl:IsSuperAdmin() and ULib.bans[ args[1] ] then
		pl:ChatPrint("Вы не можете перебанить игрока, который уже в бане")
		return false
	end
end)