Я хочу убрать некоторые вещи с q меню например сварку или краску. Что бы их не могли брать игроки ниже superadmin. (чтоб их не было видно)
local tools = {
weld = { -- класс инструмента
superadmin = true, -- юзергруппа которой разрешено использовать этот инструмент
admin = true,
vip = true
},
axis = {
superadmin = true
}
}
-- если инструмента нету в списке, любой игрок может использовать его
hook.Add("CanTool", "incredible-gmod.ru/tools4usergroups", function(ply, _, tool)
if tools[tool] and tools[tool][ply:GetUserGroup()] == nil then
return false
end
end)
куда это вписывать?
луа авторан сервер вроде бы, кстати можно удалить тулы по этому пути:
garrysmod\gamemodes\sandbox\entities\weapons\gmod_tool\stools
если удалить то они пропадут у всех, в том числе и у админов
weapons.GetStored("gmod_tool").Tool["weld"].AddToMenu = false
в addons/anyname/lua/autorun/client/hidetool.lua
думаю не сработает, addons загружается раньше чем gamemodes
хотя возможно gamemodes/%name%/entities/*
загружается раньше чем gamemodes/%name%/gamemode/init.lua
- эту тему не тестировал.
в конце 21 года тестировал порядок загрузки, получил вот такие результаты:
garrysmod/addons/%name%/lua/autorun/*.lua
garrysmod/lua/autorun/*.lua
garrysmod/addons/%name%/lua/autorun/server/*.lua
garrysmod/lua/autorun/server/*.lua
garrysmod/gamemodes/%name%/gamemode/init.lua
garrysmod/addons/%name%/lua/autorun/client/*.lua
garrysmod/lua/autorun/client/*.lua
garrysmod/gamemodes/%name%/gamemode/cl_init.lua
но */entities/*
я упустил(
Может и не сработает, я не тестил. Но если засунуть куда надо, то будет норм
думаю это подойдет(их в целом не будет видно ни для кого)
TOOL.AddToMenu = false
вводишь это в первой строчке кода каждого ненужного тула
путь где находятся тулы в q меню:
/garrysmod/gamemodes/sandbox/entities/weapons/gmod_tool/stools
P. S. Если вы из вкладки удалили все Тулы, вы можете столкнутся с проблемой, что останутся пустые вкладки(Категории).
Для этого вы идете по этому пути:
Garrysmod/gamemodes/sandbox/gamemode
Ищите там файлик “cl_spawnmenu.lua”
В нем на 104-107 строчке вы найдете категори. Возьмите их в коментариий ( добавить два знака тире перед кодом ) или удалить их.
Знаю объясняю непонятно
Не забудь добавить вот это на серверсайд чтобы нельзя было использовать скрытые тулы:
hook.Add('CanTool', 'hidden', function( ply, trace, mode, tool, button )
if tool.AddToMenu == false then return false end
end)