local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local ASSET_ID = 132793326803424 local isScriptActive = false local currentMdl = nil local syncConn = nil local function loadAsset(id) local ok, objects = pcall(game.GetObjects, game, "rbxassetid://" .. id) if not ok or not objects or #objects == 0 then return nil end return objects[1]:Clone() end local function getPlayerModel() local playersFolder = workspace:FindFirstChild("Players") return playersFolder and playersFolder:FindFirstChild(player.Name) end local function isTails() local model = getPlayerModel() return model and model:GetAttribute("Character") == "Tails" end local function setupViewport() task.spawn(function() local viewportFrame = player.PlayerGui :WaitForChild("Round", 30) :WaitForChild("Game", 30) :WaitForChild("SurvivorHP", 30) :WaitForChild("ViewportFrame", 30) if not viewportFrame then return end local viewportModel = viewportFrame :WaitForChild("WorldModel", 30) :WaitForChild("Default", 30) if not viewportModel then return end local vpOverrideModel = nil local function replaceViewportModel() local ok, objects = pcall(game.GetObjects, game, "rbxassetid://" .. 132793326803424) if not ok or #objects == 0 then return end if vpOverrideModel and vpOverrideModel.Parent then vpOverrideModel:Destroy() vpOverrideModel = nil end local newModel = objects[1]:Clone() vpOverrideModel = newModel for _, part in ipairs(viewportModel:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.Transparency = 1 end end local newHum = newModel:FindFirstChildOfClass("Humanoid") if newHum then newHum:Destroy() end for _, v in ipairs(newModel:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end newModel.Parent = viewportModel local viewportHRP = viewportModel:FindFirstChild("HumanoidRootPart") local primaryPart = newModel.PrimaryPart or newModel:FindFirstChildWhichIsA("BasePart") if viewportHRP and primaryPart then newModel:PivotTo(viewportHRP.CFrame) primaryPart.Transparency = 1 local weld = Instance.new("WeldConstraint") weld.Part0 = viewportHRP weld.Part1 = primaryPart weld.Parent = viewportHRP end end replaceViewportModel() viewportModel.DescendantAdded:Connect(function() task.wait(0.1) if not vpOverrideModel or not vpOverrideModel.Parent then vpOverrideModel = nil replaceViewportModel() end end) end) end local function setupCharacter(char) if not isScriptActive then return end if syncConn then syncConn:Disconnect() syncConn = nil end if currentMdl and currentMdl.Parent then currentMdl:Destroy() currentMdl = nil end for _, v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 1 end end local playersFolder = workspace:FindFirstChild("Players") local oldVisual = playersFolder and playersFolder:FindFirstChild(player.Name) if oldVisual then for _, v in ipairs(oldVisual:GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 1 end end end local mdl = loadAsset(ASSET_ID) if not mdl then return end if oldVisual then mdl.Parent = oldVisual else mdl.Parent = char end local hrp = char:FindFirstChild("HumanoidRootPart") local newHrp = mdl:FindFirstChild("HumanoidRootPart") if not hrp or not newHrp then mdl:Destroy() return end newHrp.Anchored = true newHrp.Transparency = 1 local mdlHum = mdl:FindFirstChildOfClass("Humanoid") if mdlHum then mdlHum:Destroy() end local mdlAnim = mdl:FindFirstChildOfClass("Animator") if mdlAnim then mdlAnim:Destroy() end for _, v in ipairs(mdl:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false if v.Name == "HumanoidRootPart" or v.Name == "Waist" then v.Transparency = 1 end elseif v:IsA("Trail") or v:IsA("Beam") then v.Enabled = false end end newHrp.CFrame = hrp.CFrame currentMdl = mdl syncConn = RunService.Stepped:Connect(function() if not char.Parent or not hrp.Parent or not newHrp.Parent then if syncConn then syncConn:Disconnect() end return end newHrp.CFrame = hrp.CFrame end) task.spawn(function() while char and char.Parent and isScriptActive do if oldVisual and oldVisual.Parent then local defaultFolder = oldVisual:FindFirstChild("Default") if defaultFolder then local waist = defaultFolder:FindFirstChild("Waist") local hrpDef = defaultFolder:FindFirstChild("HumanoidRootPart") if waist and waist:IsA("BasePart") then waist.Transparency = 1 end if hrpDef and hrpDef:IsA("BasePart") then hrpDef.Transparency = 1 end end end task.wait(0.1) end end) end local function startScript() if isScriptActive then return end task.wait(3) isScriptActive = true setupViewport() if character then setupCharacter(character) end end local function stopScript() if not isScriptActive then return end isScriptActive = false if syncConn then syncConn:Disconnect() syncConn = nil end if currentMdl and currentMdl.Parent then currentMdl:Destroy() currentMdl = nil end if character then for _, v in ipairs(character:GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 0 end end end end player.CharacterAdded:Connect(function(newChar) character = newChar if isScriptActive then task.wait(1) setupCharacter(newChar) setupViewport() end end) local isCurrentlyTails = false RunService.Heartbeat:Connect(function() local check = isTails() if check ~= isCurrentlyTails then isCurrentlyTails = check if isCurrentlyTails then startScript() else stopScript() end end end) if isTails() then isCurrentlyTails = true startScript() end local function loadCustomAsset(url, filename) if not isfile(filename) then writefile(filename, game:HttpGet(url)) end return getcustomasset(filename) end local CUSTOM_MUSIC = loadCustomAsset( "https://github.com/monicagalindo-wq/RECUP/raw/refs/heads/main/MegaMiles.mp3", "MegaMiles.mp3" ) task.spawn(function() local theme = game:GetService("ReplicatedStorage") :FindFirstChild("ClientAssets") and game.ReplicatedStorage.ClientAssets:FindFirstChild("Sounds") and game.ReplicatedStorage.ClientAssets.Sounds:FindFirstChild("mus") and game.ReplicatedStorage.ClientAssets.Sounds.mus:FindFirstChild("Game") and game.ReplicatedStorage.ClientAssets.Sounds.mus.Game:FindFirstChild("Round") and game.ReplicatedStorage.ClientAssets.Sounds.mus.Game.Round:FindFirstChild("SoloTheme") and game.ReplicatedStorage.ClientAssets.Sounds.mus.Game.Round.SoloTheme:FindFirstChild("TailsSolo") if not theme then return end theme.SoundId = CUSTOM_MUSIC theme.Volume = 1.5 theme.Looped = true end)