[badmin] нужна помощь с кодом

у меня есть вот такой код на автоневидимый ноуклип, но мне нужно на него поставить проверку на привилегию игрока (moderator) и мне нужна помощь с этим

timer.Create( “NoclipCloak”, 0.1, 0, function()

for k,pl in pairs(player.GetAll()) do

local oldstate = pl:GetMoveType()

if oldstate != MOVETYPE_NOCLIP or pl:InVehicle() then

pl:SetColor(Color( 255, 255, 255, 255 ));
pl:SetNoDraw(false)
else
pl:SetColor(Color( 255, 255, 255, 0 ));
pl:SetNoDraw(true)

end

end

end )

Зачем использовать бесконечный таймер?
В гмоде есть хуки…

Вот самый дефолтный код на невидимость в ноклипе

function cloak(e) e:SetNoDraw(true) end

function uncloak(e) e:SetNoDraw(false) end

function wpcloak(e)
	if IsValid(e:GetActiveWeapon()) then
		cloak(e:GetActiveWeapon())
	end
	for a,b in ipairs(ents.FindByClass("physgun_beam")) do
		if b:GetParent() == e then
			b:SetNoDraw(true)
		end
	end
end

function wpuncloak(e)
	if IsValid(e:GetActiveWeapon()) then
		uncloak(e:GetActiveWeapon())
	end
	for a,b in ipairs(ents.FindByClass("physgun_beam")) do
		if b:GetParent() == e then
			b:SetNoDraw(false)
		end
	end
end

local DontHide = { -- сюда указывай ранги для которых не будет устанавливаться невидимость
	['user'] = true,
	['vip'] = true,
	['dmoderator'] = true,
	['dadmin'] = true,
	['привилегия'] = true,
	['привилегия'] = true,
}

function callCloak(ply, desiredNoClipState)
	if not ply:IsValid() then return end
	if DontHide[ply:GetUserGroup()] then return end
	if !ply:GetBVar('adminmode') or !ply:Team() == TEAM_ADMIN then return end
	if ( desiredNoClipState ) then
		cloak(ply)			
		wpcloak(ply)
	else
		uncloak(ply)			
		wpuncloak(ply)
	end
end

hook.Add("PlayerNoClip", "isInNoClip", callCloak)

благодарю

я поставил этот код и невидимости нету просто ноуклип и все

куда именно поставил?
закинь в badmin/lua/autorun/badmin_init.lua

ставил в аддон отдельный, щас попробую по другому