[ULX] Смена модельки во время !noclip

Вот код, который непременно будет баговать. Но это уже что-то

База взята тут
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 режима. Он бы пригодился, чтобы сделать решение более лаконичным и менее багованным