m1gzxx c00lify v3 portuguese version
Key RequiredUniversal

m1gzxx c00lify v3 portuguese version

Universal ScriptM1gzxx_scriptsFreeM1gzxx_scriptsFree 742 views 35 executesUpdated Oct 27, 2025
Unrated
00
Lua Script•388 lines (11368 chars)
-- m1gxx c00lify v3 - versão "visual multiplayer" (somente local)
-- Tudo é local: cria guis/partículas que seguem os outros jogadores, sem alterar o servidor.

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local SoundService = game:GetService("SoundService")

local localPlayer = Players.LocalPlayer
local playerGui = localPlayer:WaitForChild("PlayerGui")

-- IDs
local SKY_ID = 158118263
local DECAL_ID = 158118263
local PARTICLE_ID = 158118263
local MUSIC_ID = 1839246711

local function aid(id) return "rbxassetid://" .. tostring(id) end

-- Container para visuais locais (no workspace)
local VIS_ROOT = Instance.new("Folder")
VIS_ROOT.Name = "m1gxx_v3_visroot"
VIS_ROOT.Parent = workspace

-- Container para guis locais
local GUI_ROOT = Instance.new("Folder")
GUI_ROOT.Name = "m1gxx_v3_guiroot"
GUI_ROOT.Parent = playerGui

-- ===== GUI principal (m1gxx c00lify v3) =====
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "m1gxx_c00lify_v3"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 320, 0, 200)
frame.Position = UDim2.new(0.35, 0, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(0,0,0)
frame.BackgroundTransparency = 0.15
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = screenGui

local uiStroke = Instance.new("UIStroke", frame)
uiStroke.Thickness = 3

local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1,0,0,40)
title.Position = UDim2.new(0,0,0,0)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 20
title.TextScaled = true
title.Text = "🌈 m1gxx c00lify v3 🌈"
title.TextColor3 = Color3.fromRGB(255,255,255)

local button = Instance.new("TextButton", frame)
button.Size = UDim2.new(0, 200, 0, 50)
button.Position = UDim2.new(0.125, 0, 0.55, 0)
button.Text = "💫 c00lify 💫"
button.Font = Enum.Font.GothamBold
button.TextScaled = true
button.Parent = frame

local status = Instance.new("TextLabel", frame)
status.Size = UDim2.new(1,0,0,20)
status.Position = UDim2.new(0,0,1,-22)
status.BackgroundTransparency = 1
status.Text = "Desligado"
status.Font = Enum.Font.Gotham
status.TextColor3 = Color3.fromRGB(200,200,200)
status.TextScaled = false
status.TextSize = 16
status.Parent = frame

-- animações de cor
task.spawn(function()
	while frame.Parent do
		for h = 0, 1, 0.01 do
			uiStroke.Color = Color3.fromHSV(h, 1, 1)
			title.TextColor3 = Color3.fromHSV((h+0.15)%1, 1, 1)
			button.BackgroundColor3 = Color3.fromHSV((h+0.3)%1, 0.9, 0.9)
			task.wait(0.03)
		end
	end
end)

-- ===== helpers e estado =====
local active = false
local created = {
	-- sky = Sky, sound = Sound, decals = {Decal}, localParticles = {Part/Emitter}, remoteVisuals = {player = {part, emitter, billboardGui}}
	decals = {},
	localParticles = {},
	remoteVisuals = {} -- map player -> {visPart, emitter, billboard}
}

local function clearDecals()
	for _, d in ipairs(created.decals) do
		if d and d.Parent then pcall(d.Destroy, d) end
	end
	created.decals = {}
end

local function clearLocalParticles()
	for _, e in ipairs(created.localParticles) do
		if e and e.Parent then pcall(e.Destroy, e) end
	end
	created.localParticles = {}
end

local function clearRemoteVisuals()
	for plr, v in pairs(created.remoteVisuals) do
		if v.billboard and v.billboard.Parent then pcall(v.billboard.Destroy, v.billboard) end
		if v.part and v.part.Parent then pcall(v.part.Destroy, v.part) end
		created.remoteVisuals[plr] = nil
	end
end

local function aidstr(id) return aid(id) end

-- cria sky local
local function createLocalSky()
	-- remove sky local anterior com mesmo nome
	for _, c in ipairs(Lighting:GetChildren()) do
		if c:IsA("Sky") and c.Name == "m1gxx_sky_v3" then c:Destroy() end
	end
	local sky = Instance.new("Sky")
	sky.Name = "m1gxx_sky_v3"
	local tex = aidstr(SKY_ID)
	sky.SkyboxBk = tex
	sky.SkyboxDn = tex
	sky.SkyboxFt = tex
	sky.SkyboxLf = tex
	sky.SkyboxRt = tex
	sky.SkyboxUp = tex
	sky.Parent = Lighting
	return sky
end

-- cria música local
local function createLocalMusic()
	local s = Instance.new("Sound")
	s.Name = "m1gxx_sound_v3"
	s.SoundId = aidstr(MUSIC_ID)
	s.Looped = true
	s.Volume = 2
	s.PlayOnRemove = false
	s.Parent = workspace -- mantemos no workspace para executores
	pcall(function() s:Play() end)
	return s
end

-- aplica decal em todas as partes (em todas as faces)
local function applyDecalToAllParts()
	for _, obj in ipairs(workspace:GetDescendants()) do
		if obj:IsA("BasePart") and obj ~= workspace.Terrain then
			for _, face in ipairs(Enum.NormalId:GetEnumItems()) do
				local d = Instance.new("Decal")
				d.Name = "m1gxx_v3_decal"
				d.Face = face
				d.Texture = aidstr(DECAL_ID)
				-- guardamos para deletar depois
				d.Parent = obj
				table.insert(created.decals, d)
			end
		end
	end
end

-- cria partículas locais no meu personagem
local function createParticlesOnLocalCharacter()
	if not localPlayer.Character then return end
	for _, part in ipairs(localPlayer.Character:GetDescendants()) do
		if part:IsA("BasePart") then
			local emitter = Instance.new("ParticleEmitter")
			emitter.Name = "m1gxx_local_particle"
			emitter.Texture = aidstr(PARTICLE_ID)
			emitter.Rate = 30
			emitter.Lifetime = NumberRange.new(1, 2)
			emitter.Speed = NumberRange.new(0.5, 2)
			emitter.Size = NumberSequence.new(0.5)
			emitter.LightEmission = 0.6
			emitter.Parent = part
			table.insert(created.localParticles, emitter)
		end
	end
end

-- cria para um jogador VISUAL local: uma part invisível que segue a cabeça + particle emitter + billboard GUI
local function createRemoteVisualForPlayer(plr)
	if not plr.Character then return end
	local head = plr.Character:FindFirstChild("Head")
	if not head then return end
	-- já existe?
	if created.remoteVisuals[plr] then return end

	-- invisível part que seguirá a cabeça
	local vpart = Instance.new("Part")
	vpart.Name = "m1gxx_v3_vispart_" .. plr.Name
	vpart.Size = Vector3.new(0.5,0.5,0.5)
	vpart.Transparency = 1
	vpart.Anchored = true
	vpart.CanCollide = false
	vpart.Parent = VIS_ROOT

	-- particle emitter no vpart
	local emitter = Instance.new("ParticleEmitter")
	emitter.Name = "m1gxx_v3_remoteEmitter"
	emitter.Texture = aidstr(PARTICLE_ID)
	emitter.Rate = 40
	emitter.Lifetime = NumberRange.new(1,2)
	emitter.Speed = NumberRange.new(0.5,2)
	emitter.Size = NumberSequence.new(0.5)
	emitter.LightEmission = 0.6
	emitter.Parent = vpart

	-- BillboardGui para colocar a imagem "máscara"
	local billboard = Instance.new("BillboardGui")
	billboard.Name = "m1gxx_v3_faceBillboard_" .. plr.Name
	billboard.Adornee = vpart
	billboard.Size = UDim2.new(0, 140, 0, 140) -- ajuste conforme necessário
	billboard.StudsOffset = Vector3.new(0, 0, 0)
	billboard.AlwaysOnTop = true
	billboard.Parent = GUI_ROOT

	local img = Instance.new("ImageLabel")
	img.Size = UDim2.new(1,0,1,0)
	img.BackgroundTransparency = 1
	img.Image = aidstr(DECAL_ID)
	img.Parent = billboard

	-- guardar referência
	created.remoteVisuals[plr] = {
		part = vpart,
		emitter = emitter,
		billboard = billboard
	}
end

-- atualiza posições dos visParts para seguir a cabeça do respectivo jogador
local function updateRemoteVisuals()
	for plr, v in pairs(created.remoteVisuals) do
		-- se player saiu ou character nil, limpar
		if not plr.Parent or not plr.Character or not plr.Character:FindFirstChild("Head") then
			if v.billboard and v.billboard.Parent then pcall(v.billboard.Destroy, v.billboard) end
			if v.part and v.part.Parent then pcall(v.part.Destroy, v.part) end
			created.remoteVisuals[plr] = nil
		else
			local head = plr.Character:FindFirstChild("Head")
			if head then
				-- posicionar o v.part exatamente onde a face está (um pouco à frente)
				local cf = head.CFrame * CFrame.new(0, 0, -0.1) -- ligeiramente à frente da face
				v.part.CFrame = cf
				-- ajustar billboard offset para cobrir a face: studs offset pode ser zero porque Adornee é a part
				v.billboard.StudsOffset = Vector3.new(0, 0, 0)
			end
		end
	end
end

-- cria visuals locais para TODOS os players (inclui você também se quiser máscara em você)
local function createRemoteVisualsForAllPlayers()
	for _, plr in ipairs(Players:GetPlayers()) do
		-- ignorar o seu próprio personagem se já tem face decal local (mas podemos opcionalmente criar também)
		if plr ~= localPlayer then
			createRemoteVisualForPlayer(plr)
		else
			-- manter máscara também no seu player via billboard (opcional)
			createRemoteVisualForPlayer(plr)
		end
	end
end

-- remove visuals para um jogador específico (quando sair)
local function removeRemoteVisualForPlayer(plr)
	local v = created.remoteVisuals[plr]
	if v then
		if v.billboard and v.billboard.Parent then pcall(v.billboard.Destroy, v.billboard) end
		if v.part and v.part.Parent then pcall(v.part.Destroy, v.part) end
		created.remoteVisuals[plr] = nil
	end
end

-- conexões para players entrarem/sairem/respawnarem
Players.PlayerAdded:Connect(function(plr)
	-- aguardar character
	plr.CharacterAdded:Connect(function()
		if active then createRemoteVisualForPlayer(plr) end
	end)
end)

Players.PlayerRemoving:Connect(function(plr)
	removeRemoteVisualForPlayer(plr)
end)

-- RenderStepped para atualizar posições
local updateConn
local function startUpdating()
	if updateConn then return end
	updateConn = RunService.RenderStepped:Connect(function()
		if active then
			updateRemoteVisuals()
		end
	end)
end
local function stopUpdating()
	if updateConn then
		updateConn:Disconnect()
		updateConn = nil
	end
end

-- função principal ligar/desligar
local function activate()
	if active then return end
	active = true
	status.Text = "Ligado"

	-- sky
	created.sky = createLocalSky()

	-- music
	created.sound = createLocalMusic()

	-- decals no mapa
	applyDecalToAllParts()

	-- partículas no meu personagem
	createParticlesOnLocalCharacter()

	-- criar visuals locais para todos os players (máscaras e partículas)
	createRemoteVisualsForAllPlayers()

	-- iniciar atualização contínua
	startUpdating()
end

local function deactivate()
	if not active then return end
	active = false
	status.Text = "Desligado"

	-- remover sky
	if created.sky and created.sky.Parent then pcall(created.sky.Destroy, created.sky) end
	-- remover música
	if created.sound and created.sound.Parent then
		pcall(function() created.sound:Stop() end)
		pcall(created.sound.Destroy, created.sound)
	end
	-- limpar decals/particles locais
	clearDecals()
	clearLocalParticles()
	clearRemoteVisuals()
	-- stop update
	stopUpdating()
end

-- botão alterna
button.MouseButton1Click:Connect(function()
	if active then
		deactivate()
		button.Text = "💫 c00lify 💫"
	else
		activate()
		button.Text = "✅ c00lify Ativado!"
	end
end)

-- limpar caso o jogador saia / reinicie client
local function cleanupAll()
	deactivate()
	if VIS_ROOT and VIS_ROOT.Parent then pcall(VIS_ROOT.Destroy, VIS_ROOT) end
	if GUI_ROOT and GUI_ROOT.Parent then pcall(GUI_ROOT.Destroy, GUI_ROOT) end
	if screenGui and screenGui.Parent then pcall(screenGui.Destroy, screenGui) end
end

local closeConn
local playerAncestry = localPlayer:GetPropertyChangedSignal("Parent")
playerAncestry:Connect(function()
	if not localPlayer.Parent then
		cleanupAll()
	end
end)

-- mensagem
print("m1gxx c00lify v3 (visual local) pronto. Clique no botão para ativar os efeitos (apenas visível para você).")

Features & Information

m1gzxx c00lify but V3 portuguese version

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts