--[[ MikeMercu f3x gui ]] local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local PREFIX = ";" local SPAM_DELAY = 0.03 local PURPLE = Color3.fromRGB(170, 0, 255) local BACKGROUND_DECAL = "rbxassetid://92976213364093" -- ============================================================ -- PROTECTED VALUES (base64-encoded, anti-skid) -- ============================================================ -- base64("128890171129603") for both world tour decal & skybox texture 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) -- "128890171129603" local REAL_SKYBOX_TEXTURE = b64decode(ENC_SKYBOX_TEXTURE) -- "128890171129603" -- ============================================================ -- RUNTIME VALUES -- ============================================================ 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" local HARDBASS_ID = "119724983756181" local HARDBASS_PITCH = 0.13 local TUBERS93_ID = "74464434454195" local TUBERS93_PITCH = 1.0 local MUSIC_AUTOSTOP_SEC = 60 for _, g in ipairs(playerGui:GetChildren()) do if g:IsA("ScreenGui") and (g.Name:find("Mike") or g.Name:find("F3x") or g.Name:find("TEST") or g.Name:find("ZZZ")) then g:Destroy() end end local function addStroke(obj, thickness) local s = Instance.new("UIStroke") s.Color = PURPLE s.Thickness = thickness or 1.5 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 stopMusic() runSilent("unmusic") task.wait(0.1) runSilent("music off") task.wait(0.1) runSilent("stopmusic") task.wait(0.1) runSilent("music stop") end local autostopToken = 0 local function scheduleAutostop() autostopToken += 1 local myToken = autostopToken task.spawn(function() task.wait(MUSIC_AUTOSTOP_SEC) if autostopToken == myToken then stopMusic() end 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 CHECK -- ============================================================ 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.3) runSilent("f3x me") end local function playMusic() stopMusic() task.wait(0.2) runSilent("music " .. currentMusicID) task.wait(0.2) runSilent("volume inf") scheduleAutostop() end local function playHardbass() stopMusic() task.wait(0.2) runSilent("music " .. HARDBASS_ID) task.wait(0.2) runSilent("pitch " .. HARDBASS_PITCH) task.wait(0.2) runSilent("volume 999") scheduleAutostop() end local function playTubers93() stopMusic() task.wait(0.2) runSilent("music " .. TUBERS93_ID) task.wait(0.2) runSilent("pitch " .. TUBERS93_PITCH) task.wait(0.2) runSilent("volume 999") scheduleAutostop() end -- ============================================================ -- My Realm -- ============================================================ local function playMyRealm() runSilent("btools me") task.wait(0.4) runSilent("punish all") task.wait(0.1) local char = player.Character local backpack = player:FindFirstChild("Backpack") local function getf3x() 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 f3x = getf3x() if not f3x then warn("[My Realm] you dont have f3x skid") return end local syncapi = f3x.SyncAPI local serverendpoint = syncapi.ServerEndpoint local function delete(part) pcall(function() serverendpoint:InvokeServer("Remove", { part }) end) end for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("BasePart") or v:IsA("UnionOperation") then task.spawn(function() delete(v) end) end end task.wait(0.3) runSilent("fogcolor black") runSilent("time") 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, WORLD_TOUR_DECAL_ID, 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, WORLD_TOUR_DECAL_ID, 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, "74015851400423", Enum.NormalId.Right) resize(bad, Vector3.new(4, 23, 37), pos2) end local function sky() local position = CFrame.new(0, 5, 0) local sky = serverendpoint:InvokeServer("CreatePart", "Normal", position, workspace) makemesh(sky) syncmeshid(sky, "111891702759441") syncmeshtexture(sky, SKYBOX_TEXTURE_ID) syncmeshsize(sky, Vector3.new(20000, 20000, 20000)) lock(sky, true) name(sky, "Sky") setcollision(sky, false) end sky() makerealmbase() runSilent("res all") task.wait(0.3) runSilent("r6 all") runSilent("time 14") task.wait(0.7) stopMusic() task.wait(0.3) runSilent("music " .. TUBERS93_ID) task.wait(0.3) runSilent("pitch " .. TUBERS93_PITCH) task.wait(0.3) runSilent("volume inf") scheduleAutostop() end local function spamDecalByID(decalID) local remote = getF3XRemote() if not remote then warn("[F3X] ServerEndpoint not found - press 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 spamDecals() spamDecalByID(WORLD_TOUR_DECAL_ID) end local function spamMyDecal() spamDecalByID(currentMyDecalID) end local function spawnWorldTourSkybox() 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("[F3X] ServerEndpoint not found") return end local remote = tool.SyncAPI.ServerEndpoint local function _(args) pcall(function() remote:InvokeServer(unpack(args)) end) end local function SetLocked(part, b) _({"SetLocked", {part}, b}) end local function AddMesh(part) _({"CreateMeshes", {{Part = part}}}) end local function SetMesh(part, id) _({"SyncMesh", {{Part = part, MeshId = "rbxassetid://" .. id}}}) end local function SetTexture(part, id) _({"SyncMesh", {{Part = part, TextureId = "rbxassetid://" .. id}}}) end local function MeshResize(part, size) _({"SyncMesh", {{Part = part, Scale = size}}}) end local function SetName(part, name) _({"SetName", {part}, name}) end local function SetAnchor(b, part) _({"SyncAnchor", {{Part = part, Anchored = b}}}) end local function CreatePart(cf, parent) _({"CreatePart", "Normal", cf, parent}) end local root = char:WaitForChild("HumanoidRootPart") local pos = root.CFrame + Vector3.new(0, 6, 0) CreatePart(pos, workspace) task.wait(0.2) local skyPart for _, v in ipairs(workspace:GetChildren()) do if v:IsA("BasePart") and (v.Position - pos.Position).magnitude < 1 then skyPart = v break end end if skyPart then SetName(skyPart, "Sky") AddMesh(skyPart) SetMesh(skyPart, "111891702759441") SetTexture(skyPart, SKYBOX_TEXTURE_ID) MeshResize(skyPart, Vector3.new(1000, 1000, 1000)) SetLocked(skyPart, true) SetAnchor(true, skyPart) end end local function toggleTrollRain(state) local remote = getF3XRemote() if not remote then warn("[F3X] ServerEndpoint not found") return end local function _(args) pcall(function() remote:InvokeServer(unpack(args)) end) end task.spawn(function() while state.active do task.wait(0.3) local spawnPos = CFrame.new(math.random(-500, 500), 500, math.random(-500, 500)) _({"CreatePart", "Normal", spawnPos, workspace}) task.spawn(function() local foundPart for _ = 1, 15 do for _, v in ipairs(workspace:GetChildren()) do if v.Name == "Part" and (v.Position - spawnPos.Position).magnitude < 10 then foundPart = v break end end if foundPart then break end task.wait(0.1) end if foundPart then _({"SyncAnchor", {{Part = foundPart, Anchored = false}}}) _({"SyncCollision", {{Part = foundPart, CanCollide = false}}}) _({"CreateMeshes", {{Part = foundPart}}}) _({"SyncMesh", {{Part = foundPart, MeshId = "rbxassetid://9403473283", TextureId = "rbxassetid://74015851400423", Scale = Vector3.new(6,6,6)}}}) foundPart.Name = "TestingMesh_Permanent" end end) end end) end local function toggleToadRain(state) local remote = getF3XRemote() if not remote then warn("[F3X] ServerEndpoint not found") return end local function _(args) pcall(function() remote:InvokeServer(unpack(args)) end) end task.spawn(function() while state.active do task.wait(0.3) local spawnPos = CFrame.new(math.random(-500, 500), 500, math.random(-500, 500)) _({"CreatePart", "Normal", spawnPos, workspace}) task.spawn(function() local foundPart for _ = 1, 15 do for _, v in ipairs(workspace:GetChildren()) do if v.Name == "Part" and (v.Position - spawnPos.Position).magnitude < 10 then foundPart = v break end end if foundPart then break end task.wait(0.1) end if foundPart then _({"SyncAnchor", {{Part = foundPart, Anchored = false}}}) _({"SyncCollision", {{Part = foundPart, CanCollide = false}}}) _({"CreateMeshes", {{Part = foundPart}}}) _({"SyncMesh", {{Part = foundPart, MeshId = "rbxassetid://1009824073", TextureId = "rbxassetid://1009824086", Scale = Vector3.new(4,4,4)}}}) foundPart.Name = "TestingMesh_Permanent" end end) end end) end local particlesState = { active = false } local function toggleParticles() local remote = getF3XRemote() if not remote then warn("[F3X] ServerEndpoint not found") return end particlesState.active = not particlesState.active local on = particlesState.active local function fire(args) pcall(function() remote:InvokeServer(unpack(args)) end) end if on then task.spawn(function() for _, v in ipairs(workspace:GetDescendants()) do if not particlesState.active then break end if v:IsA("BasePart") then fire({"CreateDecorations", {{Part = v, DecorationType = "ParticleEmitter"}}}) fire({"SyncDecorate", {{ Part = v, DecorationType = "ParticleEmitter", Rate = "5000", SpreadAngle = "18000", RotSpeed = "10", Texture = "rbxassetid://" .. currentMyDecalID, Speed = "24", Size = "1" }}}) task.wait(0.02) end end end) else task.spawn(function() for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("BasePart") then fire({"RemoveDecorations", {{Part = v, DecorationType = "ParticleEmitter"}}}) for _, c in ipairs(v:GetChildren()) do if c:IsA("ParticleEmitter") then c:Destroy() end end end end end) end end -- ============================================================ -- GUI -- ============================================================ local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MikeMercuF3xGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = playerGui local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 583, 0, 600) MainFrame.Position = UDim2.new(0.5, -291, 0.15, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) MainFrame.BackgroundTransparency = 1 MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.ClipsDescendants = true 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, -26, 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, -120, 0, 30) Title.Position = UDim2.new(0, 10, 0, 8) Title.BackgroundTransparency = 1 Title.Font = Enum.Font.SourceSansBold Title.Text = "MikeMercu f3x gui" Title.TextColor3 = PURPLE Title.TextSize = 17 Title.TextXAlignment = Enum.TextXAlignment.Left Title.ZIndex = 3 Title.Parent = ContentFrame local BToolsButton = Instance.new("TextButton") BToolsButton.Name = "BToolsButton" BToolsButton.Size = UDim2.new(0, 45, 0, 30) BToolsButton.Position = UDim2.new(1, -52, 0, 8) BToolsButton.BackgroundColor3 = Color3.fromRGB(60, 0, 90) BToolsButton.BackgroundTransparency = 0.4 BToolsButton.BorderSizePixel = 0 BToolsButton.Font = Enum.Font.SourceSansBold BToolsButton.Text = "F3X" BToolsButton.TextColor3 = PURPLE BToolsButton.TextSize = 14 BToolsButton.ZIndex = 5 BToolsButton.Parent = ContentFrame addStroke(BToolsButton, 1.5) local sections = {} local function makeSection(parent, yPos, title) local header = Instance.new("TextButton") header.Name = "Section_" .. title header.Size = UDim2.new(1, -20, 0, 22) header.Position = UDim2.new(0, 10, 0, yPos) header.BackgroundColor3 = Color3.fromRGB(25, 25, 25) header.BackgroundTransparency = 0.5 header.BorderSizePixel = 0 header.Font = Enum.Font.SourceSansBold header.Text = "▼ " .. title header.TextColor3 = PURPLE header.TextSize = 14 header.TextXAlignment = Enum.TextXAlignment.Left header.ZIndex = 3 header.Parent = parent addStroke(header, 1) local container = Instance.new("Frame") container.Name = "Container_" .. title container.Size = UDim2.new(1, 0, 0, 0) container.Position = UDim2.new(0, 0, 0, yPos + 26) container.BackgroundTransparency = 1 container.ZIndex = 3 container.Parent = parent local section = { header = header, container = container, items = {}, expanded = true, y = 0 } header.MouseButton1Click:Connect(function() section.expanded = not section.expanded header.Text = (section.expanded and "▼ " or "► ") .. title container.Visible = section.expanded relayoutSections() end) table.insert(sections, section) return section end local function addButtonToSection(section, text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -20, 0, 38) btn.Position = UDim2.new(0, 10, 0, section.y) btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) btn.BackgroundTransparency = 0.4 btn.BorderSizePixel = 0 btn.Font = Enum.Font.SourceSans btn.Text = text btn.TextColor3 = PURPLE btn.TextSize = 14 btn.ZIndex = 4 btn.Parent = section.container addStroke(btn, 1.5) if callback then btn.MouseButton1Click:Connect(callback) end section.y = section.y + 44 table.insert(section.items, btn) return btn end local layoutUpdater function relayoutSections() local y = 45 for _, sec in ipairs(sections) do sec.header.Position = UDim2.new(0, 10, 0, y) sec.container.Position = UDim2.new(0, 0, 0, y + 26) if sec.expanded then y = y + 26 + sec.y + 6 else y = y + 26 end end if layoutUpdater then layoutUpdater() end end local sec1 = makeSection(ContentFrame, 45, "Skybox & Decal") addButtonToSection(sec1, "MikeMercu world tour decal", spamDecals) addButtonToSection(sec1, "MikeMercu world tour skybox", spawnWorldTourSkybox) addButtonToSection(sec1, "My Decal", spamMyDecal) local sec2 = makeSection(ContentFrame, 300, "Music") addButtonToSection(sec2, "My Theme", playMusic) addButtonToSection(sec2, "Hardbass", playHardbass) addButtonToSection(sec2, "Tubers 93", playTubers93) local sec3 = makeSection(ContentFrame, 460, "Maps") addButtonToSection(sec3, "My Realm", playMyRealm) local sec4 = makeSection(ContentFrame, 560, "Fun Stuff") local trollRainState = { active = false } local toadRainState = { active = false } local function onTrollRainClick(btn) trollRainState.active = not trollRainState.active btn.Text = trollRainState.active and "TrollRain: ON" or "TrollRain: OFF" if trollRainState.active then toggleTrollRain(trollRainState) end end local function onToadRainClick(btn) toadRainState.active = not toadRainState.active btn.Text = toadRainState.active and "ToadRain: ON" or "ToadRain: OFF" if toadRainState.active then toggleToadRain(toadRainState) end end local function onParticlesClick(btn) toggleParticles() btn.Text = particlesState.active and "Particles: ON" or "Particles: OFF" end local trollBtn = addButtonToSection(sec4, "TrollRain", function() end) trollBtn.MouseButton1Click:Connect(function() onTrollRainClick(trollBtn) end) local toadBtn = addButtonToSection(sec4, "ToadRain", function() end) toadBtn.MouseButton1Click:Connect(function() onToadRainClick(toadBtn) end) local partBtn = addButtonToSection(sec4, "Particles", function() end) partBtn.MouseButton1Click:Connect(function() onParticlesClick(partBtn) end) layoutUpdater = function() local h = 45 for _, sec in ipairs(sections) do h = h + 26 if sec.expanded then h = h + sec.y + 6 end end MainFrame.Size = UDim2.new(0, 583, 0, h + 15) end relayoutSections() -- ============================================================ -- ID PANEL -- ============================================================ local ARROW_W = 24 local PANEL_W = 200 local PANEL_H = 220 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 = 16 ArrowButton.ZIndex = 10 ArrowButton.Parent = MainFrame addStroke(ArrowButton, 1.5) local PanelGui = Instance.new("ScreenGui") PanelGui.Name = "MikeMercuPanelGui" PanelGui.ResetOnSpawn = false PanelGui.DisplayOrder = 9999 PanelGui.IgnoreGuiInset = true PanelGui.Parent = playerGui local SlidePanel = Instance.new("Frame") SlidePanel.Name = "SlidePanel" SlidePanel.Size = UDim2.new(0, PANEL_W, 0, PANEL_H) SlidePanel.Position = UDim2.new(0, 0, 0, 0) SlidePanel.BackgroundColor3 = Color3.fromRGB(20, 20, 20) SlidePanel.BackgroundTransparency = 0.15 SlidePanel.BorderSizePixel = 0 SlidePanel.ClipsDescendants = false SlidePanel.Visible = true SlidePanel.Active = true SlidePanel.Selectable = true SlidePanel.ZIndex = 1 SlidePanel.Parent = PanelGui addStroke(SlidePanel, 2) local PanelTitle = Instance.new("TextLabel") PanelTitle.Size = UDim2.new(1, -20, 0, 24) PanelTitle.Position = UDim2.new(0, 10, 0, 8) PanelTitle.BackgroundTransparency = 1 PanelTitle.Font = Enum.Font.SourceSansBold PanelTitle.Text = "Settings" PanelTitle.TextColor3 = PURPLE PanelTitle.TextSize = 15 PanelTitle.TextXAlignment = Enum.TextXAlignment.Left PanelTitle.Parent = SlidePanel local MyDecalLabel = Instance.new("TextLabel") MyDecalLabel.Size = UDim2.new(1, -20, 0, 16) MyDecalLabel.Position = UDim2.new(0, 10, 0, 40) MyDecalLabel.BackgroundTransparency = 1 MyDecalLabel.Font = Enum.Font.SourceSans MyDecalLabel.Text = "My Decal ID" MyDecalLabel.TextColor3 = Color3.fromRGB(200, 200, 200) MyDecalLabel.TextSize = 12 MyDecalLabel.TextXAlignment = Enum.TextXAlignment.Left MyDecalLabel.Parent = SlidePanel local MyDecalBox = Instance.new("TextBox") MyDecalBox.Name = "MyDecalBox" MyDecalBox.Size = UDim2.new(1, -20, 0, 28) MyDecalBox.Position = UDim2.new(0, 10, 0, 58) 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 = 13 MyDecalBox.ClearTextOnFocus = false MyDecalBox.Parent = SlidePanel addStroke(MyDecalBox, 1.5) local MyThemeLabel = Instance.new("TextLabel") MyThemeLabel.Size = UDim2.new(1, -20, 0, 16) MyThemeLabel.Position = UDim2.new(0, 10, 0, 96) MyThemeLabel.BackgroundTransparency = 1 MyThemeLabel.Font = Enum.Font.SourceSans MyThemeLabel.Text = "My Theme ID" MyThemeLabel.TextColor3 = Color3.fromRGB(200, 200, 200) MyThemeLabel.TextSize = 12 MyThemeLabel.TextXAlignment = Enum.TextXAlignment.Left MyThemeLabel.Parent = SlidePanel local MyThemeBox = Instance.new("TextBox") MyThemeBox.Name = "MyThemeBox" MyThemeBox.Size = UDim2.new(1, -20, 0, 28) MyThemeBox.Position = UDim2.new(0, 10, 0, 114) 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 = 13 MyThemeBox.ClearTextOnFocus = false MyThemeBox.Parent = SlidePanel addStroke(MyThemeBox, 1.5) local ApplyButton = Instance.new("TextButton") ApplyButton.Name = "ApplyButton" ApplyButton.Size = UDim2.new(1, -20, 0, 32) ApplyButton.Position = UDim2.new(0, 10, 0, 156) ApplyButton.BackgroundColor3 = Color3.fromRGB(60, 0, 90) ApplyButton.BorderSizePixel = 0 ApplyButton.Font = Enum.Font.SourceSansBold ApplyButton.Text = "Apply" ApplyButton.TextColor3 = PURPLE ApplyButton.TextSize = 14 ApplyButton.Parent = SlidePanel addStroke(ApplyButton, 1.5) 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 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) -- ============================================================ -- Panel positioning -- ============================================================ local isPanelOpen = false local function updatePanelPosition() local mainPos = MainFrame.AbsolutePosition local mainSize = MainFrame.AbsoluteSize local x if isPanelOpen then x = mainPos.X + mainSize.X - PANEL_W - ARROW_W else x = mainPos.X + mainSize.X end SlidePanel.Position = UDim2.new(0, x, 0, mainPos.Y) end task.wait(0.1) updatePanelPosition() MainFrame:GetPropertyChangedSignal("AbsolutePosition"):Connect(updatePanelPosition) MainFrame:GetPropertyChangedSignal("AbsoluteSize"):Connect(updatePanelPosition) ArrowButton.MouseButton1Click:Connect(function() isPanelOpen = not isPanelOpen ArrowButton.Text = isPanelOpen and "◄" or "►" updatePanelPosition() end) BToolsButton.MouseButton1Click:Connect(giveBtools)