Я хочу сделать так, человек платит мне деньги и я ему выдаю доступ к q menu, как это реализовать?
Создай роль в ulx/sam Сделай Ограничение на нее и выдавай эту роль.
если у человека уже имеется роль?
То по sid делай
можешь пояснить?
local steamIDs = {
"STEAM_:0:1111111111",
}
for _, steamID in ipairs(steamIDs) do
function(allowqmenubro)
end
end
Незнаю будет работать нет но держи(функцию allowqmenubro напиши сам куча гайдов в инете)
спасибо
Не зачто)
прости,но можешь скинуть ссылку на гайд (ы) пожалуйста
Путь: lua/autorun/server
local function CanOpenQMenu(ply)
local allowedSteamIDs = {
"STEAM_0:0:437375633",
"сюда стимайди человека которому нужен доступ к q меню",
}
local steamID = ply:SteamID()
for _, allowedID in ipairs(allowedSteamIDs) do
if steamID == allowedID then
return true
end
end
return false
end
hook.Add("ShowTeam", "RestrictQMenuAccess", function(ply)
if CanOpenQMenu(ply) then
ply:ConCommand("gm_showteam")
else
ply:ChatPrint("У вас нет доступа к Q меню.")
end
end)
1 лайк
Огроооомное спасибо
А где ранг указывать?
В этом скрипте можно указывать так же и ранг:
Скрипт для FAdmin
local allowedPlayers = {
["STEAM_0:0:437375633"] = true,
}
local allowedFAdminRanks = {
["superadmin"] = true, -- тут
-- ["admin"] = false,
}
local function CanOpenQMenuBySteamID(ply)
local steamID = ply:SteamID()
return allowedPlayers[steamID] or false
end
local function CanOpenQMenuByFAdminRank(ply)
if FAdmin.Access.PlayerHasPrivilege(ply, "OpenQMenu") then
return true
end
return false
end
local function CanOpenQMenu(ply)
return CanOpenQMenuBySteamID(ply) or CanOpenQMenuByFAdminRank(ply)
end
hook.Add("ShowTeam", "RestrictQMenuAccess", function(ply)
if CanOpenQMenu(ply) then
ply:ConCommand("gm_showteam")
else
ply:ChatPrint("У вас нет доступа к Q меню.")
end
end)
Скрипт для ULX:
local allowedPlayers = {
["STEAM_0:0:437375633"] = true,
}
local allowedULXRanks = {
["superadmin"] = true,
}
local function CanOpenQMenuBySteamID(ply)
local steamID = ply:SteamID()
return allowedPlayers[steamID] or false
end
local function CanOpenQMenuByULXRank(ply)
if ply:IsValid() and ply:IsPlayer() then
return ULib.ucl.query(ply, "gm_showteam")
end
return false
end
local function CanOpenQMenu(ply)
return CanOpenQMenuBySteamID(ply) or CanOpenQMenuByULXRank(ply)
end
hook.Add("ShowTeam", "RestrictQMenuAccess", function(ply)
if CanOpenQMenu(ply) then
ply:ConCommand("gm_showteam")
else
ply:ChatPrint("У вас нет доступа к Q меню.")
end
end)
для sam есть?
local allowedPlayers = {
["STEAM_0:0:437375633"] = true,
}
local allowedSAMRanks = {
["superadmin"] = true,
}
local function CanOpenQMenuBySteamID(ply)
local steamID = ply:SteamID()
return allowedPlayers[steamID] or false
end
local function CanOpenQMenuBySAMRank(ply)
if SAM and SAM.Ranks and SAM.Ranks.IsUserGroupInList then
return SAM.Ranks:IsUserGroupInList(ply, allowedSAMRanks)
end
return false
end
local function CanOpenQMenu(ply)
return CanOpenQMenuBySteamID(ply) or CanOpenQMenuBySAMRank(ply)
end
hook.Add("ShowTeam", "RestrictQMenuAccess", function(ply)
if CanOpenQMenu(ply) then
ply:ConCommand("gm_showteam")
else
ply:ChatPrint("У вас нет доступа к Q меню.")
end
end)
спасибо. ещё вопрос: можно указывать какие категории/предметы можно будет брать а какие нет?
например мне нужно что бы был доступ к оружию у qmenu, а к остальным категориям не было.
local allowedPlayers = {
["STEAM_0:0:437375633"] = {
["Weapons"] = true, -- Разрешен доступ к категории оружия для SteamID
},
}
local allowedSAMRanks = {
["superadmin"] = {
["Weapons"] = true, -- Разрешен доступ к категории оружия для рангов
},
}
local function CanOpenQMenuBySteamID(ply)
local steamID = ply:SteamID()
return allowedPlayers[steamID] or {}
end
local function CanOpenQMenuBySAMRank(ply)
if SAM and SAM.Ranks and SAM.Ranks.GetGroup then
local userGroup = ply:GetUserGroup()
return allowedSAMRanks[userGroup] or {}
end
return {}
end
local function CanOpenQMenu(ply)
local allowedCategories = {}
local steamIDData = CanOpenQMenuBySteamID(ply)
local SAMRankData = CanOpenQMenuBySAMRank(ply)
for category, allowed in pairs(steamIDData) do
allowedCategories[category] = allowed
end
for category, allowed in pairs(SAMRankData) do
allowedCategories[category] = allowed
end
for _, allowed in pairs(allowedCategories) do
if allowed then
return true
end
end
return false
end
hook.Add("ShowTeam", "RestrictQMenuAccess", function(ply)
if CanOpenQMenu(ply) then
ply:ConCommand("gm_showteam")
else
ply:ChatPrint("У вас нет доступа к Q меню.")
end
end)
Названия всех категорий:
- “Entities” - Энтти
- “Weapons” - Оружия
- “Ammo” - Патроны
- “Vehicles” - Транспорт
- “Post Processing” - Пост-обработка (лучше вообще убрать)
- “Construction” - Конструкции/пропы
- “Save/Load” - Сохранение/Загрузка
- “Options” - Опции
- “NPCs” - НПС
- “Player” - Игрок
- “Effects” - Эффекты
- “Utilities” - Утилиты
1 лайк
можно ли например в категории оружий так же настроить какие оружия какой ранг может брать?