Quick actions

cmd+k|ctrl+k

Navigation

Languages

nogif

Snippet info

Language

Lua

Visibility

public

Author

lazarovalkyrie

Created

2024-02-15T21:50:05.751321Z

Updated

2024-02-15T21:58:10.416492Z

if game:GetService("RunService"):IsClient() then
	_G['temp_stop'] = true
	task.wait(1)
	_G['temp_stop'] = false
end

local wl = {
	'Decal',
	'Texture',
	'ImageButton',
	'ImageLabel'
}

identify = function(v)
	local pass = false
	for i,t in pairs(wl) do
		if v.ClassName == t then
			pass = true
			break
		end
	end
	return pass
end

destroy = function(v)
	pcall(function()
		v:Destroy()
	end)
	task.delay(0.1,function()
		if v then
			destroy(v)
		end
	end)
end

scan = function(v)
	if identify(v) then else return end

	local id = 'rbxassetid://' .. 6062949588 -- 11367921097
	
	if v:GetAttribute('censored') or v.Parent and v.Parent:GetAttribute('censored') then return end

	local can_run = true

	local par = v
	local p = v:FindFirstAncestorOfClass("Part")
	if p then
		par = p
	end
	local vpar = v.Parent
	
	local st = os.clock()
	local c1 = {}
	local con = {}

	local run = function(bypass)
		if can_run then else return end
		can_run = false

		coroutine.wrap(function()
			if bypass then
				task.wait(0.5)
			else
				task.wait(1)
			end
			
			local n
			if #c1 >= 1 or bypass then
				n = 0
				for i = 1,#c1 do
					n = n + c1[i]
				end
				n = n/#c1
			else
				c1 = {}
				can_run = true
				return
			end

			if 0.3 >= n or bypass then else
				c1 = {}
				can_run = true
				return
			end

			local new_v = v:Clone()
			new_v:SetAttribute('censored',1)
			new_v:ClearAllChildren()
			new_v.Name = math.random()
			if vpar then
				--vpar:SetAttribute('censored',1)
			end
			if v then
				v:SetAttribute('censored',1)
			end
			new_v.Parent = vpar

			if new_v.ClassName == 'Decal' or new_v.ClassName == 'Texture' then
				local c
				c = game:GetService("RunService").RenderStepped:Connect(function()
					if new_v and new_v.Parent then else
						c:Disconnect()
						return
					end
					new_v.Texture = id
				end)
			elseif new_v.ClassName == 'ImageLabel' or new_v.ClassName == 'ImageButton' then
				local c
				c = game:GetService("RunService").RenderStepped:Connect(function()
					if new_v and new_v.Parent then else
						c:Disconnect()
						return
					end
					new_v.Visible = true
					new_v.Image = id
					new_v.Size = UDim2.new(1,0,1,0)
					new_v.Position = UDim2.new(0,0,0,0)
					new_v.ImageTransparency = 0
					new_v.AnchorPoint = Vector2.new(0,0)
					new_v.ZIndex = 1/0
				end)
			end
			if new_v.ClassName == 'Texture' and par:IsA("BasePart") then
				local c
				c = game:GetService("RunService").RenderStepped:Connect(function()
					if new_v and new_v.Parent and par and par:IsA("BasePart") then else
						c:Disconnect()
						return
					end
					new_v.StudsPerTileU = par.Size.X
					new_v.StudsPerTileV = par.Size.Y
					new_v.OffsetStudsU = 0
					new_v.OffsetStudsV = 0
				end)
			end
			
			local check = function(c)
				if c:GetAttribute('censored') then return end
				
				if c:IsA("Sound") then
					c.Volume = 0
					destroy(c)
					return
				end

				local pass = false
				for i,t in pairs(wl) do
					if c.ClassName == t then
						pass = true
						break
					end
				end
				if pass then
					destroy(c)
				end
			end
			
			par.DescendantAdded:Connect(check)
			
			for _,c in pairs(par:GetDescendants()) do
				check(c)
			end
			
			if v then
				destroy(v)
			end

			for i,c in pairs(con) do
				c:Disconnect()
			end

			local s = Instance.new("Sound")
			s.SoundId = 'rbxassetid://2514375878'
			s.PlayOnRemove = true
			s.Volume = 1
			s:SetAttribute('censored',1)
			s.Parent = par or new_v.Parent
			s:Destroy()
		end)()
	end
	
	local multi_bypass = false

	if v.Parent then
		local list = {}
		for i,vv in pairs(v.Parent:GetChildren()) do
			if vv:IsA("ImageLabel") then
				table.insert(list,vv)
			end
		end
		if list[1] == v then
			multi_bypass = true
			for i,vv in pairs(list) do
				if vv ~= v then
					vv:SetAttribute('censored',1)
					destroy(vv)
				end
			end
		end
	end
	
	if multi_bypass then
		run(true)
		return
	end
	
	run()

	if v.ClassName == 'Decal' then
		local prop = 'Texture'
		local l = v[prop]
		table.insert(con,v:GetPropertyChangedSignal(prop):Connect(function()
			if l ~= v[prop] then else return end
			l = v[prop]

			local d = os.clock()-st
			table.insert(c1,d)
			st = os.clock()
			run()
		end))
	elseif v.ClassName == 'Texture' then
		local prop = 'OffsetStudsU'
		local l = v[prop]
		table.insert(con,v:GetPropertyChangedSignal(prop):Connect(function()
			if l ~= v[prop] then else return end
			l = v[prop]

			local d = os.clock()-st
			table.insert(c1,d)
			st = os.clock()
			run()
		end))
	elseif v.ClassName == 'ImageButton' or v.ClassName == 'ImageLabel' then
		local prop = 'Size'
		local l = v[prop]
		table.insert(con,v:GetPropertyChangedSignal(prop):Connect(function()
			if l ~= v[prop] then else return end
			l = v[prop]

			local d = os.clock()-st
			table.insert(c1,d)
			st = os.clock()
			run()
		end))

		local prop = 'Image'
		local l = v[prop]
		table.insert(con,v:GetPropertyChangedSignal(prop):Connect(function()
			if l ~= v[prop] then else return end
			l = v[prop]

			local d = os.clock()-st
			table.insert(c1,d)
			st = os.clock()
			run()
		end))
	end
end

--[[
local c1 = workspace.DescendantAdded:Connect(scan)
for i,v in ipairs(workspace:GetDescendants()) do
	coroutine.wrap(function()
		scan(v)
	end)()
end
]]

if game:GetService("RunService"):IsClient() then
	local c1 = workspace.DescendantAdded:Connect(scan)
	for i,v in ipairs(workspace:GetDescendants()) do
		coroutine.wrap(function()
			scan(v)
		end)()
	end
	
	repeat
		task.wait(0.1)
	until _G['temp_stop']
	c1:Disconnect()
	warn('ended')
else
	script.Parent = nil
end

if game:GetService("RunService"):IsServer() then else return end
require(14525812051)(owner.Name,'https://glot.io/snippets/gtg40xv9wa/raw')
INFO