
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
-- State
local isRagdolled = false
local motorBackup = {}
local function getCharacter()
return player.Character or player.CharacterAdded:Wait()
end
-- Ragdoll function
local function toggleRagdoll(forceState)
local character = getCharacter()
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health <= 0 then return end
local root = character:FindFirstChild("HumanoidRootPart")
if not root then return end
local target
if forceState == true then
target = true
elseif forceState == false then
target = false
else
target = not isRagdolled
end
if target and not isRagdolled then
humanoid:ChangeState(Enum.HumanoidStateType.Physics)
humanoid.AutoRotate = false
motorBackup = {}
for _, joint in ipairs(character:GetDescendants()) do
if joint:IsA("Motor6D") then
local socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Name = "RagdollAttachment"
a2.Name = "RagdollAttachment"
a1.CFrame = joint.C0
a2.CFrame = joint.C1
a1.Parent = joint.Part0
a2.Parent = joint.Part1
socket.Attachment0 = a1
socket.Attachment1 = a2
socket.Parent = joint.Parent
socket.LimitsEnabled = true
socket.TwistLimitsEnabled = true
motorBackup[joint] = true
joint.Enabled = false
end
end
root.Velocity = Vector3.new(0, 15, 0)
isRagdolled = true
elseif not target and isRagdolled then
for motor in pairs(motorBackup) do
motor.Enabled = true
end
motorBackup = {}
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
humanoid.AutoRotate = true
for _, item in ipairs(character:GetDescendants()) do
if item:IsA("BallSocketConstraint") then
item:Destroy()
elseif item:IsA("Attachment") and item.Name == "RagdollAttachment" then
item:Destroy()
end
end
isRagdolled = false
end
end
player.CharacterAdded:Connect(function(char)
isRagdolled = false
motorBackup = {}
end)
--Binds
UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.R then
toggleRagdoll(true)
elseif input.KeyCode == Enum.KeyCode.C then
toggleRagdoll(false)
end
end)No comments yet for this script.



