
Key RequiredUniversal

--[[
MikeMercu f3x collab gui
Разделы: goobydolan | MikeMercu
Подразделы: Decal & Skybox | Music | Particles | Realm
]]
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera
-- ============================================================
-- CLEANUP
-- ============================================================
local KILL_PATTERNS = {
"Mike", "F3x", "TEST", "ZZZ",
"MikeMercu", "MikeMercuPanel", "JohnDoe", "Pringles", "collab",
}
for _, g in ipairs(playerGui:GetChildren()) do
if g:IsA("ScreenGui") then
local name = g.Name
local kill = false
for _, pat in ipairs(KILL_PATTERNS) do
if name:find(pat) then
kill = true
break
end
end
if kill then
pcall(function() g:Destroy() end)
end
end
end
task.wait(0.1)
local PREFIX = ";"
local SPAM_DELAY = 0.03
local PURPLE = Color3.fromRGB(170, 0, 255)
local BACKGROUND_DECAL = "rbxassetid://119931776743545"
-- ============================================================
-- BASE64 IDS
-- ============================================================
local ENC_WORLD_TOUR_DECAL = "MTI4ODkwMTcxMTI5NjAz"
local ENC_SKYBOX_TEXTURE = "MTI4ODkwMTcxMTI5NjAz"
local function b64decode(s)
local b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
s = s:gsub('[^' .. b .. '=]', '')
return (s:gsub('.', function(x)
if x == '=' then return '' end
local r, f = '', (b:find(x) - 1)
for i = 6, 1, -1 do r = r .. (f % 2^i - f % 2^(i-1) > 0 and '1' or '0') end
return r
end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x)
if #x ~= 8 then return '' end
local c = 0
for i = 1, 8 do c = c + (x:sub(i, i) == '1' and 2^(8-i) or 0) end
return string.char(c)
end))
end
local REAL_WORLD_TOUR_DECAL = b64decode(ENC_WORLD_TOUR_DECAL)
local REAL_SKYBOX_TEXTURE = b64decode(ENC_SKYBOX_TEXTURE)
local WORLD_TOUR_DECAL_ID = REAL_WORLD_TOUR_DECAL
local SKYBOX_TEXTURE_ID = REAL_SKYBOX_TEXTURE
local currentDecalID = WORLD_TOUR_DECAL_ID
local currentMyDecalID = "74015851400423"
local currentMusicID = "100048144167699"
-- ============================================================
-- IDS
-- ============================================================
-- goobydolan
local GOBBYDOOLAN_DECAL_ID = "118747463854830"
local GOBBYDOOLAN_SKYBOX_ID = "118747463854830"
-- MikeMercu
local MIKEMERCU_DECAL_ID = "74015851400423"
local MIKEMERCU_SKYBOX_ID = "74015851400423"
local MIKEMERCU_RET_DECAL_ID = "107356254000416"
local MIKEMERCU_RET_SKYBOX_ID = "107356254000416"
-- Music
local GOBBY_MUSIC_ID = "1839246711"
local MIKE_MUSIC_ID = "100048144167699"
local HARDBASS_ID = "119724983756181"
local HARDBASS_PITCH = 0.13
local TUBERS93_ID = "74464434454195"
local TUBERS93_PITCH = 1.0
local SPARTA_ID = "88982673611296"
local SPARTA_PITCH = 0.05
local TROLL_MUSIC_ID = "131800565792856"
local TROLL_MUSIC_PITCH = 0.05
local REALM_MUSIC_ID = "123143562570662"
local IDIOT_MUSIC_ID = "3200130016"
-- ============================================================
-- UTILS
-- ============================================================
local function addStroke(obj, thickness)
local s = Instance.new("UIStroke")
s.Color = PURPLE
s.Thickness = thickness or 1.2
s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
s.Parent = obj
return s
end
local function getSilentRemote()
local hd = ReplicatedStorage:FindFirstChild("HDAdminHDClient")
or ReplicatedStorage:FindFirstChild("HDClient")
if not hd then return nil end
local signals = hd:FindFirstChild("Signals")
if not signals then return nil end
return signals:FindFirstChild("RequestCommandSilent")
or signals:FindFirstChild("RequestCommand")
end
local function runSilent(cmd)
local remote = getSilentRemote()
if not remote then warn("[HD Admin] silent remote not found") return end
pcall(function() remote:InvokeServer(PREFIX .. cmd) end)
end
local function getF3XRemote()
local tool
if player.Character then
tool = player.Character:FindFirstChild("Building Tools+")
end
if not tool and player:FindFirstChild("Backpack") then
tool = player.Backpack:FindFirstChild("Building Tools+")
end
if not tool then
for _, v in ipairs(player:GetDescendants()) do
if v.Name == "SyncAPI" then tool = v.Parent break end
end
end
if not tool then
for _, v in ipairs(ReplicatedStorage:GetDescendants()) do
if v.Name == "SyncAPI" then tool = v.Parent break end
end
end
if tool then
local api = tool:FindFirstChild("SyncAPI")
if api then return api:FindFirstChild("ServerEndpoint") end
end
end
-- ============================================================
-- ANTI-SKID
-- ============================================================
local function antiSkidCheck()
if currentDecalID ~= REAL_WORLD_TOUR_DECAL then
player:Kick("f***in skid")
return
end
if SKYBOX_TEXTURE_ID ~= REAL_SKYBOX_TEXTURE then
player:Kick("f***in skid")
return
end
end
antiSkidCheck()
task.spawn(function()
while true do
task.wait(0.5)
antiSkidCheck()
end
end)
-- ============================================================
-- ACTIONS
-- ============================================================
local function giveBtools()
runSilent("btools me")
task.wait(0.4)
runSilent("f3x me")
end
local function playMusicID(id, pitch, vol)
runSilent("music " .. id)
task.wait(0.2)
if pitch then runSilent("pitch " .. pitch) task.wait(0.2) end
runSilent("volume " .. (vol or "inf"))
end
local function playMusic() playMusicID(currentMusicID, nil, "inf") end
local function playGobbyMusic() playMusicID(GOBBY_MUSIC_ID, nil, "inf") end
local function playMikeMusic() playMusicID(MIKE_MUSIC_ID, nil, "inf") end
local function playHardbass() playMusicID(HARDBASS_ID, HARDBASS_PITCH, "999") end
local function playTubers93() playMusicID(TUBERS93_ID, TUBERS93_PITCH, "999") end
local function playSparta() playMusicID(SPARTA_ID, SPARTA_PITCH, "999") end
local function playTrollMusic() playMusicID(TROLL_MUSIC_ID, TROLL_MUSIC_PITCH, "999") end
local function playRealmMusic() playMusicID(REALM_MUSIC_ID, nil, "inf") end
local function playTitle()
runSilent("titlep me MikeMercu")
end
-- ============================================================
-- YOU ARE AN IDIOT (TOGGLE)
-- ============================================================
local idiotState = { active = false }
local function toggleIdiotMusic(btn)
idiotState.active = not idiotState.active
if idiotState.active then
playMusicID(IDIOT_MUSIC_ID, nil, "999")
if btn then btn.Text = "You Are An Idiot: ON" end
else
runSilent("music 0")
task.wait(0.2)
runSilent("volume 1")
if btn then btn.Text = "You Are An Idiot!" end
end
end
-- ============================================================
-- UNIVERSAL DECAL SPAM
-- ============================================================
local function spamDecalOnEverything(decalID, label)
local remote = getF3XRemote()
if not remote then
warn(("[" .. label .. "] F3X not found — click [F3X] first"))
return
end
local function fire(args) pcall(function() remote:InvokeServer(unpack(args)) end) end
local faces = {
Enum.NormalId.Front, Enum.NormalId.Back,
Enum.NormalId.Left, Enum.NormalId.Right,
Enum.NormalId.Top, Enum.NormalId.Bottom,
}
task.spawn(function()
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
task.spawn(function()
fire({"SetLocked", {v}, false})
for _, f in ipairs(faces) do
fire({"CreateTextures", {{Part = v, Face = f, TextureType = "Decal"}}})
fire({"SyncTexture", {{
Part = v, Face = f, TextureType = "Decal",
Texture = "rbxassetid://" .. decalID
}}})
end
end)
task.wait(SPAM_DELAY)
end
end
end)
end
local function spamGobbyDecal() spamDecalOnEverything(GOBBYDOOLAN_DECAL_ID, "GobbyDoolan Decal") end
local function spamMikeDecal() spamDecalOnEverything(MIKEMERCU_DECAL_ID, "MikeMercu Decal") end
local function spamMikeRetDecal() spamDecalOnEverything(MIKEMERCU_RET_DECAL_ID, "MikeMercu.ret Decal") end
-- ============================================================
-- UNIVERSAL PARTICLE SPAM
-- ============================================================
local function spamParticlesOnEverything(label, options)
local remote = getF3XRemote()
if not remote then
warn(("[" .. label .. "] F3X not found — click [F3X] first"))
return
end
local function fire(args) pcall(function() remote:InvokeServer(unpack(args)) end) end
options = options or {}
local texture = options.Texture or ("rbxassetid://" .. currentMyDecalID)
local rate = options.Rate or "5000"
local spreadAngle = options.SpreadAngle or "18000"
local rotSpeed = options.RotSpeed or "10"
local speed = options.Speed or "24"
local size = options.Size or "1"
task.spawn(function()
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
task.spawn(function()
fire({"SetLocked", {v}, false})
fire({"CreateDecorations", {{Part = v, DecorationType = "ParticleEmitter"}}})
fire({"SyncDecorate", {{
Part = v, DecorationType = "ParticleEmitter",
Rate = rate, SpreadAngle = spreadAngle, RotSpeed = rotSpeed,
Texture = texture, Speed = speed, Size = size
}}})
end)
task.wait(SPAM_DELAY)
end
end
end)
end
local function clearParticlesFromEverything(label)
local remote = getF3XRemote()
if not remote then
warn(("[" .. label .. "] F3X not found — click [F3X] first"))
return
end
local function fire(args) pcall(function() remote:InvokeServer(unpack(args)) end) end
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("ParticleEmitter") then
pcall(function() v:Destroy() end)
end
end
local decorationTypes = {"ParticleEmitter", "Fire", "Smoke", "Sparkles"}
task.spawn(function()
local parts = {}
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
table.insert(parts, v)
end
end
local batchSize = 30
for i = 1, #parts, batchSize do
for _, dtype in ipairs(decorationTypes) do
local batch = {}
for j = i, math.min(i + batchSize - 1, #parts) do
table.insert(batch, {
Part = parts[j],
DecorationType = dtype
})
end
fire({"RemoveDecorations", batch})
end
task.wait(0.05)
end
end)
end
-- ============================================================
-- UNIVERSAL SKYBOX SPAWNER (no anchor, just big part on ground)
-- ============================================================
local function spawnSkyboxWithID(textureID, label)
local char = player.Character or player.CharacterAdded:Wait()
local tool
for _, v in ipairs(player:GetDescendants()) do
if v.Name == "SyncAPI" then tool = v.Parent break end
end
if not tool then
for _, v in ipairs(ReplicatedStorage:GetDescendants()) do
if v.Name == "SyncAPI" then tool = v.Parent break end
end
end
if not tool then
warn(("[" .. label .. "] F3X not found"))
return
end
local remote = tool.SyncAPI.ServerEndpoint
local function _(args) pcall(function() remote:InvokeServer(unpack(args)) end) end
local function CreatePart(cf, parent) _({"CreatePart", "Normal", cf, parent}) end
local function AddMesh(part) _({"CreateMeshes", {{Part = part}}}) end
local function SetMesh(part, meshid) _({"SyncMesh", {{Part = part, MeshId = "rbxassetid://" .. meshid}}}) end
local function SetTexture(part, texid) _({"SyncMesh", {{Part = part, TextureId = "rbxassetid://" .. texid}}}) end
local function MeshResize(part, size) _({"SyncMesh", {{Part = part, Scale = size}}}) end
local function SetName(part, stringg) _({"SetName", {part}, stringg}) end
local function SetCollision(part, boolean) _({"SyncCollision", {{Part = part, CanCollide = boolean}}}) end
local function SetLocked(part, boolean) _({"SetLocked", {part}, boolean}) end
local function SetAnchor(part, boolean) _({"SyncAnchor", {{Part = part}, Anchored = boolean}}) end
local spawnCF = CFrame.new(0, 500, 0)
CreatePart(spawnCF, workspace)
task.wait(0.2)
local skyPart
local closest = math.huge
for _, v in ipairs(workspace:GetChildren()) do
if v:IsA("BasePart") then
local d = (v.Position - spawnCF.Position).Magnitude
if d < 10 and d < closest then
closest = d
skyPart = v
end
end
end
if not skyPart then
warn(("[" .. label .. "] part not found"))
return
end
SetName(skyPart, "Sky")
task.wait(0.05)
AddMesh(skyPart)
task.wait(0.1)
SetMesh(skyPart, "111891702759441")
task.wait(0.1)
SetTexture(skyPart, textureID)
task.wait(0.1)
MeshResize(skyPart, Vector3.new(1000, 1000, 1000))
task.wait(0.2)
SetCollision(skyPart, false)
SetLocked(skyPart, true)
SetAnchor(skyPart, true)
local guardConn
guardConn = RunService.Heartbeat:Connect(function()
if not skyPart or not skyPart.Parent then
if guardConn then guardConn:Disconnect() end
return
end
if skyPart.Position.Y < 100 then
pcall(function() skyPart.CFrame = CFrame.new(0, 500, 0) end)
SetAnchor(skyPart, true)
end
end)
end
local function spawnGobbySkybox() spawnSkyboxWithID(GOBBYDOOLAN_SKYBOX_ID, "GobbyDoolan Skybox") end
local function spawnMikeSkybox() spawnSkyboxWithID(MIKEMERCU_SKYBOX_ID, "MikeMercu Skybox") end
local function spawnMikeRetSkybox() spawnSkyboxWithID(MIKEMERCU_RET_SKYBOX_ID, "MikeMercu.ret Skybox") end
-- ============================================================
-- UNANCHOR ALL
-- ============================================================
local function unanchorAll()
local remote = getF3XRemote()
if not remote then
warn("[Unanchor All] F3X not found — click [F3X] first")
return
end
local function fire(args)
pcall(function() remote:InvokeServer(unpack(args)) end)
end
task.spawn(function()
local parts = {}
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then
parts[#parts + 1] = v
end
end
local total = #parts
print("[Unanchor All] Найдено частей:", total)
local t0 = tick()
if total == 0 then
print("[Unanchor All] Нечего откреплять.")
return
end
local completed = 0
for i = 1, total do
local part = parts[i]
task.spawn(function()
if part and part.Parent then
fire({"SyncAnchor", {{Part = part}, false}})
fire({"SetLocked", {part}, false})
end
completed = completed + 1
end)
end
while completed < total do
task.wait()
end
local elapsed = tick() - t0
print(string.format("[Unanchor All] Карта откреплена за %.2f сек! (%d частей)", elapsed, total))
end)
end
-- ============================================================
-- REALM SCRIPTS (goobydolan / MikeMercu)
-- ============================================================
local function getF3XFromPlayer()
local char = player.Character
local backpack = player:FindFirstChild("Backpack")
if backpack then
for _, v in ipairs(backpack:GetChildren()) do
if v:FindFirstChild("SyncAPI") then return v end
end
end
if char then
for _, v in ipairs(char:GetChildren()) do
if v:FindFirstChild("SyncAPI") then return v end
end
end
return nil
end
local function deleteAllParts(serverendpoint)
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
task.spawn(function()
pcall(function()
serverendpoint:InvokeServer("Remove", {v})
end)
end)
end
end
end
local function buildRealm(opts)
-- opts: { SpawnDecal, RulesDecal, BadDecal, SkyTexture, MusicID, TitleName }
local remote = getSilentRemote()
if remote then
pcall(function() remote:InvokeServer(";btools me") end)
task.wait(0.4)
pcall(function() remote:InvokeServer(";punish all") end)
task.wait(0.1)
end
local f3x = getF3XFromPlayer()
if not f3x then
warn("[Realm] you dont have f3x skid")
return
end
local serverendpoint = f3x.SyncAPI.ServerEndpoint
-- Удаляем всё
deleteAllParts(serverendpoint)
task.wait(0.3)
if remote then
pcall(function() remote:InvokeServer(";fogcolor black ;time") end)
end
-- Хелперы F3X
local function resize(part, size, cf)
pcall(function()
serverendpoint:InvokeServer("SyncResize", {{Part = part, CFrame = cf, Size = size}})
end)
end
local function syncmaterial(part, mate)
pcall(function()
serverendpoint:InvokeServer("SyncMaterial", {{Part = part, Material = mate}})
end)
end
local function transparency(part, trans)
pcall(function()
serverendpoint:InvokeServer("SyncMaterial", {{Part = part, Transparency = trans}})
end)
end
local function color(part, c)
pcall(function()
serverendpoint:InvokeServer("SyncColor", {{Part = part, Color = c, UnionColoring = false}})
end)
end
local function syncmeshid(part, id)
pcall(function()
serverendpoint:InvokeServer("SyncMesh", {{Part = part, MeshId = "rbxassetid://" .. id}})
end)
end
local function makemesh(part)
pcall(function()
serverendpoint:InvokeServer("CreateMeshes", {{Part = part}})
end)
end
local function syncmeshsize(part, vec)
pcall(function()
serverendpoint:InvokeServer("SyncMesh", {{Part = part, Scale = vec}})
end)
end
local function syncmeshtexture(part, id)
pcall(function()
serverendpoint:InvokeServer("SyncMesh", {{Part = part, TextureId = "rbxassetid://" .. id}})
end)
end
local function name(part, s)
pcall(function()
serverendpoint:InvokeServer("SetName", {part}, s)
end)
end
local function lock(part, b)
pcall(function()
serverendpoint:InvokeServer("SetLocked", {part}, b)
end)
end
local function setcollision(part, b)
pcall(function()
serverendpoint:InvokeServer("SyncCollision", {{Part = part, CanCollide = b}})
end)
end
local function createdecal(part, side)
pcall(function()
serverendpoint:InvokeServer("CreateTextures", {{Part = part, Face = side, TextureType = "Decal"}})
end)
end
local function setdecal(part, asset, side)
pcall(function()
serverendpoint:InvokeServer("SyncTexture", {{Part = part, Face = side, TextureType = "Decal", Texture = "rbxassetid://" .. asset}})
end)
end
-- Базовое основание
local function makerealmbase()
local position = CFrame.new(0, 5, 0)
local base = serverendpoint:InvokeServer("CreatePart", "Normal", position, workspace)
resize(base, Vector3.new(512, 16, 512), position)
syncmaterial(base, Enum.Material.Concrete)
color(base, Color3.new(0.513725, 0.513725, 0.513725))
name(base, "loltroll")
lock(base, true)
local spawnpos = CFrame.new(34.5, 8.1, -26)
local spawna = serverendpoint:InvokeServer("CreatePart", "Spawn", spawnpos, workspace)
resize(spawna, Vector3.new(20, 10, 20), spawnpos)
name(spawna, "SpawnLocation")
lock(spawna, true)
createdecal(spawna, Enum.NormalId.Top)
setdecal(spawna, opts.SpawnDecal, Enum.NormalId.Top)
transparency(spawna, 1)
local pos1 = CFrame.new(74.143, 24, -25.232)
local rules = serverendpoint:InvokeServer("CreatePart", "Normal", pos1, workspace)
transparency(rules, 0)
setcollision(rules, false)
createdecal(rules, Enum.NormalId.Left)
setdecal(rules, opts.RulesDecal, Enum.NormalId.Left)
color(rules, Color3.new(1, 1, 1))
resize(rules, Vector3.new(4, 23, 37), pos1)
local pos2 = CFrame.new(1.143, 24, -25.232)
local bad = serverendpoint:InvokeServer("CreatePart", "Normal", pos2, workspace)
transparency(bad, 1)
setcollision(bad, false)
createdecal(bad, Enum.NormalId.Right)
setdecal(bad, opts.BadDecal, Enum.NormalId.Right)
resize(bad, Vector3.new(4, 23, 37), pos2)
end
-- Скайбокс
local function sky()
local position = CFrame.new(0, 5, 0)
local skyPart = serverendpoint:InvokeServer("CreatePart", "Normal", position, workspace)
makemesh(skyPart)
syncmeshid(skyPart, "139706960202832")
syncmeshtexture(skyPart, opts.SkyTexture)
syncmeshsize(skyPart, Vector3.new(20000, 20000, 20000))
lock(skyPart, true)
name(skyPart, "Sky")
setcollision(skyPart, false)
end
sky()
makerealmbase()
if remote then
pcall(function() remote:InvokeServer(";res all") end)
task.wait(0.3)
pcall(function() remote:InvokeServer(";r6 all") end)
pcall(function() remote:InvokeServer(";time 14") end)
task.wait(0.7)
pcall(function()
remote:InvokeServer(";music " .. opts.MusicID .. " ;volume inf ; ;char all " .. opts.TitleName .. " " .. opts.TitleName .. " HAX THIS SERVER L0LZ")
end)
end
end
local function startGobbyRealm()
task.spawn(function()
buildRealm({
SpawnDecal = "89425803793975",
RulesDecal = "118747463854830",
BadDecal = "89425803793975",
SkyTexture = "89425803793975",
MusicID = "1839246711",
TitleName = "goobydoolan",
})
end)
end
local function startMikeRealm()
task.spawn(function()
buildRealm({
SpawnDecal = "128890171129603",
RulesDecal = "74015851400423",
BadDecal = "128890171129603",
SkyTexture = "128890171129603",
MusicID = "100048144167699",
TitleName = "MikeMercu",
})
end)
end
-- ============================================================
-- GUI (GRID LAYOUT)
-- ============================================================
local GUI_WIDTH = 600
local COLS = 3
local BTN_W = 190
local BTN_H = 26
local BTN_GAP_X = 4
local BTN_GAP_Y = 4
local SECTION_GAP = 6
local HEADER_H = 18
local PAD = 6
local ARROW_W = 16
local PANEL_W = 150
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "MikeMercuF3xCollabGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = playerGui
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, GUI_WIDTH, 0, 400)
MainFrame.Position = UDim2.new(0.5, -GUI_WIDTH/2, 0.15, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.BackgroundTransparency = 1
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ClipsDescendants = false
MainFrame.ZIndex = 1
MainFrame.Parent = ScreenGui
addStroke(MainFrame, 2)
local BackgroundImage = Instance.new("ImageLabel")
BackgroundImage.Name = "BackgroundImage"
BackgroundImage.Size = UDim2.new(1, 0, 1, 0)
BackgroundImage.Position = UDim2.new(0, 0, 0, 0)
BackgroundImage.BackgroundTransparency = 1
BackgroundImage.Image = BACKGROUND_DECAL
BackgroundImage.ScaleType = Enum.ScaleType.Crop
BackgroundImage.ZIndex = 0
BackgroundImage.Parent = MainFrame
local ContentFrame = Instance.new("Frame")
ContentFrame.Name = "ContentFrame"
ContentFrame.Size = UDim2.new(1, -PAD*2, 1, 0)
ContentFrame.Position = UDim2.new(0, 0, 0, 0)
ContentFrame.BackgroundTransparency = 1
ContentFrame.ZIndex = 2
ContentFrame.Parent = MainFrame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -80, 0, 28)
Title.Position = UDim2.new(0, PAD, 0, PAD)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.SourceSansBold
Title.Text = "f3x collab gui"
Title.TextColor3 = PURPLE
Title.TextSize = 20
Title.TextXAlignment = Enum.TextXAlignment.Center
Title.ZIndex = 3
Title.Parent = ContentFrame
local giveBtoolsBtn = Instance.new("TextButton")
giveBtoolsBtn.Size = UDim2.new(0, 50, 0, 24)
giveBtoolsBtn.Position = UDim2.new(0, PAD, 0, PAD + 2)
giveBtoolsBtn.BackgroundColor3 = Color3.fromRGB(60, 0, 90)
giveBtoolsBtn.BackgroundTransparency = 0.3
giveBtoolsBtn.BorderSizePixel = 0
giveBtoolsBtn.Font = Enum.Font.SourceSansBold
giveBtoolsBtn.Text = "give\nF3x"
giveBtoolsBtn.TextColor3 = PURPLE
giveBtoolsBtn.TextSize = 10
giveBtoolsBtn.ZIndex = 5
giveBtoolsBtn.Parent = ContentFrame
addStroke(giveBtoolsBtn, 1.2)
local clearSkyboxBtn = Instance.new("TextButton")
clearSkyboxBtn.Size = UDim2.new(0, 90, 0, 24)
clearSkyboxBtn.Position = UDim2.new(1, -90 - PAD, 0, PAD + 2)
clearSkyboxBtn.BackgroundColor3 = Color3.fromRGB(60, 0, 90)
clearSkyboxBtn.BackgroundTransparency = 0.3
clearSkyboxBtn.BorderSizePixel = 0
clearSkyboxBtn.Font = Enum.Font.SourceSansBold
clearSkyboxBtn.Text = "Clear Skybox"
clearSkyboxBtn.TextColor3 = PURPLE
clearSkyboxBtn.TextSize = 10
clearSkyboxBtn.ZIndex = 5
clearSkyboxBtn.Parent = ContentFrame
addStroke(clearSkyboxBtn, 1.2)
-- ============================================================
-- GRID SECTIONS
-- ============================================================
local sections = {}
local allButtons = {}
local function makeGridSection(parent, yPos, title)
local header = Instance.new("TextLabel")
header.Name = "Header_" .. title
header.Size = UDim2.new(1, -PAD*2, 0, HEADER_H)
header.Position = UDim2.new(0, PAD, 0, yPos)
header.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
header.BackgroundTransparency = 0.35
header.BorderSizePixel = 0
header.Font = Enum.Font.SourceSansBold
header.Text = title
header.TextColor3 = PURPLE
header.TextSize = 14
header.TextXAlignment = Enum.TextXAlignment.Center
header.ZIndex = 3
header.Active = false
header.Selectable = false
header.Parent = parent
addStroke(header, 1.2)
local container = Instance.new("Frame")
container.Name = "Grid_" .. title
container.Size = UDim2.new(1, -PAD*2, 0, 0)
container.Position = UDim2.new(0, PAD, 0, yPos + HEADER_H + 2)
container.BackgroundTransparency = 1
container.ZIndex = 3
container.Parent = parent
local section = {
header = header,
container = container,
buttons = {},
rows = 0,
yPos = yPos,
}
table.insert(sections, section)
return section
end
local function addGridButton(section, text, callback)
local idx = #section.buttons
local col = idx % COLS
local row = math.floor(idx / COLS)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, BTN_W, 0, BTN_H)
btn.Position = UDim2.new(0, col * (BTN_W + BTN_GAP_X), 0, row * (BTN_H + BTN_GAP_Y))
btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
btn.BackgroundTransparency = 0.35
btn.BorderSizePixel = 0
btn.Font = Enum.Font.SourceSansBold
btn.Text = text
btn.TextColor3 = PURPLE
btn.TextSize = 12
btn.ZIndex = 4
btn.TextWrapped = true
btn.Parent = section.container
addStroke(btn, 1.2)
if callback then btn.MouseButton1Click:Connect(callback) end
table.insert(section.buttons, btn)
table.insert(allButtons, btn)
local totalRows = math.ceil(#section.buttons / COLS)
section.container.Size = UDim2.new(1, -PAD*2, 0, totalRows * (BTN_H + BTN_GAP_Y) - BTN_GAP_Y)
return btn
end
local function finalizeLayout()
local y = PAD + 30
for _, sec in ipairs(sections) do
sec.header.Position = UDim2.new(0, PAD, 0, y)
sec.container.Position = UDim2.new(0, PAD, 0, y + HEADER_H + 2)
y = y + HEADER_H + 2 + sec.container.Size.Y.Offset + SECTION_GAP
end
local totalH = y - SECTION_GAP + PAD
MainFrame.Size = UDim2.new(0, GUI_WIDTH, 0, totalH)
return totalH
end
-- ============================================================
-- СЕКЦИЯ 1: goobydolan
-- ============================================================
local secGobby = makeGridSection(ContentFrame, 0, "goobydolan")
addGridButton(secGobby, "Decal", spamGobbyDecal)
addGridButton(secGobby, "Skybox", spawnGobbySkybox)
addGridButton(secGobby, "Music", playGobbyMusic)
addGridButton(secGobby, "Realm", startGobbyRealm)
local gobbyPartState = { active = false }
local gobbyPartBtn = addGridButton(secGobby, "Particles", function() end)
gobbyPartBtn.MouseButton1Click:Connect(function()
gobbyPartState.active = not gobbyPartState.active
gobbyPartBtn.Text = gobbyPartState.active and "Particles: ON" or "Particles"
if gobbyPartState.active then
spamParticlesOnEverything("GobbyDoolan Particles", {
Texture = "rbxassetid://" .. GOBBYDOOLAN_DECAL_ID,
Rate = "5000", SpreadAngle = "18000", RotSpeed = "10",
Speed = "24", Size = "3"
})
else
clearParticlesFromEverything("GobbyDoolan Particles")
end
end)
-- ============================================================
-- СЕКЦИЯ 2: MikeMercu
-- ============================================================
local secMike = makeGridSection(ContentFrame, 0, "MikeMercu")
addGridButton(secMike, "Decal", spamMikeDecal)
addGridButton(secMike, "Skybox", spawnMikeSkybox)
addGridButton(secMike, "Music", playMikeMusic)
addGridButton(secMike, "Decal .ret", spamMikeRetDecal)
addGridButton(secMike, "Skybox .ret", spawnMikeRetSkybox)
addGridButton(secMike, "Realm", startMikeRealm)
local mikePartState = { active = false }
local mikePartBtn = addGridButton(secMike, "Particles", function() end)
mikePartBtn.MouseButton1Click:Connect(function()
mikePartState.active = not mikePartState.active
mikePartBtn.Text = mikePartState.active and "Particles: ON" or "Particles"
if mikePartState.active then
spamParticlesOnEverything("MikeMercu Particles", {
Texture = "rbxassetid://" .. MIKEMERCU_DECAL_ID,
Rate = "5000", SpreadAngle = "18000", RotSpeed = "10",
Speed = "24", Size = "3"
})
else
clearParticlesFromEverything("MikeMercu Particles")
end
end)
-- ============================================================
-- СЕКЦИЯ 3: Music
-- ============================================================
local secMusic = makeGridSection(ContentFrame, 0, "Music")
addGridButton(secMusic, "My Theme", playMusic)
addGridButton(secMusic, "Hardbass", playHardbass)
addGridButton(secMusic, "Tubers 93", playTubers93)
addGridButton(secMusic, "This Is Sparta (slowed)", playSparta)
addGridButton(secMusic, "Troll Music (slowed)", playTrollMusic)
addGridButton(secMusic, "Realm Music", playRealmMusic)
addGridButton(secMusic, "Title", playTitle)
local idiotBtn = addGridButton(secMusic, "You Are An Idiot!", function() end)
idiotBtn.MouseButton1Click:Connect(function()
toggleIdiotMusic(idiotBtn)
end)
-- ============================================================
-- СЕКЦИЯ 4: Maps
-- ============================================================
local secMaps = makeGridSection(ContentFrame, 0, "Maps")
addGridButton(secMaps, "Unanchor All", unanchorAll)
-- ============================================================
-- СЕКЦИЯ 5: Particles
-- ============================================================
local secParts = makeGridSection(ContentFrame, 0, "Particles")
local particlesState = { active = false }
local marioPartState = { active = false }
local yaaiPartState = { active = false }
local function onParticlesClick(btn)
particlesState.active = not particlesState.active
btn.Text = particlesState.active and "Particles: ON" or "Particles: OFF"
if particlesState.active then
spamParticlesOnEverything("Particles", {
Texture = "rbxassetid://" .. currentMyDecalID,
Rate = "5000", SpreadAngle = "18000", RotSpeed = "10",
Speed = "24", Size = "1"
})
else
clearParticlesFromEverything("Particles")
end
end
local partBtn = addGridButton(secParts, "Particles", function() end)
partBtn.MouseButton1Click:Connect(function() onParticlesClick(partBtn) end)
local marioPartBtn = addGridButton(secParts, "Mario.exe Particles", function() end)
marioPartBtn.MouseButton1Click:Connect(function()
marioPartState.active = not marioPartState.active
marioPartBtn.Text = marioPartState.active and "Mario.exe Particles: ON" or "Mario.exe Particles"
if marioPartState.active then
spamParticlesOnEverything("Mario.exe", { Texture = "rbxassetid://135887982387868" })
else
clearParticlesFromEverything("Mario.exe")
end
end)
local yaaiPartBtn = addGridButton(secParts, "Yaai Particles", function() end)
yaaiPartBtn.MouseButton1Click:Connect(function()
yaaiPartState.active = not yaaiPartState.active
yaaiPartBtn.Text = yaaiPartState.active and "Yaai Particles: ON" or "Yaai Particles"
if yaaiPartState.active then
spamParticlesOnEverything("Yaai", { Texture = "rbxassetid://14938704333" })
else
clearParticlesFromEverything("Yaai")
end
end)
finalizeLayout()
-- ============================================================
-- ID PANEL
-- ============================================================
local ArrowButton = Instance.new("TextButton")
ArrowButton.Name = "ArrowButton"
ArrowButton.Size = UDim2.new(0, ARROW_W, 1, 0)
ArrowButton.Position = UDim2.new(1, -ARROW_W, 0, 0)
ArrowButton.BackgroundColor3 = Color3.fromRGB(60, 0, 90)
ArrowButton.BackgroundTransparency = 0.2
ArrowButton.BorderSizePixel = 0
ArrowButton.Font = Enum.Font.SourceSansBold
ArrowButton.Text = "►"
ArrowButton.TextColor3 = PURPLE
ArrowButton.TextSize = 11
ArrowButton.ZIndex = 10
ArrowButton.Parent = MainFrame
addStroke(ArrowButton, 1)
local SlidePanel = Instance.new("Frame")
SlidePanel.Name = "SlidePanel"
SlidePanel.Size = UDim2.new(0, PANEL_W, 1, 0)
SlidePanel.Position = UDim2.new(1, 0, 0, 0)
SlidePanel.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
SlidePanel.BackgroundTransparency = 0.15
SlidePanel.BorderSizePixel = 0
SlidePanel.ClipsDescendants = false
SlidePanel.Visible = false
SlidePanel.Active = false
SlidePanel.Selectable = false
SlidePanel.ZIndex = 20
SlidePanel.Parent = MainFrame
addStroke(SlidePanel, 1.5)
local PanelTitle = Instance.new("TextLabel")
PanelTitle.Size = UDim2.new(1, -12, 0, 16)
PanelTitle.Position = UDim2.new(0, 6, 0, 4)
PanelTitle.BackgroundTransparency = 1
PanelTitle.Font = Enum.Font.SourceSansBold
PanelTitle.Text = "Settings"
PanelTitle.TextColor3 = PURPLE
PanelTitle.TextSize = 11
PanelTitle.TextXAlignment = Enum.TextXAlignment.Left
PanelTitle.ZIndex = 21
PanelTitle.Parent = SlidePanel
local MyDecalLabel = Instance.new("TextLabel")
MyDecalLabel.Size = UDim2.new(1, -12, 0, 12)
MyDecalLabel.Position = UDim2.new(0, 6, 0, 24)
MyDecalLabel.BackgroundTransparency = 1
MyDecalLabel.Font = Enum.Font.SourceSans
MyDecalLabel.Text = "My Decal ID"
MyDecalLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
MyDecalLabel.TextSize = 10
MyDecalLabel.TextXAlignment = Enum.TextXAlignment.Left
MyDecalLabel.ZIndex = 21
MyDecalLabel.Parent = SlidePanel
local MyDecalBox = Instance.new("TextBox")
MyDecalBox.Name = "MyDecalBox"
MyDecalBox.Size = UDim2.new(1, -12, 0, 18)
MyDecalBox.Position = UDim2.new(0, 6, 0, 38)
MyDecalBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
MyDecalBox.BorderSizePixel = 0
MyDecalBox.Font = Enum.Font.SourceSans
MyDecalBox.Text = currentMyDecalID
MyDecalBox.PlaceholderText = "asset id"
MyDecalBox.TextColor3 = PURPLE
MyDecalBox.TextSize = 10
MyDecalBox.ClearTextOnFocus = false
MyDecalBox.ZIndex = 21
MyDecalBox.Parent = SlidePanel
addStroke(MyDecalBox, 1)
local MyThemeLabel = Instance.new("TextLabel")
MyThemeLabel.Size = UDim2.new(1, -12, 0, 12)
MyThemeLabel.Position = UDim2.new(0, 6, 0, 62)
MyThemeLabel.BackgroundTransparency = 1
MyThemeLabel.Font = Enum.Font.SourceSans
MyThemeLabel.Text = "My Theme ID"
MyThemeLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
MyThemeLabel.TextSize = 10
MyThemeLabel.TextXAlignment = Enum.TextXAlignment.Left
MyThemeLabel.ZIndex = 21
MyThemeLabel.Parent = SlidePanel
local MyThemeBox = Instance.new("TextBox")
MyThemeBox.Name = "MyThemeBox"
MyThemeBox.Size = UDim2.new(1, -12, 0, 18)
MyThemeBox.Position = UDim2.new(0, 6, 0, 76)
MyThemeBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
MyThemeBox.BorderSizePixel = 0
MyThemeBox.Font = Enum.Font.SourceSans
MyThemeBox.Text = currentMusicID
MyThemeBox.PlaceholderText = "asset id"
MyThemeBox.TextColor3 = PURPLE
MyThemeBox.TextSize = 10
MyThemeBox.ClearTextOnFocus = false
MyThemeBox.ZIndex = 21
MyThemeBox.Parent = SlidePanel
addStroke(MyThemeBox, 1)
local WalkSpeedLabel = Instance.new("TextLabel")
WalkSpeedLabel.Size = UDim2.new(1, -12, 0, 12)
WalkSpeedLabel.Position = UDim2.new(0, 6, 0, 100)
WalkSpeedLabel.BackgroundTransparency = 1
WalkSpeedLabel.Font = Enum.Font.SourceSans
WalkSpeedLabel.Text = "WalkSpeed"
WalkSpeedLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
WalkSpeedLabel.TextSize = 10
WalkSpeedLabel.TextXAlignment = Enum.TextXAlignment.Left
WalkSpeedLabel.ZIndex = 21
WalkSpeedLabel.Parent = SlidePanel
local WalkSpeedBox = Instance.new("TextBox")
WalkSpeedBox.Name = "WalkSpeedBox"
WalkSpeedBox.Size = UDim2.new(1, -12, 0, 18)
WalkSpeedBox.Position = UDim2.new(0, 6, 0, 114)
WalkSpeedBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
WalkSpeedBox.BorderSizePixel = 0
WalkSpeedBox.Font = Enum.Font.SourceSans
WalkSpeedBox.Text = "16"
WalkSpeedBox.PlaceholderText = "16"
WalkSpeedBox.TextColor3 = PURPLE
WalkSpeedBox.TextSize = 10
WalkSpeedBox.ClearTextOnFocus = false
WalkSpeedBox.ZIndex = 21
WalkSpeedBox.Parent = SlidePanel
addStroke(WalkSpeedBox, 1)
local JumpPowerLabel = Instance.new("TextLabel")
JumpPowerLabel.Size = UDim2.new(1, -12, 0, 12)
JumpPowerLabel.Position = UDim2.new(0, 6, 0, 138)
JumpPowerLabel.BackgroundTransparency = 1
JumpPowerLabel.Font = Enum.Font.SourceSans
JumpPowerLabel.Text = "JumpPower"
JumpPowerLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
JumpPowerLabel.TextSize = 10
JumpPowerLabel.TextXAlignment = Enum.TextXAlignment.Left
JumpPowerLabel.ZIndex = 21
JumpPowerLabel.Parent = SlidePanel
local JumpPowerBox = Instance.new("TextBox")
JumpPowerBox.Name = "JumpPowerBox"
JumpPowerBox.Size = UDim2.new(1, -12, 0, 18)
JumpPowerBox.Position = UDim2.new(0, 6, 0, 152)
JumpPowerBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
JumpPowerBox.BorderSizePixel = 0
JumpPowerBox.Font = Enum.Font.SourceSans
JumpPowerBox.Text = "50"
JumpPowerBox.PlaceholderText = "50"
JumpPowerBox.TextColor3 = PURPLE
JumpPowerBox.TextSize = 10
JumpPowerBox.ClearTextOnFocus = false
JumpPowerBox.ZIndex = 21
JumpPowerBox.Parent = SlidePanel
addStroke(JumpPowerBox, 1)
local ApplyButton = Instance.new("TextButton")
ApplyButton.Name = "ApplyButton"
ApplyButton.Size = UDim2.new(1, -12, 0, 20)
ApplyButton.Position = UDim2.new(0, 6, 0, 178)
ApplyButton.BackgroundColor3 = Color3.fromRGB(60, 0, 90)
ApplyButton.BorderSizePixel = 0
ApplyButton.Font = Enum.Font.SourceSansBold
ApplyButton.Text = "Apply"
ApplyButton.TextColor3 = PURPLE
ApplyButton.TextSize = 10
ApplyButton.ZIndex = 21
ApplyButton.Parent = SlidePanel
addStroke(ApplyButton, 1)
local ResetButton = Instance.new("TextButton")
ResetButton.Name = "ResetButton"
ResetButton.Size = UDim2.new(1, -12, 0, 18)
ResetButton.Position = UDim2.new(0, 6, 0, 202)
ResetButton.BackgroundColor3 = Color3.fromRGB(60, 30, 30)
ResetButton.BorderSizePixel = 0
ResetButton.Font = Enum.Font.SourceSansBold
ResetButton.Text = "Reset speed/jump"
ResetButton.TextColor3 = PURPLE
ResetButton.TextSize = 10
ResetButton.ZIndex = 21
ResetButton.Parent = SlidePanel
addStroke(ResetButton, 1)
ApplyButton.MouseButton1Click:Connect(function()
local decalRaw = string.match(MyDecalBox.Text or "", "%d+")
if decalRaw then currentMyDecalID = decalRaw; MyDecalBox.Text = decalRaw end
local themeRaw = string.match(MyThemeBox.Text or "", "%d+")
if themeRaw then currentMusicID = themeRaw; MyThemeBox.Text = themeRaw end
local ws = tonumber(WalkSpeedBox.Text)
local char = player.Character
if char then
local h = char:FindFirstChildOfClass("Humanoid")
if h and ws then
h.WalkSpeed = math.clamp(ws, 0, 1000)
end
local jp = tonumber(JumpPowerBox.Text)
if h and jp then
pcall(function() h.UseJumpPower = true end)
h.JumpPower = math.clamp(jp, 0, 1000)
end
end
end)
ResetButton.MouseButton1Click:Connect(function()
local char = player.Character
if char then
local h = char:FindFirstChildOfClass("Humanoid")
if h then
h.WalkSpeed = 16
h.JumpPower = 50
WalkSpeedBox.Text = "16"
JumpPowerBox.Text = "50"
end
end
end)
MyDecalBox.FocusLost:Connect(function()
local raw = string.match(MyDecalBox.Text or "", "%d+")
if raw then currentMyDecalID = raw; MyDecalBox.Text = raw
else MyDecalBox.Text = currentMyDecalID end
end)
MyThemeBox.FocusLost:Connect(function()
local raw = string.match(MyThemeBox.Text or "", "%d+")
if raw then currentMusicID = raw; MyThemeBox.Text = raw
else MyThemeBox.Text = currentMusicID end
end)
-- ============================================================
-- ARROW TOGGLE
-- ============================================================
local isPanelOpen = false
local isAnimating = false
local basePosition = UDim2.new(0.5, -GUI_WIDTH/2, 0.15, 0)
ArrowButton.MouseButton1Click:Connect(function()
if isAnimating then return end
isAnimating = true
isPanelOpen = not isPanelOpen
ArrowButton.Text = isPanelOpen and "◄" or "►"
local targetPos
if isPanelOpen then
targetPos = UDim2.new(0.5, -GUI_WIDTH/2 - PANEL_W, 0.15, 0)
SlidePanel.Visible = true
SlidePanel.Active = true
SlidePanel.Selectable = true
else
targetPos = basePosition
SlidePanel.Visible = false
SlidePanel.Active = false
SlidePanel.Selectable = false
end
local tween = TweenService:Create(
MainFrame,
TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{ Position = targetPos }
)
tween.Completed:Connect(function()
isAnimating = false
end)
tween:Play()
end)
giveBtoolsBtn.MouseButton1Click:Connect(giveBtools)
clearSkyboxBtn.MouseButton1Click:Connect(function()
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") and (v.Name == "Sky" or v.Name == "SkyAnchor") then
pcall(function() v:Destroy() end)
end
end
end)No comments yet for this script.



