
Keyless

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 = 123314955660361
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://" .. 123314955660361)
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


como lo descargo?
como ejecuto el script