print("[RETRO pcx] Now loading... Made by lil2kki <3") if not game:IsLoaded() then game.Loaded:Wait() end -- if you would to steal model without credits you are bum and bad person //model by Satoru (or Wsj) game:GetService("ReplicatedStorage").ClientAssets.Characters.EXE["2011x"].Skins.RETRO:Destroy() game:GetObjects("rbxassetid://105948174162325")[1].Parent = -- .Name = "RETRO" already have this name thankss game:GetService("ReplicatedStorage").ClientAssets.Characters.EXE["2011x"].Skins local themes = game:GetService("ReplicatedStorage"):FindFirstChild("ChaseThemes", true):FindFirstChild("2011x", true) themes.RETRO.LastLifeChase.PlaybackSpeed = 1 -- OM 0.1a special themes.RETRO.LastLifeChase:SetAttribute("Eliminated", nil) -- no time pos jump on kill pls function tryUpdatePlayer(player) if not player:IsA("Model") then return end if player:GetAttribute("Character") ~= "2011x" then return end if player:GetAttribute("Skin") ~= "RETRO" then return end print("[RETRO pcx] Waiting for " .. player:GetFullName() .. "...") if player:FindFirstChild("OverlayModel") then warn("[RETRO pcx] Player already have OverlayModel, update cancelled") return end player.DescendantRemoving:Connect(function(desc) -- if desc:GetFullName():find(".FOVMultiplier") then return end -- print("DescendantRemoving", desc.ClassName, desc:GetFullName()) end) player.DescendantAdded:Connect(function(desc) -- if desc:GetFullName():find(".FOVMultiplier") then return end -- print("DescendantAdded", desc.ClassName, desc:GetFullName()) if desc.Name == "_BLOOD" then print("DescendantAdded", desc.ClassName, desc:GetFullName()) end if desc.ClassName == "Animation" and (not player.Animate.Anims:FindFirstChild(desc.Name)) then local ServerAnim = desc:Clone() ServerAnim.Parent = player.Animate.Anims end end) -- wait for camera first setup local lastCamCFrame = workspace.CurrentCamera.CFrame repeat task.wait() until workspace.CurrentCamera.CFrame ~= lastCamCFrame print("[RETRO pcx] Updating " .. player:GetFullName() .. "!") -- Setup Char Model local ogHRP = player.PrimaryPart --:FindFirstChild("HumanoidRootPart") if not ogHRP then return end for _, v in ipairs(player:GetDescendants()) do -- if v.Parent == player then print(v) end if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then v.LocalTransparencyModifier = 1 v:GetPropertyChangedSignal("LocalTransparencyModifier"):Connect(function() v.LocalTransparencyModifier = 1 end) if v.Name == "Head" then v:GetPropertyChangedSignal("Transparency"):Connect(function() for _, ov in ipairs(player.OverlayModel:GetDescendants()) do if ov:IsA("BasePart") and (not ov:GetAttribute("IgnoreTransparency")) then pcall(function() ov.Transparency = v.Transparency end) end end end) end end --if v:IsA("SurfaceGui") then v.Enabled = false end --if v:IsA("SurfaceAppearance") then v:Destroy() end if v:IsA("Decal") then v:Destroy() end end -- Setup Overlay Model local OverlayModel = game.ReplicatedStorage.ClientAssets.Characters:FindFirstChild(player:GetAttribute("Character"), true).Skins[player:GetAttribute("Skin")]:Clone() OverlayModel.Name = "OverlayModel" OverlayModel.Parent = player local myHRP = OverlayModel.PrimaryPart --:FindFirstChild("HumanoidRootPart") if not myHRP then OverlayModel:Destroy() return end for _, v in ipairs(OverlayModel:GetDescendants()) do if v:IsA("Humanoid") then v:Destroy() end--v.EvaluateStateMachine = false end if v:IsA("Highlight") then v:Destroy() end if v:IsA("BasePart") then v.CanCollide = false v.Anchored = false v.CanTouch = false v.CanQuery = false v.Massless = true if v.Transparency > 0 then v:SetAttribute("IgnoreTransparency", true) end end end local hrpY = 1.5 local weld = Instance.new("Weld") weld.Name = "OverlayModelWeld" weld.Part0 = ogHRP weld.Part1 = myHRP weld.C0 = CFrame.new() weld.C1 = CFrame.new(0, -hrpY, 0) * CFrame.Angles(0, math.rad(0), 0) * CFrame.Angles(math.rad(0), 0, 0) weld.Parent = myHRP myHRP:PivotTo(ogHRP.CFrame * CFrame.new(0, hrpY, 0) * CFrame.Angles(math.rad(0), 0, 0)) -- cam script is horror local ogHead = player.RootPart.Root.Body local myHead = player.OverlayModel.RootPart.Root.Body.Head ogHead:GetPropertyChangedSignal("CFrame"):Connect(function() myHead.CFrame = CFrame.new(myHead.CFrame.Position) * ogHead.CFrame.Rotation end) print("[RETRO pcx] Updating finished for", player.Name .. "!") end local function onPlayerAdded(player) if player.Character then tryUpdatePlayer(player.Character) end _G.Retro2011xSkinCharacterAddedConn = _G.Retro2011xSkinCharacterAddedConn or {} if _G.Retro2011xSkinCharacterAddedConn[player.Name] then _G.Retro2011xSkinCharacterAddedConn[player.Name]:Disconnect() end _G.Retro2011xSkinCharacterAddedConn[player.Name] = player.CharacterAdded:Connect(tryUpdatePlayer) end for _, player in game.Players:GetPlayers() do onPlayerAdded(player) end if _G.Retro2011xSkinPlayerAddedConn then _G.Retro2011xSkinPlayerAddedConn:Disconnect() print("[RETRO pcx] Previous Retro2011xSkinPlayerAddedConn disconnected") end _G.Retro2011xSkinPlayerAddedConn = game.Players.PlayerAdded:Connect(onPlayerAdded)