Super Sonic fix by me and meta blox
Key Required

Super Sonic fix by me and meta blox

(ANNIVERSARY) Outcome Memories v0.2TheManuCcdxDTheManuCcdxD 2.7K views 3.3K executesUpdated Jun 30, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•633 lines (20000 chars)
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

Features & Information

Super sonic fix

Community Comments (2)

LordXofcytLordXofcytJul 13, 2026

Cool

Papertheoce9282Papertheoce9282Sep 8, 2026

It doesn't execute

More Scripts for (ANNIVERSARY) Outcome Memories v0.2