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 | + |