Вот код, который непременно будет баговать. Но это уже что-то
База взята тут
hook.Add(ULib.HOOK_COMMAND_CALLED, "NoclipModel", function(pl, cmd, args)
if not (cmd == "ulx noclip" and ULib.ucl.query(pl, cmd)) then return end
local isNoclipped = pl:GetMoveType() == MOVETYPE_NOCLIP
if isNoclipped then -- выключаем
local mdl = pl:GetVar("mdl_before_noclip")
if mdl then
pl:SetModel(mdl)
pl:SetVar("mdl_before_noclip", nil)
end
else -- включаем
pl:SetVar("mdl_before_noclip", pl:GetModel())
pl:SetModel("models/crow.mdl")
end
end)
Баг будет как минимум, который я описал. Также если выдавать ноуклип другому человеку, то моделька изменится все равно именно твоя, а не того человека
Я не нашел специального хука, который выполняется после входа/выхода игрока из Noclip режима. Он бы пригодился, чтобы сделать решение более лаконичным и менее багованным