atonee
Пользователь
Как сделать, дабы q меню вообще не открывалось у обычных игроков?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/
Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/
Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/
Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/
Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades
local allowed = {
["STEAM_0:0:00000000"] = true,
["STEAM_0:0:10000000"] = true
}
hook.Add( "SpawnMenuOpen", "SpawnMenuWhitelist", function()
if ( !allowed[ LocalPlayer():SteamID() ] ) then
return false
end
end )
hook.Add( "SpawnMenuOpen", "SpawnMenuWhitelist", function()
return LocalPlayer():IsAdmin()
end )
Метод :IsAdmin() и так возвращает булевое значение, не к чему проверять его.hook.Add("PlayerSpawnProp", "NoSpwaningPropsPlayer", function(ply, model)
if (ply:IsSuperAdmin()) or (ply:IsAdmin()) then
return true
else
return false
end
end
local function DisallowSpawnMenu()
if LocalPlayer():IsAdmin() then
return true
end
return false
end
hook.Add( "SpawnMenuOpen", "DisallowSpawnMenu", DisallowSpawnMenu)
SANDBOX:SpawnMenuOpen()
Пример из документации
Lua:local allowed = { ["STEAM_0:0:00000000"] = true, ["STEAM_0:0:10000000"] = true } hook.Add( "SpawnMenuOpen", "SpawnMenuWhitelist", function() if ( !allowed[ LocalPlayer():SteamID() ] ) then return false end end )
Это запретит открывать меню игрокам которые не являются админами.
Lua:hook.Add( "SpawnMenuOpen", "SpawnMenuWhitelist", function() return LocalPlayer():IsAdmin() end )
Только не забудь то что ты ограничиваешь только возможность открыть меню, а не запрещаешь использовать тулы или спавнить объекты.
Просто заменил бы стим айдишники на группы и делал проверку не по стим айди, а по группе.С gmod wiki) И всё же, мне нужно дабы только определённые привилегии могли открывать q. А со спавном объектов, пропов сам разберусь, по такому же принципу, только на стороне сервера
local usergroups = {
["superadmin"] = true,
["admin"] = true,
}
hook.Add("SpawnMenuOpen", "SpawnMenuWhitelist", function()
if (!usergroups [LocalPlayer():GetUserGroup()]) then
return false
end
end)
Просто заменил бы стим айдишники на группы и делал проверку не по стим айди, а по группе.
Lua:local usergroups = { ["superadmin"] = true, ["admin"] = true, } hook.Add("SpawnMenuOpen", "SpawnMenuWhitelist", function() if (!usergroups [LocalPlayer():GetUserGroup()]) then return false end end)
local usergroups = {
["superadmin"] = true,
["admin"] = true
}
hook.Add("SpawnMenuOpen", "SpawnMenuWhitelist", function()
return usergroups[LocalPlayer():GetUserGroup()]
end)
Хотел в таком же варианте скинуть, но потом задумался на счет такого категорического разрешения.Придирка, к самому себе в том числе. Наверное даже так надо сделать, не зря же таблица приведена с булевыми значениями.
И я так понимаю других проверок тут никто не будет писать.
Lua:local usergroups = { ["superadmin"] = true, ["admin"] = true } hook.Add("SpawnMenuOpen", "SpawnMenuWhitelist", function() return usergroups[LocalPlayer():GetUserGroup()] end)