View difference between Paste ID: 0hc4PHnt and eFPi049Q
SHOW: | | - or go back to the newest paste.
1
2
--Ragdoll death script by Rufus14 (pure copy paste from my bow)
3
function ragdollkill(character)
4
	local victimshumanoid = character:findFirstChildOfClass("Humanoid")
5
	if not character:findFirstChild("UpperTorso") then
6
		character.Archivable = true
7
		for i,v in pairs(character:GetChildren()) do
8
			if v.ClassName == "Sound" then
9
				v:remove()
10
			end
11
			for q,w in pairs(v:GetChildren()) do
12
				if w.ClassName == "Sound" then
13
					w:remove()
14
				end
15
			end
16
		end
17
stand2 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
18
stand2.SoundId = "rbxassetid://3168463046"
19
stand2.Volume = 10
20
		local ragdoll = character:Clone()
21
		ragdoll:findFirstChildOfClass("Humanoid").Health = 0
22
		if ragdoll:findFirstChild("Health") then
23
			if ragdoll:findFirstChild("Health").ClassName == "Script" then
24
				ragdoll:findFirstChild("Health").Disabled = true
25
			end
26
		end
27
		for i,v in pairs(character:GetChildren()) do
28
			if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
29
				v:destroy()
30
			end
31
		end
32
		for i,v in pairs(character:GetChildren()) do
33
			if v.ClassName == "Accessory" then
34
				local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
35
				if attachment1 then
36
					for q,w in pairs(character:GetChildren()) do
37
						if w.ClassName == "Part" then
38
							local attachment2 = w:findFirstChild(attachment1.Name)
39
							if attachment2 then
40
								local hinge = Instance.new("HingeConstraint", v.Handle)
41
								hinge.Attachment0 = attachment1
42
								hinge.Attachment1 = attachment2
43
								hinge.LimitsEnabled = true
44
								hinge.LowerAngle = 0
45
								hinge.UpperAngle = 0
46
							end
47
						end
48
					end
49
				end
50
			end
51
		end
52
		ragdoll.Parent = workspace
53
		if ragdoll:findFirstChild("Right Arm") then
54
			local glue = Instance.new("Glue", ragdoll.Torso)
55
			glue.Part0 = ragdoll.Torso
56
			glue.Part1 = ragdoll:findFirstChild("Right Arm")
57
			glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
58
			glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
59
			local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
60
			limbcollider.Size = Vector3.new(1.4,1,1)
61
			limbcollider.Shape = "Cylinder"
62
			limbcollider.Transparency = 1
63
			limbcollider.Name = "LimbCollider"
64
			local limbcolliderweld = Instance.new("Weld", limbcollider)
65
			limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
66
			limbcolliderweld.Part1 = limbcollider
67
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
68
		end
69
		if ragdoll:findFirstChild("Left Arm") then
70
			local glue = Instance.new("Glue", ragdoll.Torso)
71
			glue.Part0 = ragdoll.Torso
72
			glue.Part1 = ragdoll:findFirstChild("Left Arm")
73
			glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
74
			glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
75
			local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
76
			limbcollider.Size = Vector3.new(1.4,1,1)
77
			limbcollider.Shape = "Cylinder"
78
			limbcollider.Name = "LimbCollider"
79
			limbcollider.Transparency = 1
80
			local limbcolliderweld = Instance.new("Weld", limbcollider)
81
			limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
82
			limbcolliderweld.Part1 = limbcollider
83
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
84
		end
85
		if ragdoll:findFirstChild("Left Leg") then
86
			local glue = Instance.new("Glue", ragdoll.Torso)
87
			glue.Part0 = ragdoll.Torso
88
			glue.Part1 = ragdoll:findFirstChild("Left Leg")
89
			glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
90
			glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
91
			local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
92
			limbcollider.Size = Vector3.new(1.4,1,1)
93
			limbcollider.Shape = "Cylinder"
94
			limbcollider.Name = "LimbCollider"
95
			limbcollider.Transparency = 1
96
			local limbcolliderweld = Instance.new("Weld", limbcollider)
97
			limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
98
			limbcolliderweld.Part1 = limbcollider
99
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
100
		end
101
		if ragdoll:findFirstChild("Right Leg") then
102
			local glue = Instance.new("Glue", ragdoll.Torso)
103
			glue.Part0 = ragdoll.Torso
104
			glue.Part1 = ragdoll:findFirstChild("Right Leg")
105
			glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
106
			glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
107
			local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
108
			limbcollider.Size = Vector3.new(1.4,1,1)
109
			limbcollider.Shape = "Cylinder"
110
			limbcollider.Name = "LimbCollider"
111
			limbcollider.Transparency = 1
112
			local limbcolliderweld = Instance.new("Weld", limbcollider)
113
			limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
114
			limbcolliderweld.Part1 = limbcollider
115
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
116
		end
117
		if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
118
			local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
119
			HeadAttachment.Position = Vector3.new(0, -0.5, 0)
120
			local connection = Instance.new('HingeConstraint', ragdoll["Head"])
121
			connection.LimitsEnabled = true
122
			connection.Attachment0 = ragdoll.Torso.NeckAttachment
123
			connection.Attachment1 = HeadAttachment
124
			connection.UpperAngle = 60
125
			connection.LowerAngle = -60
126
		elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
127
			local hedweld = Instance.new("Weld", ragdoll.Torso)
128
			hedweld.Part0 = ragdoll.Torso
129
			hedweld.Part1 = ragdoll.Head
130
			hedweld.C0 = CFrame.new(0,1.5,0)
131
		end
132
		game.Debris:AddItem(ragdoll, 30)
133
		wait(0.7)
134
		if ragdoll:findFirstChildOfClass("Humanoid") then
135
			ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
136
		end
137
		if ragdoll:findFirstChild("HumanoidRootPart") then
138
			ragdoll:findFirstChild("HumanoidRootPart"):destroy()
139
		end
140
	elseif character:findFirstChild("UpperTorso") then
141
		character.Archivable = true
142
		for i,v in pairs(character:GetChildren()) do
143
			if v.ClassName == "Sound" then
144
				v:remove()
145
			end
146
			for q,w in pairs(v:GetChildren()) do
147
				if w.ClassName == "Sound" then
148
					w:remove()
149
				end
150
			end
151
		end
152
		local ragdoll = character:Clone()
153
		ragdoll:findFirstChildOfClass("Humanoid").Health = 0
154
		if ragdoll:findFirstChild("Health") then
155
			if ragdoll:findFirstChild("Health").ClassName == "Script" then
156
				ragdoll:findFirstChild("Health").Disabled = true
157
			end
158
		end
159
		for i,v in pairs(character:GetChildren()) do
160
			if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
161
				v:destroy()
162
			end
163
		end
164
		for i,v in pairs(character:GetChildren()) do
165
			if v.ClassName == "Accessory" then
166
				local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
167
				if attachment1 then
168
					for q,w in pairs(character:GetChildren()) do
169
						if w.ClassName == "Part" or w.ClassName == "MeshPart" then
170
							local attachment2 = w:findFirstChild(attachment1.Name)
171
							if attachment2 then
172
								local hinge = Instance.new("HingeConstraint", v.Handle)
173
								hinge.Attachment0 = attachment1
174
								hinge.Attachment1 = attachment2
175
								hinge.LimitsEnabled = true
176
								hinge.LowerAngle = 0
177
								hinge.UpperAngle = 0
178
							end
179
						end
180
					end
181
				end
182
			end
183
		end
184
		ragdoll.Parent = workspace
185
		local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
186
		Humanoid.PlatformStand = true
187
		local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
188
			local connection = Instance.new('BallSocketConstraint', limb)
189
			connection.LimitsEnabled = true
190
			connection.Attachment0 = attachementone
191
			connection.Attachment1 = attachmenttwo
192
			connection.TwistLimitsEnabled = true
193
			connection.TwistLowerAngle = twistlower
194
			connection.TwistUpperAngle = twistupper
195
			local limbcollider = Instance.new("Part", limb)
196
			limbcollider.Size = Vector3.new(0.1,1,1)
197
			limbcollider.Shape = "Cylinder"
198
			limbcollider.Transparency = 1
199
			limbcollider:BreakJoints()
200
			local limbcolliderweld = Instance.new("Weld", limbcollider)
201
			limbcolliderweld.Part0 = limb
202
			limbcolliderweld.Part1 = limbcollider
203
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
204
		end
205
		local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
206
			local connection = Instance.new('HingeConstraint', limb)
207
			connection.LimitsEnabled = true
208
			connection.Attachment0 = attachementone
209
			connection.Attachment1 = attachmenttwo
210
			connection.LimitsEnabled = true
211
			connection.LowerAngle = lower
212
			connection.UpperAngle = upper
213
			local limbcollider = Instance.new("Part", limb)
214
			limbcollider.Size = Vector3.new(0.1,1,1)
215
			limbcollider.Shape = "Cylinder"
216
			limbcollider.Transparency = 1
217
			limbcollider:BreakJoints()
218
			local limbcolliderweld = Instance.new("Weld", limbcollider)
219
			limbcolliderweld.Part0 = limb
220
			limbcolliderweld.Part1 = limbcollider
221
			limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
222
		end
223
		local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
224
		HeadAttachment.Position = Vector3.new(0, -0.5, 0)
225
		makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
226
		makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
227
		makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
228
		makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
229
		makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
230
		--
231
		makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
232
		makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
233
		makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
234
		--
235
		makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
236
		makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
237
		makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
238
		--
239
		makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
240
		makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
241
		makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
242
		for i,v in pairs(Humanoid.Parent:GetChildren()) do
243
			if v.ClassName == "Accessory" then
244
				local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
245
				if attachment1 then
246
					for q,w in pairs(Humanoid.Parent:GetChildren()) do
247
						if w.ClassName == "Part" then
248
							local attachment2 = w:findFirstChild(attachment1.Name)
249
							if attachment2 then
250
								local hinge = Instance.new("HingeConstraint", v.Handle)
251
								hinge.Attachment0 = attachment1
252
								hinge.Attachment1 = attachment2
253
								hinge.LimitsEnabled = true
254
								hinge.LowerAngle = 0
255
								hinge.UpperAngle = 0
256
							end
257
						end
258
					end
259
				end
260
			end
261
		end
262
		for i,v in pairs(ragdoll:GetChildren()) do
263
			for q,w in pairs(v:GetChildren()) do
264
				if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] then
265
					w:destroy()
266
				end
267
			end
268
		end
269
		if ragdoll:findFirstChild("HumanoidRootPart") then
270
			ragdoll.HumanoidRootPart.Anchored = true
271
			ragdoll.HumanoidRootPart.CanCollide = false
272
		end
273
		if ragdoll:findFirstChildOfClass("Humanoid") then
274
			ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
275
		end
276
		game.Debris:AddItem(ragdoll, 30)
277
	end
278
end
279
game.Players.LocalPlayer.Character.Humanoid.Died:Connect(function()
280
    hit1:Play()
281
stand2:Play()
282
end)
283
function ded()
284
	owner.Character:BreakJoints()
285
	ragdollkill(owner.Character)
286
end
287
owner.Character:findFirstChildOfClass("Humanoid").Died:connect(ded)