local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local VirtualInputManager = game:GetService("VirtualInputManager") local SCRIPT_VERSION = 6.2 local function createWaitingText() local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "WaitingGui" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui local waitingLabel = Instance.new("TextLabel") waitingLabel.Size = UDim2.new(0, 400, 0, 60) waitingLabel.Position = UDim2.new(0.5, -200, 0.5, -30) waitingLabel.BackgroundTransparency = 1 waitingLabel.Text = "I didn't really die..." waitingLabel.TextSize = 36 waitingLabel.Font = Enum.Font.GothamBold waitingLabel.TextScaled = false waitingLabel.Parent = screenGui local glow = Instance.new("ImageLabel") glow.Size = UDim2.new(1, 20, 1, 20) glow.Position = UDim2.new(0, -10, 0, -10) glow.BackgroundTransparency = 1 glow.Image = "rbxassetid://5028857082" glow.ImageColor3 = Color3.new(1, 1, 1) glow.ImageTransparency = 0.5 glow.ZIndex = waitingLabel.ZIndex - 1 glow.Parent = waitingLabel local hue = 0 local connection connection = RunService.Heartbeat:Connect(function() hue = (hue + 0.01) % 1 local color = Color3.fromHSV(hue, 1, 1) waitingLabel.TextColor3 = color glow.ImageColor3 = color end) return screenGui, connection end local function waitForSonic() local waitingGui, connection = createWaitingText() while true do local found = false for _, player in Players:GetPlayers() do local path = workspace:FindFirstChild("Players") if path then local playerFolder = path:FindFirstChild(player.Name) if playerFolder and playerFolder:FindFirstChild("Dodges") then found = true break end end end if found then if connection then connection:Disconnect() end if waitingGui then waitingGui:Destroy() end return end task.wait(0.1) end end waitForSonic() local function playChaosEmeraldIntro(loadRestCallback) local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local rootPart = char:WaitForChild("HumanoidRootPart") local chaosEmeraldsId = 127338011222921 local success, objects = pcall(game.GetObjects, game, "rbxassetid://" .. chaosEmeraldsId) if not success or #objects == 0 then warn("FTL CHAOS EMERALDS") return end local chaosModel = objects[1]:Clone() chaosModel.Name = "ChaosEmeraldsIntro" chaosModel.Parent = workspace local emeralds = {} for _, obj in ipairs(chaosModel:GetDescendants()) do if obj:IsA("MeshPart") then table.insert(emeralds, obj) obj.CanCollide = false obj.Anchored = false end end local radius = 8 local angleStep = (2 * math.pi) / #emeralds for i, emerald in ipairs(emeralds) do local angle = i * angleStep local x = math.cos(angle) * radius local z = math.sin(angle) * radius emerald.Position = rootPart.Position + Vector3.new(x, 2, z) end local spinSpeed = 0.2 local maxSpinSpeed = 3 local spinAcceleration = 0.6 local spinTime = 0 local maxSpinTime = 10 local spinConnection spinConnection = RunService.Heartbeat:Connect(function(deltaTime) spinTime += deltaTime if spinSpeed < maxSpinSpeed then spinSpeed = math.min(spinSpeed + spinAcceleration * deltaTime, maxSpinSpeed) end for i, emerald in ipairs(emeralds) do local angle = (i * angleStep) + (spinTime * spinSpeed) local x = math.cos(angle) * radius local z = math.sin(angle) * radius emerald.Position = rootPart.Position + Vector3.new(x, 2, z) end if spinTime >= maxSpinTime then spinConnection:Disconnect() for _, emerald in ipairs(emeralds) do local targetPos = rootPart.Position + Vector3.new(0, 1, 0) local tween = TweenService:Create(emerald, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Position = targetPos }) tween:Play() end task.wait(0.4) local thunderSound = workspace:FindFirstChild("LMSThunder") if thunderSound then thunderSound:Play() end local playerGui = player:WaitForChild("PlayerGui") local flashGui = Instance.new("ScreenGui") flashGui.Name = "TransformationFlash" flashGui.ResetOnSpawn = false flashGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling flashGui.Parent = playerGui local flashFrame = Instance.new("Frame") flashFrame.Size = UDim2.new(1, 0, 1, 0) flashFrame.Position = UDim2.new(0, 0, 0, 0) flashFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) flashFrame.BackgroundTransparency = 1 flashFrame.BorderSizePixel = 0 flashFrame.Parent = flashGui local flashIn = TweenService:Create(flashFrame, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local flashOut = TweenService:Create(flashFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { BackgroundTransparency = 1 }) flashIn:Play() flashIn.Completed:Connect(function() flashOut:Play() flashOut.Completed:Connect(function() flashGui:Destroy() end) end) task.wait(0.5) if chaosModel and chaosModel.Parent then chaosModel:Destroy() end if loadRestCallback then loadRestCallback() end end end) end local function loadRest() task.spawn(function() local targetId = "rbxassetid://136212496176401" local replacementId = "rbxassetid://139781718376707" local thunderSound = workspace:FindFirstChild("LMSThunder") if not thunderSound then thunderSound = Instance.new("Sound") thunderSound.Name = "LMSThunder" thunderSound.SoundId = "rbxassetid://6734393210" thunderSound.Volume = 1 thunderSound.Parent = workspace end local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "ThunderstrikeEffect" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui local flashFrame = Instance.new("Frame") flashFrame.Size = UDim2.new(1, 0, 1, 0) flashFrame.Position = UDim2.new(0, 0, 0, 0) flashFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) flashFrame.BackgroundTransparency = 1 flashFrame.BorderSizePixel = 0 flashFrame.Parent = screenGui local function createLightningBolt() local lightning = Instance.new("Frame") lightning.BorderSizePixel = 0 lightning.BackgroundColor3 = Color3.fromRGB(200, 200, 255) lightning.Parent = screenGui local startX = math.random(0, 1) local startY = 0 local endX = startX + (math.random(-0.3, 0.3)) local endY = 1 local currentX = startX local currentY = startY for i = 1, 5 do local nextX = currentX + (endX - startX) / 5 + (math.random(-0.1, 0.1)) local nextY = currentY + (endY - startY) / 5 local segment = Instance.new("Frame") segment.BorderSizePixel = 0 segment.BackgroundColor3 = Color3.fromRGB(200, 200, 255) local length = math.sqrt((nextX - currentX)^2 + (nextY - currentY)^2) local angle = math.atan2(nextY - currentY, nextX - currentX) segment.Size = UDim2.new(0, length * screenGui.AbsoluteSize.X, 0, math.random(2, 6)) segment.Position = UDim2.new(currentX, 0, currentY, 0) segment.Rotation = math.deg(angle) segment.Parent = lightning currentX = nextX currentY = nextY end return lightning end local function thunderstrike() thunderSound:Play() local lightnings = {} for i = 1, math.random(2, 4) do local lightning = createLightningBolt() table.insert(lightnings, lightning) end local flashIn = TweenService:Create(flashFrame, TweenInfo.new(0.05, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local flashOut = TweenService:Create(flashFrame, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { BackgroundTransparency = 1 }) flashIn:Play() flashIn.Completed:Connect(function() flashOut:Play() end) task.delay(0.1, function() for _, lightning in ipairs(lightnings) do if lightning and lightning.Parent then lightning:Destroy() end end end) end local wasPlaying = false while true do local theme = workspace:FindFirstChild("Assets") and workspace.Assets:FindFirstChild("Songs") and workspace.Assets.Songs:FindFirstChild("Theme80s") if theme then if theme.SoundId == targetId then theme.SoundId = replacementId theme.Volume = 2 theme.Looped = true theme.TimePosition = 1 theme.PlaybackSpeed = 0.99 theme:Play() end if theme.SoundId == replacementId and theme.IsPlaying then if theme.TimePosition >= theme.TimeLength - 0.2 then theme.TimePosition = 1 end end local isPlaying = theme.IsPlaying if isPlaying and not wasPlaying then thunderstrike() end wasPlaying = isPlaying end task.wait(0.2) end end) task.spawn(function() local LMSVoices = workspace:FindFirstChild("Trollface laugh") if not LMSVoices then LMSVoices = Instance.new("Sound") LMSVoices.Name = "LMSVoices" end LMSVoices.Volume = 0.8 LMSVoices.PlaybackSpeed = 1.1 LMSVoices.Parent = workspace local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui") local survivorsGui = Instance.new("ScreenGui") survivorsGui.Name = "SurvivorsLMS" survivorsGui.ResetOnSpawn = false survivorsGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling survivorsGui.Parent = playerGui local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled task.wait(0.1) local imageData = { {time = 100, id = "rbxassetid://130535056871189", position = UDim2.new(0.85, 0, 0.3, 0)}, {time = 105.5, id = "rbxassetid://134385725896369", position = UDim2.new(0.85, 0, 0.5, 0)}, {time = 110.9, id = "rbxassetid://78729983278720", position = UDim2.new(0.85, 0, 0.4, 0)}, {time = 114.5, id = "rbxassetid://126434676467453", position = UDim2.new(0.85, 0, 0.6, 0)}, {time = 120, id = "rbxassetid://108643637794395", position = UDim2.new(0.85, 0, 0.2, 0)}, {time = 125.5, id = "rbxassetid://118293343783035", position = UDim2.new(0.85, 0, 0.1, 0)} } local displayedImages = {} local allImagesDisplayed = false local finalImageTime = 0 local function thunderstrike() local thunderSound = workspace:FindFirstChild("LMSThunder") if thunderSound then thunderSound:Play() end local flashFrame = survivorsGui:FindFirstChild("ThunderFlash") if not flashFrame then flashFrame = Instance.new("Frame") flashFrame.Name = "ThunderFlash" flashFrame.Size = UDim2.new(1, 0, 1, 0) flashFrame.Position = UDim2.new(0, 0, 0, 0) flashFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) flashFrame.BackgroundTransparency = 1 flashFrame.BorderSizePixel = 0 flashFrame.Parent = survivorsGui end local flashIn = TweenService:Create(flashFrame, TweenInfo.new(0.05, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local flashOut = TweenService:Create(flashFrame, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { BackgroundTransparency = 1 }) flashIn:Play() flashIn.Completed:Connect(function() flashOut:Play() end) end local function showImage(imageData) if isMobile then for _, existingImage in ipairs(survivorsGui:GetChildren()) do if existingImage:IsA("ImageLabel") then existingImage:Destroy() end end end local imageLabel = Instance.new("ImageLabel") if isMobile then imageLabel.Size = UDim2.new(0, 25, 0, 25) local mobilePos = imageData.position mobilePos.X.Scale = mobilePos.X.Scale - 0.15 mobilePos.Y.Scale = mobilePos.Y.Scale - 0.05 imageLabel.Position = mobilePos else imageLabel.Size = UDim2.new(0, 150, 0, 150) imageLabel.Position = imageData.position end imageLabel.Image = imageData.id imageLabel.BackgroundTransparency = 1 imageLabel.ImageTransparency = 1 imageLabel.Parent = survivorsGui local fadeIn = TweenService:Create(imageLabel, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { ImageTransparency = 0.7 }) fadeIn:Play() table.insert(displayedImages, imageLabel) thunderstrike() end local function clearImages() for _, image in ipairs(displayedImages) do if image and image.Parent then local fadeOut = TweenService:Create(image, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { ImageTransparency = 1 }) fadeOut:Play() fadeOut.Completed:Connect(function() image:Destroy() end) end end displayedImages = {} allImagesDisplayed = false end local voiceClips = { {time = 96.4, id = "rbxassetid://18379039436"}, {time = 100, id = "rbxassetid://100201150967075"}, {time = 105.5, id = "rbxassetid://4721318688"}, {time = 110.9, id = "rbxassetid://6216681427"}, {time = 114.5, id = "rbxassetid://4721292472"}, {time = 120, id = "rbxassetid://85771528668355"}, {time = 125.5, id = "rbxassetid://120582910915795", duration = 3} } local songStartTime = 0 local playedClips = {} local isPlaying = false local imageShown = {} for i = 1, #imageData do imageShown[i] = false end local function resetClips() playedClips = {} for i = 1, #voiceClips do playedClips[i] = false end for i = 1, #imageData do imageShown[i] = false end clearImages() end local function playVoiceClip(clip) LMSVoices.SoundId = clip.id LMSVoices:Play() if clip.duration then task.delay(clip.duration, function() if LMSVoices.IsPlaying and LMSVoices.SoundId == clip.id then LMSVoices:Stop() end end) end end while true do local theme = workspace:FindFirstChild("Assets") and workspace.Assets:FindFirstChild("Songs") and workspace.Assets.Songs:FindFirstChild("Theme80s") if theme then if theme.IsPlaying and not isPlaying then songStartTime = tick() isPlaying = true resetClips() elseif not theme.IsPlaying and isPlaying then isPlaying = false end if isPlaying then local elapsedTime = (tick() - songStartTime) * theme.PlaybackSpeed for i, clip in ipairs(voiceClips) do if not playedClips[i] and elapsedTime >= clip.time then playVoiceClip(clip) playedClips[i] = true if i > 1 and i-1 <= #imageData and not imageShown[i-1] then showImage(imageData[i-1]) imageShown[i-1] = true if i-1 == #imageData then allImagesDisplayed = true finalImageTime = tick() task.delay(11, function() if allImagesDisplayed then thunderstrike() task.delay(0.5, function() clearImages() end) end end) end end end end if elapsedTime >= 150 then resetClips() if theme.Looped then songStartTime = tick() end end end end task.wait(0.05) end end) local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local rootPart = char:WaitForChild("HumanoidRootPart") local humanoid = char:WaitForChild("Humanoid") player.CharacterAdded:Connect(function(newChar) char = newChar rootPart = char:WaitForChild("HumanoidRootPart") humanoid = char:WaitForChild("Humanoid") end) local bronzeColor = Color3.fromRGB(253, 182, 21) local yellowColor = Color3.fromRGB(253, 182, 21) for _, partName in { "Cube.001","Cube.002","Cube.003","Cube.004","Ear1","Ear2","normal", "Body","LArm1","LArm2","LArm3","LArm4","LArm5", "LFoot1","LFoot2","LFoot3","LFoot4","LFoot5", "RArm1","RArm2","RArm3","RArm4","RArm5", "RLeg1","RLeg2","RLeg3","RLeg4","RLeg5", "left backspike","right backspike","tail" } do local part = char:FindFirstChild("hed") and char.hed:FindFirstChild(partName) or char:FindFirstChild(partName) if part and part:IsA("BasePart") then part.Material = Enum.Material.Neon part.Color = bronzeColor end end local function colorSpindash(model) if not model then return end for _,obj in model:GetDescendants() do if obj:IsA("BasePart") then obj.Material = Enum.Material.Neon obj.Color = bronzeColor end end end if char:FindFirstChild("Spindash") then colorSpindash(char.Spindash) end char.ChildAdded:Connect(function(child) if child.Name == "Spindash" then task.wait(0.1) colorSpindash(child) end end) local belly = char:WaitForChild("belly",10) if belly then if belly:FindFirstChildOfClass("PointLight") then belly:FindFirstChildOfClass("PointLight"):Destroy() end end local flying = false RunService.Stepped:Connect(function(_,delta) if not flying then if humanoid.MoveDirection.Magnitude > 0 then char:PivotTo(char:GetPivot() + humanoid.MoveDirection * delta * 20) end end end) local playerGui = player:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "BronzeFlyGui" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled local function createRejoinButton() local rejoinButton = Instance.new("ImageButton") rejoinButton.Name = "Rejoin" if isMobile then rejoinButton.Size = UDim2.new(0, 20, 0, 20) rejoinButton.Position = UDim2.new(1, -25, 0, 0) else rejoinButton.Size = UDim2.new(0, 80, 0, 80) rejoinButton.Position = UDim2.new(1, -100, 0, 20) end rejoinButton.AnchorPoint = Vector2.new(1, 0) rejoinButton.BackgroundTransparency = 1 rejoinButton.Image = "rbxassetid://72410974345101" rejoinButton.ImageColor3 = Color3.fromRGB(255, 100, 100) rejoinButton.Parent = screenGui local rejoinLabel = Instance.new("TextLabel") if isMobile then rejoinLabel.Size = UDim2.new(1, 0, 0.5, 0) rejoinLabel.Position = UDim2.new(0, 0, 0.8, 0) rejoinLabel.TextSize = 8 else rejoinLabel.Size = UDim2.new(1, 0, 0.3, 0) rejoinLabel.Position = UDim2.new(0, 0, 0.9, 0) rejoinLabel.TextSize = 14 end rejoinLabel.BackgroundTransparency = 1 rejoinLabel.Text = "Rejoin" rejoinLabel.TextColor3 = Color3.fromRGB(255, 100, 100) rejoinLabel.Font = Enum.Font.GothamBold rejoinLabel.TextScaled = false rejoinLabel.Parent = rejoinButton rejoinButton.MouseButton1Click:Connect(function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, Players.LocalPlayer) end) return rejoinButton end local rejoinButton = createRejoinButton() if isMobile then task.spawn(function() while true do task.wait(0.1) if screenGui and screenGui.Parent then local existingButton = screenGui:FindFirstChild("Rejoin") if existingButton and existingButton ~= rejoinButton then existingButton:Destroy() end end end end) end local bar = Instance.new("Frame") if isMobile then bar.Size = UDim2.new(0,144,0,192) bar.Position = UDim2.new(0,8,0.5,-96 - 40) else bar.Size = UDim2.new(0,300,0,440) bar.Position = UDim2.new(0,20,0.5,-220) end bar.BackgroundTransparency = 1 bar.Parent = screenGui local function createButton(x,y,color,name,key) local btn = Instance.new("ImageButton") if isMobile then btn.Size = UDim2.new(0,32,0,32) btn.Position = UDim2.new(0,x,0,y) else btn.Size = UDim2.new(0,80,0,80) btn.Position = UDim2.new(0,x,0,y) end btn.BackgroundTransparency = 1 btn.Image = "rbxassetid://72410974345101" btn.ImageColor3 = color btn.Parent = bar local nameLbl = Instance.new("TextLabel") nameLbl.Size = UDim2.new(1,0,0.3,0) nameLbl.Position = UDim2.new(0,0,0.9,0) nameLbl.BackgroundTransparency = 1 nameLbl.Text = name nameLbl.TextColor3 = color nameLbl.Font = Enum.Font.GothamB