Как отключить q меню?

  • Автор темы Автор темы atonee
  • Дата начала Дата начала

atonee

Пользователь
Проверенный
Как сделать, дабы q меню вообще не открывалось у обычных игроков?
 
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)
 
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Пример из документации
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 )

Только не забудь то что ты ограничиваешь только возможность открыть меню, а не запрещаешь использовать тулы или спавнить объекты.
 
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)
Метод :IsAdmin() и так возвращает булевое значение, не к чему проверять его.
 
Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).

Пример из документации
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. А со спавном объектов, пропов сам разберусь, по такому же принципу, только на стороне сервера
 
Просто заменил бы стим айдишники на группы и делал проверку не по стим айди, а по группе.

Lua:
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()
    return usergroups[LocalPlayer():GetUserGroup()]
end)
 
Назад
Сверху