SHOW:
|
|
- or go back to the newest paste.
| 1 | - | --Ragdoll death for full server by Rufus14 (pure copy paste from my bow) |
| 1 | + | local bodyhit = Instance.new("Sound", owner.Character.Torso)
|
| 2 | - | step = game:GetService("RunService").Stepped
|
| 2 | + | |
| 3 | - | function ragdollkill(character) |
| 3 | + | |
| 4 | - | local victimshumanoid = character:findFirstChildOfClass("Humanoid")
|
| 4 | + | |
| 5 | - | if character:findFirstChild("Head") then
|
| 5 | + | local isragdoll = false |
| 6 | - | if character.Name == owner.Character.Name then |
| 6 | + | |
| 7 | - | local AAAAAAAAAAAAAA = Instance.new("Sound", character.Head)
|
| 7 | + | local limbcollider = Instance.new("Part", owner.Character:findFirstChild("Right Arm"))
|
| 8 | - | AAAAAAAAAAAAAA.SoundId = "rbxassetid://1006111829" |
| 8 | + | limbcollider.Size = Vector3.new(1.4,1,1) |
| 9 | - | AAAAAAAAAAAAAA.Volume = 1 |
| 9 | + | limbcollider.Shape = "Cylinder" |
| 10 | - | AAAAAAAAAAAAAA.PlayOnRemove = true |
| 10 | + | limbcollider.Transparency = 1 |
| 11 | - | AAAAAAAAAAAAAA:destroy() |
| 11 | + | limbcollider.Name = "LimbCollider" |
| 12 | local limbcolliderweld = Instance.new("Weld", limbcollider)
| |
| 13 | - | local beepboop = Instance.new("Sound", character.Head)
|
| 13 | + | limbcolliderweld.Part0 = owner.Character:findFirstChild("Right Arm")
|
| 14 | - | beepboop.SoundId = "rbxassetid://1602011701" |
| 14 | + | limbcolliderweld.Part1 = limbcollider |
| 15 | - | beepboop.Volume = 1 |
| 15 | + | limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) |
| 16 | - | beepboop.PlayOnRemove = true |
| 16 | + | local limbcollider2 = Instance.new("Part", owner.Character:findFirstChild("Left Arm"))
|
| 17 | - | beepboop:destroy() |
| 17 | + | limbcollider2.Size = Vector3.new(1.4,1,1) |
| 18 | limbcollider2.Shape = "Cylinder" | |
| 19 | - | if not character:findFirstChild("UpperTorso") then
|
| 19 | + | limbcollider2.Transparency = 1 |
| 20 | - | character.Archivable = true |
| 20 | + | limbcollider2.Name = "LimbCollider" |
| 21 | - | for i,v in pairs(character:GetChildren()) do |
| 21 | + | local limbcolliderweld2 = Instance.new("Weld", limbcollider)
|
| 22 | - | if v.ClassName == "Sound" then |
| 22 | + | limbcolliderweld2.Part0 = owner.Character:findFirstChild("Left Arm")
|
| 23 | - | v:remove() |
| 23 | + | limbcolliderweld2.Part1 = limbcollider2 |
| 24 | - | end |
| 24 | + | limbcolliderweld2.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) |
| 25 | - | for q,w in pairs(v:GetChildren()) do |
| 25 | + | local limbcollider3 = Instance.new("Part", owner.Character:findFirstChild("Right Leg"))
|
| 26 | - | if w.ClassName == "Sound" then |
| 26 | + | limbcollider3.Size = Vector3.new(1.3,1,1) |
| 27 | - | w:remove() |
| 27 | + | limbcollider3.Shape = "Cylinder" |
| 28 | - | end |
| 28 | + | limbcollider3.Transparency = 1 |
| 29 | - | end |
| 29 | + | limbcollider3.Name = "LimbCollider" |
| 30 | local limbcolliderweld3 = Instance.new("Weld", limbcollider)
| |
| 31 | - | local ragdoll = character:Clone() |
| 31 | + | limbcolliderweld3.Part0 = owner.Character:findFirstChild("Right Leg")
|
| 32 | - | ragdoll:findFirstChildOfClass("Humanoid").Health = 0
|
| 32 | + | limbcolliderweld3.Part1 = limbcollider3 |
| 33 | - | if ragdoll:findFirstChild("Health") then
|
| 33 | + | limbcolliderweld3.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) |
| 34 | - | if ragdoll:findFirstChild("Health").ClassName == "Script" then
|
| 34 | + | local limbcollider4 = Instance.new("Part", owner.Character:findFirstChild("Left Leg"))
|
| 35 | - | ragdoll:findFirstChild("Health").Disabled = true
|
| 35 | + | limbcollider4.Size = Vector3.new(1.3,1,1) |
| 36 | - | end |
| 36 | + | limbcollider4.Shape = "Cylinder" |
| 37 | limbcollider4.Transparency = 1 | |
| 38 | - | for i,v in pairs(character:GetChildren()) do |
| 38 | + | limbcollider4.Name = "LimbCollider" |
| 39 | - | if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then |
| 39 | + | local limbcolliderweld4 = Instance.new("Weld", limbcollider)
|
| 40 | - | v:destroy() |
| 40 | + | limbcolliderweld4.Part0 = owner.Character:findFirstChild("Left Leg")
|
| 41 | - | end |
| 41 | + | limbcolliderweld4.Part1 = limbcollider4 |
| 42 | limbcolliderweld4.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) | |
| 43 | - | for i,v in pairs(character:GetChildren()) do |
| 43 | + | local limbcollider5 = Instance.new("Part", owner.Character.Head)
|
| 44 | - | if v.ClassName == "Accessory" then |
| 44 | + | limbcollider5.Size = Vector3.new(1,1,1) |
| 45 | - | local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
|
| 45 | + | limbcollider5.Shape = "Cylinder" |
| 46 | - | if attachment1 then |
| 46 | + | limbcollider5.Transparency = 1 |
| 47 | - | for q,w in pairs(character:GetChildren()) do |
| 47 | + | limbcollider5.Name = "LimbCollider" |
| 48 | - | if w.ClassName == "Part" then |
| 48 | + | local limbcolliderweld5 = Instance.new("Weld", limbcollider)
|
| 49 | - | local attachment2 = w:findFirstChild(attachment1.Name) |
| 49 | + | limbcolliderweld5.Part0 = owner.Character.Head |
| 50 | - | if attachment2 then |
| 50 | + | limbcolliderweld5.Part1 = limbcollider5 |
| 51 | - | local hinge = Instance.new("HingeConstraint", v.Handle)
|
| 51 | + | limbcolliderweld5.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(0,0,0) |
| 52 | - | hinge.Attachment0 = attachment1 |
| 52 | + | |
| 53 | - | hinge.Attachment1 = attachment2 |
| 53 | + | function killfunction(part) |
| 54 | - | hinge.LimitsEnabled = true |
| 54 | + | if owner.Character.HumanoidRootPart.Velocity.x <= -17 or owner.Character.HumanoidRootPart.Velocity.x >= 17 or owner.Character.HumanoidRootPart.Velocity.z <= -17 or owner.Character.HumanoidRootPart.Velocity.z >= 17 then |
| 55 | - | hinge.LowerAngle = 0 |
| 55 | + | if not isragdoll then |
| 56 | - | hinge.UpperAngle = 0 |
| 56 | + | isragdoll = true |
| 57 | - | end |
| 57 | + | bodyhit:Play() |
| 58 | - | end |
| 58 | + | for i,v in pairs(owner.Character:GetDescendants()) do |
| 59 | - | end |
| 59 | + | if v:IsA("Motor6D") and v.Parent.Name ~= "HumanoidRootPart" then
|
| 60 | - | end |
| 60 | + | local Socket = Instance.new("BallSocketConstraint")
|
| 61 | - | end |
| 61 | + | local a1 = Instance.new("Attachment")
|
| 62 | local a2 = Instance.new("Attachment")
| |
| 63 | - | ragdoll.Parent = workspace |
| 63 | + | a1.Parent = v.Part0 |
| 64 | - | if ragdoll:findFirstChild("Right Arm") then
|
| 64 | + | a2.Parent = v.Part1 |
| 65 | - | local glue = Instance.new("Glue", ragdoll.Torso)
|
| 65 | + | Socket.Parent = v.Parent |
| 66 | - | glue.Part0 = ragdoll.Torso |
| 66 | + | Socket.Attachment0 = a1 |
| 67 | - | glue.Part1 = ragdoll:findFirstChild("Right Arm")
|
| 67 | + | Socket.Attachment1 = a2 |
| 68 | - | glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) |
| 68 | + | a1.CFrame = v.C0 |
| 69 | - | glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) |
| 69 | + | a2.CFrame = v.C1 |
| 70 | - | local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
|
| 70 | + | Socket.LimitsEnabled = false |
| 71 | - | limbcollider.Size = Vector3.new(1.4,1,1) |
| 71 | + | Socket.TwistLimitsEnabled = true |
| 72 | - | limbcollider.Shape = "Cylinder" |
| 72 | + | v:Destroy() |
| 73 | - | limbcollider.Transparency = 1 |
| 73 | + | |
| 74 | - | limbcollider.Name = "LimbCollider" |
| 74 | + | |
| 75 | - | local limbcolliderweld = Instance.new("Weld", limbcollider)
|
| 75 | + | |
| 76 | - | limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
|
| 76 | + | owner.Character.Humanoid.RequiresNeck = false |
| 77 | - | limbcolliderweld.Part1 = limbcollider |
| 77 | + | owner.Character.Humanoid.PlatformStand = true |
| 78 | - | limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) |
| 78 | + | wait(2.5) |
| 79 | for i,v in pairs(owner.Character:GetDescendants()) do | |
| 80 | - | if ragdoll:findFirstChild("Left Arm") then
|
| 80 | + | if v:IsA("BallSocketConstraint") then
|
| 81 | - | local glue = Instance.new("Glue", ragdoll.Torso)
|
| 81 | + | v.UpperAngle = 0 |
| 82 | - | glue.Part0 = ragdoll.Torso |
| 82 | + | v.TwistUpperAngle = 0 |
| 83 | - | glue.Part1 = ragdoll:findFirstChild("Left Arm")
|
| 83 | + | v.TwistLowerAngle = 0 |
| 84 | - | glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) |
| 84 | + | local Joints = Instance.new("Motor6D",v.Parent)
|
| 85 | - | glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) |
| 85 | + | Joints.Part0 = v.Attachment0.Parent |
| 86 | - | local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
|
| 86 | + | Joints.Part1 = v.Attachment1.Parent |
| 87 | - | limbcollider.Size = Vector3.new(1.4,1,1) |
| 87 | + | Joints.C0 = v.Attachment0.CFrame |
| 88 | - | limbcollider.Shape = "Cylinder" |
| 88 | + | Joints.C1 = v.Attachment1.CFrame |
| 89 | - | limbcollider.Name = "LimbCollider" |
| 89 | + | owner.Character.HumanoidRootPart.CFrame = owner.Character.HumanoidRootPart.CFrame + Vector3.new(0,2,0) |
| 90 | - | limbcollider.Transparency = 1 |
| 90 | + | v:Destroy() |
| 91 | - | local limbcolliderweld = Instance.new("Weld", limbcollider)
|
| 91 | + | |
| 92 | - | limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
|
| 92 | + | |
| 93 | - | limbcolliderweld.Part1 = limbcollider |
| 93 | + | owner.Character.Humanoid.PlatformStand = false |
| 94 | - | limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0) |
| 94 | + | wait(0.5) |
| 95 | isragdoll = false | |
| 96 | - | if ragdoll:findFirstChild("Left Leg") then
|
| 96 | + | |
| 97 | - | local glue = Instance.new("Glue", ragdoll.Torso)
|
| 97 | + | |
| 98 | - | glue.Part0 = ragdoll.Torso |
| 98 | + | for i,v in pairs(owner.Character:GetDescendants()) do |
| 99 | - | glue.Part1 = ragdoll:findFirstChild("Left Leg")
|
| 99 | + | if v:IsA("BasePart") then
|
| 100 | - | glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
| 100 | + | v.Touched:connect(killfunction) |
| 101 | - | glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
| 101 | + | |
| 102 | - | local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
|
| 102 | + |