
Keyless

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local ASSET_ID = 124440001901414
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local isScriptActive = false
local syncConn = nil
local currentMdl = 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 waitForDodges()
while true do
local pf = workspace:FindFirstChild("Players")
if pf and pf:FindFirstChild(player.Name) and pf:FindFirstChild(player.Name):FindFirstChild("Dodges") then return end
task.wait(0.5)
end
end
local HIDE_PARTS = {
normal = true,
Ear1 = true,
Ear2 = true,
eyes = true,
eye1 = true,
eye2 = true,
muzzl = true,
nose = true,
angry = true,
["Sphere.017"] = true,
["Sphere.030"] = true,
["Cube.001"] = true,
["Cube.002"] = true,
["Cube.003"] = true,
["Cube.004"] = true,
["[UnionOperation] joy1"] = true,
["[UnionOperation] joy2"] = true,
}
-- el Pepe ete sech
local PARTIAL_PARTS = {
quill_three = 0.2,
quill_two = 0.2,
quill_twoo = 0.2,
topquill = 0.2,
weanegradabajo = 0.2,
}
local function getTransparency(name)
if HIDE_PARTS[name] then return 1 end
if PARTIAL_PARTS[name] then return PARTIAL_PARTS[name] end
return 0
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
local hrp = char:WaitForChild("HumanoidRootPart")
for _, v in ipairs(char:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 1
if v ~= hrp then v.CanCollide = false end
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 warn("me cago en todo1") return end
local newHrp = mdl:FindFirstChild("HumanoidRootPart")
if not newHrp then mdl:Destroy() return end
mdl.PrimaryPart = newHrp
if oldVisual then mdl.Parent = oldVisual else mdl.Parent = char end
currentMdl = mdl
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
v.Transparency = getTransparency(v.Name)
end
end
mdl:PivotTo(hrp.CFrame)
task.wait(0.1)
newHrp.Transparency = 1
local newWaist = mdl:FindFirstChild("Waist", true)
if newWaist then newWaist.Transparency = 1 end
-- MOTOR MAP
local motorMap = {}
local function buildMotorMap()
motorMap = {}
for _, oldMotor in ipairs(char:GetDescendants()) do
if oldMotor:IsA("Motor6D") then
local newMotor = nil
if oldMotor.Parent then
local mdlParent = mdl:FindFirstChild(oldMotor.Parent.Name, true)
if mdlParent then
newMotor = mdlParent:FindFirstChild(oldMotor.Name)
if not (newMotor and newMotor:IsA("Motor6D")) then newMotor = nil end
end
end
if not newMotor then
newMotor = mdl:FindFirstChild(oldMotor.Name, true)
if not (newMotor and newMotor:IsA("Motor6D")) then newMotor = nil end
end
if newMotor then motorMap[oldMotor] = newMotor end
end
end
end
buildMotorMap()
print("[SKIN] motorMap entries:", (function() local n=0 for _ in pairs(motorMap) do n+=1 end return n end)())
local isDropDashActive = false
local lastImageRectOffset = Vector2.new(0, 0)
task.spawn(function()
local imgGui = player.PlayerGui
:WaitForChild("Round", 30)
if not imgGui then return end
imgGui = imgGui:WaitForChild("Game", 30)
if not imgGui then return end
imgGui = imgGui:WaitForChild("Ability", 30)
if not imgGui then return end
imgGui = imgGui:WaitForChild("Bar", 30)
if not imgGui then return end
imgGui = imgGui:WaitForChild("AB1", 30)
if not imgGui then return end
imgGui = imgGui:WaitForChild("iMG", 30)
if not imgGui then return end
RunService.Heartbeat:Connect(function()
if not imgGui or not imgGui.Parent then return end
local currentOffset = imgGui.ImageRectOffset
if currentOffset ~= lastImageRectOffset then
isDropDashActive = currentOffset ~= Vector2.new(0, 0)
lastImageRectOffset = currentOffset
end
end)
end)
-- Cache :,D
local FORCE_HIDDEN = { "angry", "normal" }
local forceHiddenParts = {}
for _, v in ipairs(mdl:GetDescendants()) do
if v:IsA("BasePart") and FORCE_HIDDEN[v.Name] then
forceHiddenParts[#forceHiddenParts + 1] = v
end
end
-- Failññ
local forceHiddenNames = {}
for _, n in ipairs(FORCE_HIDDEN) do forceHiddenNames[n] = true end
newHrp.CFrame = hrp.CFrame
syncConn = RunService.Stepped:Connect(function()
if not char.Parent or not hrp.Parent or not newHrp.Parent then
if syncConn then syncConn:Disconnect() syncConn = nil end
return
end
if not next(motorMap) then buildMotorMap() end
newHrp.CFrame = hrp.CFrame
for oldMotor, newMotor in pairs(motorMap) do
if oldMotor.Parent and newMotor.Parent then
newMotor.Transform = oldMotor.Transform
end
end
local pf = workspace:FindFirstChild("Players")
local pFolder = pf and pf:FindFirstChild(player.Name)
local nativeSpindash = pFolder and pFolder:FindFirstChild("Spindash")
if isDropDashActive then
for _, v in ipairs(mdl:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 1
end
end
if nativeSpindash then
for _, v in ipairs(nativeSpindash:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 0
end
end
end
else
for _, v in ipairs(mdl:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = forceHiddenNames[v.Name] and 1 or getTransparency(v.Name)
end
end
end
-- Always enforce these regardless of drop dash state
newHrp.Transparency = 1
if newWaist then newWaist.Transparency = 1 end
for _, v in ipairs(forceHiddenParts) do
if v.Parent then v.Transparency = 1 end
end
end)
char.DescendantAdded:Connect(function(d)
if d:IsA("BasePart") and not d:IsDescendantOf(mdl) then
d.Transparency = 1
if d ~= hrp then d.CanCollide = false end
end
end)
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 warn("no hay frame?") return end
local viewportModel = viewportFrame
:WaitForChild("WorldModel", 30)
:WaitForChild("Default", 30)
if not viewportModel then warn("no hay modelo??") return end
local vpOverrideModel = nil
local function replaceViewportModel()
local ok, objects = pcall(game.GetObjects, game, "rbxassetid://" .. ASSET_ID)
if not ok or #objects == 0 then
warn("me cago en todo2")
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
v.Transparency = getTransparency(v.Name)
end
end
newModel.Parent = viewportModel
local viewportRootPart = viewportModel:FindFirstChild("HumanoidRootPart")
local primaryPart = newModel.PrimaryPart or newModel:FindFirstChildWhichIsA("BasePart")
if viewportRootPart and primaryPart then
newModel:PivotTo(viewportRootPart.CFrame)
primaryPart.Transparency = 1
local weld = Instance.new("WeldConstraint")
weld.Part0 = viewportRootPart
weld.Part1 = primaryPart
weld.Parent = viewportRootPart
end
print("[SKIN] viewport reemplazado")
end
replaceViewportModel()
viewportModel.DescendantAdded:Connect(function()
task.wait(0.1)
if not vpOverrideModel or not vpOverrideModel.Parent then
vpOverrideModel = nil
replaceViewportModel()
end
end)
player.CharacterAdded:Connect(function()
task.wait(3)
vpOverrideModel = nil
local newVM = viewportFrame:FindFirstChild("WorldModel")
and viewportFrame.WorldModel:FindFirstChild("Default")
if newVM then
viewportModel = newVM
replaceViewportModel()
end
end)
end)
end
local function replacePlayerFrame()
local playerGui = player:WaitForChild("PlayerGui", 15)
if not playerGui then return end
local roundGui = playerGui:WaitForChild("Round", 15)
if not roundGui then return end
local gameGui = roundGui:WaitForChild("Game", 15)
if not gameGui then return end
local teamsGui = gameGui:WaitForChild("Teams", 15)
if not teamsGui then return end
local playerFrame = nil
for _ = 1, 60 do
playerFrame = teamsGui:FindFirstChild(player.Name)
or teamsGui:FindFirstChild(player.DisplayName)
if playerFrame then break end
task.wait(0.25)
end
if not playerFrame then return end
local frame = playerFrame:FindFirstChild("Frame")
if not frame then return end
local characterContainer = frame:FindFirstChild("Character")
if not characterContainer then return end
characterContainer:ClearAllChildren()
local iconLabel = Instance.new("ImageLabel")
iconLabel.Image = "rbxassetid://76557827267306"
iconLabel.Size = UDim2.new(0.60, 0, 0.60, 0)
iconLabel.Position = UDim2.new(0.5, 0, 0.38, 0)
iconLabel.AnchorPoint = Vector2.new(0.5, 0.5)
iconLabel.BackgroundTransparency = 1
iconLabel.ScaleType = Enum.ScaleType.Fit
iconLabel.Parent = characterContainer
if characterContainer:IsA("GuiObject") then
characterContainer.BackgroundTransparency = 1
end
end
-- Start
waitForDodges()
task.wait(3)
isScriptActive = true
setupCharacter(character)
setupViewport()
task.spawn(replacePlayerFrame)
player.CharacterAdded:Connect(function(newChar)
character = newChar
humanoid = newChar:WaitForChild("Humanoid")
task.wait(1)
setupCharacter(newChar)
end)
task.spawn(function()
while true do
local pf = workspace:FindFirstChild("Players")
local playerFolder = pf and pf:FindFirstChild(player.Name)
if playerFolder then
local defaultFolder = playerFolder:FindFirstChild("Default")
if defaultFolder then
local waist = defaultFolder:FindFirstChild("Waist")
local hrpDefault = defaultFolder:FindFirstChild("HumanoidRootPart")
if waist and waist:IsA("BasePart") then waist.Transparency = 1 end
if hrpDefault and hrpDefault:IsA("BasePart") then hrpDefault.Transparency = 1 end
end
end
task.wait(0.1)
end
end)
-- MÚSICA
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/BlackSun.mp3",
"BlackSun.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("SonicSolo")
if not theme then
warn("no musica pipipi")
return
end
theme.SoundId = CUSTOM_MUSIC
theme.Volume = 1.5
theme.Looped = true
end)


cool