View difference between Paste ID: KZsMCbdr and XUK5jBVB
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
3
local Player,game,owner = owner,game
4
5
local RealPlayer = Player
6
7
do print("FE Compatibility code V3 by Desered_ROBLOX")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
8
9
10
--By Rufus14
11
--Converted with ttyyuu12345's model to script plugin v4
12
Tool0 = Instance.new("Tool")
13
Part1 = Instance.new("Part")
14
SpecialMesh2 = Instance.new("SpecialMesh")
15
Sound3 = Instance.new("Sound")
16
Sound4 = Instance.new("Sound")
17
Sound5 = Instance.new("Sound")
18
Sound6 = Instance.new("Sound")
19
Sound7 = Instance.new("Sound")
20
Sound8 = Instance.new("Sound")
21
Sound9 = Instance.new("Sound")
22
Sound10 = Instance.new("Sound")
23
Tool0.Name = "Chainsaw"
24
Tool0.ToolTip = "really cuts people in half"
25
Part1.Name = "Handle"
26
Part1.Parent = Tool0
27
Part1.CFrame = CFrame.new(-0.100341909, 2.97482109, 5.56015015, -0.999999762, 7.57067573e-06, 1.3017052e-07, -4.55088411e-08, 2.98023224e-08, -0.99999994, -7.71969371e-06, -0.999999881, -2.98023224e-07)
28
Part1.Orientation = Vector3.new(89.9800034, 156.410004, -56.7799988)
29
Part1.Position = Vector3.new(-0.100341909, 2.97482109, 5.56015015)
30
Part1.Rotation = Vector3.new(90, 0, -180)
31
Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
32
Part1.Size = Vector3.new(0.200000003, 0.880000353, 3.94999981)
33
Part1.BottomSurface = Enum.SurfaceType.Smooth
34
Part1.BrickColor = BrickColor.new("Dark stone grey")
35
Part1.TopSurface = Enum.SurfaceType.Smooth
36
Part1.brickColor = BrickColor.new("Dark stone grey")
37
Part1.FormFactor = Enum.FormFactor.Custom
38
Part1.formFactor = Enum.FormFactor.Custom
39
SpecialMesh2.Parent = Part1
40
SpecialMesh2.MeshId = "http://roblox.com/asset/?id=2766469"
41
SpecialMesh2.TextureId = "http://www.roblox.com/asset/?id=185441602"
42
SpecialMesh2.MeshType = Enum.MeshType.FileMesh
43
Sound3.Name = "Hit"
44
Sound3.Parent = Part1
45
Sound3.SoundId = "rbxassetid://3848646775"
46
Sound4.Name = "Charge"
47
Sound4.Parent = Part1
48
Sound4.Looped = true
49
Sound4.SoundId = "rbxassetid://3848643367"
50
Sound5.Name = "Idle"
51
Sound5.Parent = Part1
52
Sound5.Looped = true
53
Sound5.SoundId = "rbxassetid://3848642339"
54
Sound5.Volume = 0.25
55
Sound6.Name = "Equip"
56
Sound6.Parent = Part1
57
Sound6.SoundId = "rbxassetid://3848640975"
58
Sound7.Name = "Crush"
59
Sound7.Parent = Part1
60
Sound7.SoundId = "rbxassetid://4459571342"
61
Sound8.Name = "Swoosh"
62
Sound8.Parent = Part1
63
Sound8.SoundId = "rbxassetid://3755636438"
64
Sound9.Name = "Crush2"
65
Sound9.Parent = Part1
66
Sound9.SoundId = "rbxassetid://4459573786"
67
Sound10.Name = "Crush3"
68
Sound10.Parent = Part1
69
Sound10.SoundId = "rbxassetid://4459571443"
70
Tool0.Parent = owner.Character
71
coroutine.wrap(function()
72
--By Rufus14
73
canattack = true
74
cananimate = false
75
equipped = false
76
tool = Tool0
77
handle = tool.Handle
78
equipsound = handle.Equip
79
charge = handle.Charge
80
swishsound = handle.Swoosh
81
hitsound = handle.Hit
82
idlesound = handle.Idle
83
goresound = handle.Crush
84
goresound3 = handle.Crush3
85
goresound2 = handle.Crush2
86
goreplaying = false
87
owner = nil
88
character = nil
89
mouseclick = false
90
attacknumber = 1
91
swingspeed = 0.07
92
counter = 0
93
gotsomeone = false
94
runservice = game:GetService("RunService")
95
--
96
tool.Activated:connect(function()
97
	mouseclick = true
98
end)
99
tool.Deactivated:connect(function()
100
	mouseclick = false
101
end)
102
--
103
function ragdollkill(character)
104
	local victimshumanoid = character:findFirstChildOfClass("Humanoid")
105
	local checkragd = character:findFirstChild("ragded")
106
	if not checkragd then
107
		local boolvalue = Instance.new("BoolValue", character)
108
		boolvalue.Name = "ragded"
109
		if not character:findFirstChild("UpperTorso") then
110
			local ragdollmodel = Instance.new("Model", workspace)
111
			ragdollmodel.Name = character.Name
112
			character.Archivable = true
113
			for i,v in pairs(character:GetChildren()) do
114
				if v.ClassName == "Sound" then
115
					v:remove()
116
				end
117
				for q,w in pairs(v:GetChildren()) do
118
					if w.ClassName == "Sound" then
119
						w:remove()
120
					end
121
				end
122
			end
123
			local ragdollright = character:Clone()
124
			local ragdollleft = character:Clone()
125
			for i,v in pairs(ragdollright:GetDescendants()) do
126
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
127
					v:destroy()
128
				end
129
			end
130
			ragdollright:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
131
			ragdollright:findFirstChildOfClass("Humanoid").Health = 0
132
			if ragdollright:findFirstChild("Health") then
133
				if ragdollright:findFirstChild("Health").ClassName == "Script" then
134
					ragdollright:findFirstChild("Health").Disabled = true
135
				end
136
			end
137
			--
138
			for i,v in pairs(ragdollleft:GetDescendants()) do
139
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
140
					v:destroy()
141
				end
142
			end
143
			ragdollleft:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
144
			ragdollleft:findFirstChildOfClass("Humanoid").Health = 0
145
			if ragdollleft:findFirstChild("Health") then
146
				if ragdollleft:findFirstChild("Health").ClassName == "Script" then
147
					ragdollright:findFirstChild("Health").Disabled = true
148
				end
149
			end
150
			for i,v in pairs(character:GetChildren()) do
151
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
152
					v:destroy()
153
				end
154
			end
155
			for i,v in pairs(character:GetChildren()) do
156
				if v.ClassName == "Accessory" then
157
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
158
					if attachment1 then
159
						for q,w in pairs(character:GetChildren()) do
160
							if w.ClassName == "Part" then
161
								local attachment2 = w:findFirstChild(attachment1.Name)
162
								if attachment2 then
163
									local hinge = Instance.new("HingeConstraint", v.Handle)
164
									hinge.Attachment0 = attachment1
165
									hinge.Attachment1 = attachment2
166
									hinge.LimitsEnabled = true
167
									hinge.LowerAngle = 0
168
									hinge.UpperAngle = 0
169
								end
170
							end
171
						end
172
					end
173
				end
174
			end
175
			ragdollright.Parent = ragdollmodel
176
			ragdollleft.Parent = ragdollmodel
177
			--
178
			ragdollleft.Torso.Transparency = 0.01
179
			ragdollright.Torso.Transparency = 0.01
180
			if ragdollleft:findFirstChild("HumanoidRootPart") then
181
				ragdollleft:findFirstChild("HumanoidRootPart").Transparency = 1
182
			end
183
			--
184
			local leftinvisible = Instance.new("Part", ragdollmodel)
185
			leftinvisible.Size = Vector3.new(1.2,2.2,1.2)
186
			leftinvisible.Material = "Glass"
187
			leftinvisible.CanCollide = false
188
			leftinvisible.Transparency = 0.999
189
			local leftweld = Instance.new("Weld", leftinvisible)
190
			leftweld.Part0 = ragdollleft.Torso
191
			leftweld.Part1 = leftinvisible
192
			leftweld.C0 = CFrame.new(0.5,0,0)
193
			local leftred = Instance.new("Part", ragdollleft.Torso)
194
			leftred.Size = Vector3.new(0.925,1.925,0.925)
195
			leftred.Material = "Pebble"
196
			leftred.CanCollide = false
197
			leftred.BrickColor = BrickColor.new("Maroon")
198
			local leftredweld = Instance.new("Weld", leftred)
199
			leftredweld.Part0 = ragdollleft.Torso
200
			leftredweld.Part1 = leftred
201
			leftredweld.C0 = CFrame.new(-0.5,0,0)
202
			--
203
			local rightinvisible = Instance.new("Part", ragdollmodel)
204
			rightinvisible.Size = Vector3.new(1.2,2.2,1.2)
205
			rightinvisible.Material = "Glass"
206
			rightinvisible.CanCollide = false
207
			rightinvisible.Transparency = 0.999
208
			local rightweld = Instance.new("Weld", rightinvisible)
209
			rightweld.Part0 = ragdollright.Torso
210
			rightweld.Part1 = rightinvisible
211
			rightweld.C0 = CFrame.new(-0.5,0,0)
212
			local rightred = Instance.new("Part", ragdollright.Torso)
213
			rightred.Size = Vector3.new(0.925,1.925,0.925)
214
			rightred.Material = "Pebble"
215
			rightred.CanCollide = false
216
			rightred.BrickColor = BrickColor.new("Maroon")
217
			local rightredweld = Instance.new("Weld", rightred)
218
			rightredweld.Part0 = ragdollright.Torso
219
			rightredweld.Part1 = rightred
220
			rightredweld.C0 = CFrame.new(0.5,0,0)
221
			--
222
			if ragdollleft:findFirstChild("Right Arm") then
223
				ragdollleft["Right Arm"]:destroy()
224
			end
225
			if ragdollright:findFirstChild("Right Arm") then
226
				local glue = Instance.new("Glue", ragdollright.Torso)
227
				glue.Part0 = ragdollright.Torso
228
				glue.Part1 = ragdollright:findFirstChild("Right Arm")
229
				glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
230
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
231
				local limbcollider = Instance.new("Part", ragdollright:findFirstChild("Right Arm"))
232
				limbcollider.Size = Vector3.new(1.4,1,1)
233
				limbcollider.Shape = "Cylinder"
234
				limbcollider.Transparency = 1
235
				limbcollider.Name = "LimbCollider"
236
				local limbcolliderweld = Instance.new("Weld", limbcollider)
237
				limbcolliderweld.Part0 = ragdollright:findFirstChild("Right Arm")
238
				limbcolliderweld.Part1 = limbcollider
239
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
240
			end
241
			if ragdollright:findFirstChild("Left Arm") then
242
				ragdollright["Left Arm"]:destroy()
243
			end
244
			if ragdollleft:findFirstChild("Left Arm") then
245
				local glue = Instance.new("Glue", ragdollleft.Torso)
246
				glue.Part0 = ragdollleft.Torso
247
				glue.Part1 = ragdollleft:findFirstChild("Left Arm")
248
				glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
249
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
250
				local limbcollider = Instance.new("Part", ragdollleft:findFirstChild("Left Arm"))
251
				limbcollider.Size = Vector3.new(1.4,1,1)
252
				limbcollider.Shape = "Cylinder"
253
				limbcollider.Name = "LimbCollider"
254
				limbcollider.Transparency = 1
255
				local limbcolliderweld = Instance.new("Weld", limbcollider)
256
				limbcolliderweld.Part0 = ragdollleft:findFirstChild("Left Arm")
257
				limbcolliderweld.Part1 = limbcollider
258
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
259
			end
260
			if ragdollright:findFirstChild("Left Leg") then
261
				ragdollright["Left Leg"]:destroy()
262
			end
263
			if ragdollleft:findFirstChild("Left Leg") then
264
				local glue = Instance.new("Glue", ragdollleft.Torso)
265
				glue.Part0 = ragdollleft.Torso
266
				glue.Part1 = ragdollleft:findFirstChild("Left Leg")
267
				glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
268
				glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
269
				local limbcollider = Instance.new("Part", ragdollleft:findFirstChild("Left Leg"))
270
				limbcollider.Size = Vector3.new(1.4,1,1)
271
				limbcollider.Shape = "Cylinder"
272
				limbcollider.Name = "LimbCollider"
273
				limbcollider.Transparency = 1
274
				local limbcolliderweld = Instance.new("Weld", limbcollider)
275
				limbcolliderweld.Part0 = ragdollleft:findFirstChild("Left Leg")
276
				limbcolliderweld.Part1 = limbcollider
277
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
278
			end
279
			if ragdollleft:findFirstChild("Right Leg") then
280
				ragdollleft["Right Leg"]:destroy()
281
			end
282
			if ragdollright:findFirstChild("Right Leg") then
283
				local glue = Instance.new("Glue", ragdollright.Torso)
284
				glue.Part0 = ragdollright.Torso
285
				glue.Part1 = ragdollright:findFirstChild("Right Leg")
286
				glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
287
				glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
288
				local limbcollider = Instance.new("Part", ragdollright:findFirstChild("Right Leg"))
289
				limbcollider.Size = Vector3.new(1.4,1,1)
290
				limbcollider.Shape = "Cylinder"
291
				limbcollider.Name = "LimbCollider"
292
				limbcollider.Transparency = 1
293
				local limbcolliderweld = Instance.new("Weld", limbcollider)
294
				limbcolliderweld.Part0 = ragdollright:findFirstChild("Right Leg")
295
				limbcolliderweld.Part1 = limbcollider
296
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
297
			end
298
			if ragdollleft:findFirstChild("Head") then
299
				ragdollleft["Head"]:destroy()
300
			end
301
			if ragdollright:findFirstChild("Head") and ragdollright.Torso:findFirstChild("NeckAttachment") then
302
				local HeadAttachment = Instance.new("Attachment", ragdollright["Head"])
303
				HeadAttachment.Position = Vector3.new(0, -0.5, 0)
304
				local connection = Instance.new('HingeConstraint', ragdollright["Head"])
305
				connection.LimitsEnabled = true
306
				connection.Attachment0 = ragdollright.Torso.NeckAttachment
307
				connection.Attachment1 = HeadAttachment
308
				connection.UpperAngle = 60
309
				connection.LowerAngle = -60
310
			elseif ragdollright:findFirstChild("Head") and not ragdollright.Torso:findFirstChild("NeckAttachment") then
311
				local hedweld = Instance.new("Weld", ragdollright.Torso)
312
				hedweld.Part0 = ragdollright.Torso
313
				hedweld.Part1 = ragdollright.Head
314
				hedweld.C0 = CFrame.new(0,1.5,0)
315
			end
316
			game.Debris:AddItem(ragdollmodel, 30)
317
			local function aaaalol()
318
				wait(0.2)
319
				local function searchforvelocity(wot)
320
					for i,v in pairs(wot:GetChildren()) do
321
						searchforvelocity(v)
322
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
323
							v:destroy()
324
						end
325
					end
326
				end
327
				searchforvelocity(ragdollleft)
328
				searchforvelocity(ragdollright)
329
				wait(0.5)
330
				if ragdollleft:findFirstChildOfClass("Humanoid") then
331
					ragdollleft:findFirstChildOfClass("Humanoid").PlatformStand = true
332
				end
333
				if ragdollleft:findFirstChild("HumanoidRootPart") then
334
					ragdollleft:findFirstChild("HumanoidRootPart"):destroy()
335
				end
336
				if ragdollright:findFirstChildOfClass("Humanoid") then
337
					ragdollright:findFirstChildOfClass("Humanoid").PlatformStand = true
338
				end
339
				if ragdollright:findFirstChild("HumanoidRootPart") then
340
					ragdollright:findFirstChild("HumanoidRootPart"):destroy()
341
				end
342
			end
343
			spawn(aaaalol)
344
		elseif character:findFirstChild("UpperTorso") then
345
			character.Archivable = true
346
			for i,v in pairs(character:GetChildren()) do
347
				if v.ClassName == "Sound" then
348
					v:remove()
349
				end
350
				for q,w in pairs(v:GetChildren()) do
351
					if w.ClassName == "Sound" then
352
						w:remove()
353
					end
354
				end
355
			end
356
			local ragdoll = character:Clone()
357
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
358
			for i,v in pairs(ragdoll:GetDescendants()) do
359
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
360
					v:destroy()
361
				end
362
			end
363
			ragdoll:BreakJoints()
364
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
365
			if ragdoll:findFirstChild("Health") then
366
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
367
					ragdoll:findFirstChild("Health").Disabled = true
368
				end
369
			end
370
			for i,v in pairs(character:GetChildren()) do
371
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
372
					v:destroy()
373
				end
374
			end
375
			for i,v in pairs(character:GetChildren()) do
376
				if v.ClassName == "Accessory" then
377
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
378
					if attachment1 then
379
						for q,w in pairs(character:GetChildren()) do
380
							if w.ClassName == "Part" or w.ClassName == "MeshPart" then
381
								local attachment2 = w:findFirstChild(attachment1.Name)
382
								if attachment2 then
383
									local hinge = Instance.new("HingeConstraint", v.Handle)
384
									hinge.Attachment0 = attachment1
385
									hinge.Attachment1 = attachment2
386
									hinge.LimitsEnabled = true
387
									hinge.LowerAngle = 0
388
									hinge.UpperAngle = 0
389
								end
390
							end
391
						end
392
					end
393
				end
394
			end
395
			ragdoll.Parent = workspace
396
			local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
397
			Humanoid.PlatformStand = true
398
			local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
399
				local connection = Instance.new('BallSocketConstraint', limb)
400
				connection.LimitsEnabled = true
401
				connection.Attachment0 = attachementone
402
				connection.Attachment1 = attachmenttwo
403
				connection.TwistLimitsEnabled = true
404
				connection.TwistLowerAngle = twistlower
405
				connection.TwistUpperAngle = twistupper
406
				local limbcollider = Instance.new("Part", limb)
407
				limbcollider.Size = Vector3.new(0.1,1,1)
408
				limbcollider.Shape = "Cylinder"
409
				limbcollider.Transparency = 1
410
				limbcollider:BreakJoints()
411
				local limbcolliderweld = Instance.new("Weld", limbcollider)
412
				limbcolliderweld.Part0 = limb
413
				limbcolliderweld.Part1 = limbcollider
414
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
415
			end
416
			local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
417
				local connection = Instance.new('HingeConstraint', limb)
418
				connection.LimitsEnabled = true
419
				connection.Attachment0 = attachementone
420
				connection.Attachment1 = attachmenttwo
421
				connection.LimitsEnabled = true
422
				connection.LowerAngle = lower
423
				connection.UpperAngle = upper
424
				local limbcollider = Instance.new("Part", limb)
425
				limbcollider.Size = Vector3.new(0.1,1,1)
426
				limbcollider.Shape = "Cylinder"
427
				limbcollider.Transparency = 1
428
				limbcollider:BreakJoints()
429
				local limbcolliderweld = Instance.new("Weld", limbcollider)
430
				limbcolliderweld.Part0 = limb
431
				limbcolliderweld.Part1 = limbcollider
432
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
433
			end
434
			local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
435
			HeadAttachment.Position = Vector3.new(0, -0.5, 0)
436
			if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
437
				makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
438
			end
439
			makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
440
			makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
441
			makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
442
			makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
443
			--
444
			makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
445
			makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
446
			makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
447
			--
448
			makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
449
			makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
450
			makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
451
			--
452
			makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
453
			makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
454
			makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
455
			for i,v in pairs(Humanoid.Parent:GetChildren()) do
456
				if v.ClassName == "Accessory" then
457
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
458
					if attachment1 then
459
						for q,w in pairs(Humanoid.Parent:GetChildren()) do
460
							if w.ClassName == "Part" then
461
								local attachment2 = w:findFirstChild(attachment1.Name)
462
								if attachment2 then
463
									local hinge = Instance.new("HingeConstraint", v.Handle)
464
									hinge.Attachment0 = attachment1
465
									hinge.Attachment1 = attachment2
466
									hinge.LimitsEnabled = true
467
									hinge.LowerAngle = 0
468
									hinge.UpperAngle = 0
469
								end
470
							end
471
						end
472
					end
473
				end
474
			end
475
			for i,v in pairs(ragdoll:GetChildren()) do
476
				for q,w in pairs(v:GetChildren()) do
477
					if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
478
						w:destroy()
479
					end
480
				end
481
			end
482
			if ragdoll:findFirstChild("HumanoidRootPart") then
483
				ragdoll.HumanoidRootPart:destroy()
484
			end
485
			if ragdoll:findFirstChildOfClass("Humanoid") then
486
				ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
487
			end
488
			local function waitfordatmoment()
489
				wait(0.2)
490
				local function searchforvelocity(wot)
491
					for i,v in pairs(wot:GetChildren()) do
492
						searchforvelocity(v)
493
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
494
							v:destroy()
495
						end
496
					end
497
				end
498
				searchforvelocity(ragdoll)
499
			end
500
			spawn(waitfordatmoment)
501
			game.Debris:AddItem(ragdoll, 30)
502
		end
503
	end
504
end
505
function damage(dmg)
506
	for i,v in pairs(workspace:GetDescendants()) do
507
		if v.ClassName == "Model" and v ~= character then
508
			local headdude = v:findFirstChild("Head")
509
			if headdude then
510
				if (headdude.Position - handle.Position).magnitude < 3.25 then
511
					if headdude.Parent ~= nil then
512
						local humm = v:findFirstChildOfClass("Humanoid")
513
						if humm then
514
							if humm.Parent ~= character then
515
								if humm.Health > 0 then
516
									gotsomeone = true
517
									charge.TimePosition = 1
518
									charge:Play()
519
									character.HumanoidRootPart.CFrame = CFrame.new(character.HumanoidRootPart.Position, Vector3.new(headdude.Position.x,character.HumanoidRootPart.Position.y,headdude.Position.z))
520
									humm.Health = humm.Health - dmg
521
									coroutine.wrap(function()
522
										wait()
523
										damage(dmg)
524
									end)()
525
									local rightarmweld = character.Torso:findFirstChild("RightArmWeldsaw")
526
									local leftarmweld = character.Torso:findFirstChild("LeftArmWeldsaw")
527
									local grip = character["Right Arm"]:WaitForChild("RightGrip")
528
									local headweld = character.Torso:findFirstChild("HeadWeldsaw")
529
									local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldsaw")
530
									local random = math.random(-10,10)/100
531
									grip.C0 = CFrame.new(-0.0732569695, -1.92370892, -0.641631603, 0.969727159, 0.0133714303, -0.243824616, 0.238927066, 0.154250577, 0.95870775, 0.050429374, -0.987941206, 0.146386176)
532
									headweld.C0 = CFrame.new(-0.0150766373, 1.49240398, 0.0855045319, 0.984807789, -0.0301536527, -0.171009883, -8.14907253e-10, 0.98480773, -0.173648179, 0.173647955, 0.171010077, 0.969846368)
533
									rootweld.C0 = CFrame.new(0, 0, 0, 0.984807789, -0.0301536173, 0.171009868, 0, 0.984807789, 0.17364797, -0.17364797, -0.171009868, 0.969846368)
534
									rightarmweld.C0 =  CFrame.new(1.23043251, 0.356081486, -0.816204071, 0.939692616, 0.342020154, -6.33299351e-08, -0.0593911633, 0.163175702, -0.98480767, -0.336824059, 0.925416589, 0.17364797) * CFrame.fromEulerAnglesXYZ(random,0,0)
535
									leftarmweld.C0 = CFrame.new(-0.310541153, 1.13866043, -1.10306931, 0.49999997, -0.813797772, 0.2961981, 0.15038377, -0.25523603, -0.95511198, 0.852868557, 0.522099376, -0.00523606688) * CFrame.fromEulerAnglesXYZ(random,0,0)
536
									if not goreplaying then
537
										goreplaying = true
538
										hitsound:Play()
539
										local goresounds = {goresound, goresound2, goresound3}
540
										local pickedsound = goresounds[math.random(1,#goresounds)]
541
										pickedsound:Play()
542
										coroutine.wrap(function()
543
											wait(pickedsound.TimeLength)
544
											goreplaying = false
545
										end)()
546
									end
547
								else
548
									ragdollkill(humm.Parent)
549
									counter = 0
550
									goreplaying = false
551
									gotsomeone = false
552
									canattack = false
553
									cananimate = false
554
									local grip = character["Right Arm"]:WaitForChild("RightGrip")
555
									local rightarmweld = character.Torso:findFirstChild("RightArmWeldsaw")
556
									local leftarmweld = character.Torso:findFirstChild("LeftArmWeldsaw")
557
									local headweld = character.Torso:findFirstChild("HeadWeldsaw")
558
									local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldsaw")
559
									for i = 0,1 , 0.07 do
560
										grip.C0 = grip.C0:lerp(CFrame.new(0.338353157, -2.24114323, -0.897329807, 0.928362608, 0.214593962, -0.303466737, 0.149478868, 0.531971872, 0.833463669, 0.340291977, -0.819118381, 0.461785525),i)
561
										rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.18301249, 0.158493519, -0.591506004, 0.866025269, 0.49999994, -1.49011612e-08, -0.24999994, 0.433012664, -0.866025388, -0.433012694, 0.74999994, 0.499999851),i)
562
										leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-0.33951664, 0.407286167, -1.21828938, 0.649518967, -0.759164333, 0.0423575863, 0.0593911484, -0.00488249958, -0.998222709, 0.75802207, 0.650880337, 0.0419163257),i)
563
										rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.939692676, -0.0593911223, 0.336823821, 0, 0.98480773, 0.173648149, -0.342019886, -0.163175881, 0.925416589) * CFrame.fromEulerAnglesXYZ(0,math.rad(20),0),i)
564
										headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.5, 0, 0.939692497, -3.7252903e-09, -0.342020094, 1.97906047e-09, 0.999999881, 1.49011612e-08, 0.342020035, 1.49011612e-08, 0.939692438),i)
565
										runservice.Stepped:wait()
566
									end
567
									charge:Stop()
568
									canattack = true
569
									cananimate = true
570
								end
571
							end
572
						end
573
					end
574
				end
575
			end
576
		end
577
	end
578
end
579
tool.Unequipped:connect(function()
580
	equipped = false
581
	mouseclick = false
582
	cananimate = false
583
	idlesound:Stop()
584
	charge:Stop()
585
	if character.Torso:findFirstChild("LeftArmWeldsaw") then
586
		character.Torso:findFirstChild("LeftArmWeldsaw"):destroy()
587
	end
588
	if character.Torso:findFirstChild("RightArmWeldsaw") then
589
		character.Torso:findFirstChild("RightArmWeldsaw"):destroy()
590
	end
591
	if character.Torso:findFirstChild("HeadWeldsaw") then
592
		character.Torso:findFirstChild("HeadWeldsaw"):destroy()
593
	end
594
	if character:findFirstChild("HumanoidRootPart") then
595
		if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldsaw") then
596
			character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldsaw"):destroy()
597
		end
598
	end
599
end)
600
tool.Equipped:connect(function()
601
	equipped = true
602
	cananimate = true
603
	canattack = false
604
	equipsound:Play()
605
	idlesound:Play()
606
	owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
607
	character = owner.Character
608
	local grip = character["Right Arm"]:WaitForChild("RightGrip")
609
	local rightarm = Instance.new("Weld", character.Torso)
610
	rightarm.Part0 = character.Torso
611
	rightarm.Part1 = character["Right Arm"]
612
	rightarm.C0 = CFrame.new(1.5,0,0)
613
	rightarm.Name = "RightArmWeldsaw"
614
	local leftarm = Instance.new("Weld", character.Torso)
615
	leftarm.Part0 = character.Torso
616
	leftarm.Part1 = character["Left Arm"]
617
	leftarm.C0 = CFrame.new(-1.5,0,0)
618
	leftarm.Name = "LeftArmWeldsaw"
619
	local head = Instance.new("Weld", character.Torso)
620
	head.Part0 = character.Torso
621
	head.Part1 = character.Head
622
	head.C0 = CFrame.new(0,1.5,0)
623
	head.Name = "HeadWeldsaw"
624
	local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
625
	humanoidrootpart.Part0 = character.HumanoidRootPart
626
	humanoidrootpart.Part1 = character.Torso
627
	humanoidrootpart.Name = "HumanoidRootPartWeldsaw"
628
	for i = 0,1 , 0.07 do
629
		grip.C0 = grip.C0:lerp(CFrame.new(-1.05606174, -2.31819725, 0.326734543, 0.737709045, -0.431000441, 0.519638062, -0.593709648, -0.0477490723, 0.803261399, -0.321393758, -0.901087344, -0.291114032),i)
630
		rightarm.C0 = rightarm.C0:lerp(CFrame.new(1.18301249, 0.266395807, -0.641820908, 0.866025329, 0.49999994, -2.98023224e-08, -0.171010047, 0.29619807, -0.939692497, -0.469846189, 0.813797653, 0.342020094),i)
631
		leftarm.C0 = leftarm.C0:lerp(CFrame.new(-0.961470604, 0.328989744, -0.685032845, 0.642787576, -0.719846189, -0.262002558, 0, 0.342020094, -0.939692497, 0.766044378, 0.604022741, 0.219846293),i)
632
		humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.342020094, 0, -0.939692616, 0.163175717, 0.984807789, 0.0593910962, 0.925416589, -0.17364797, 0.336824059),i)
633
		head.C0 = head.C0:lerp(CFrame.new(-0.0855050087, 1.46984625, -0.148098946, 0.974494398, -0.171010137, 0.145312965, 0.116977841, 0.939692557, 0.321393967, -0.191511184, -0.296198308, 0.935729682),i)
634
		runservice.Stepped:wait()
635
	end
636
	wait(0.45)
637
	for i = 0,1 , 0.07 do
638
		grip.C0 = grip.C0:lerp(CFrame.new(-0.772166252, -2.19977283, -0.396611214, 0.845839143, -0.296142429, 0.443684131, -0.404046834, 0.187376171, 0.895341277, -0.348284483, -0.936584055, 0.038834691),i)
639
		rightarm.C0 = rightarm.C0:lerp(CFrame.new(1.5, 0.250000238, -0.433012486, 0.999999881, 0, 1.49011612e-08, 1.49011603e-08, 0.499999553, -0.866025567, 5.96046448e-08, 0.866025448, 0.499999583),i)
640
		leftarm.C0 = leftarm.C0:lerp(CFrame.new(-1.68301296, 0.808493614, 0.534326553, 0.866025388, 0.5, 1.49011612e-08, -0.24999994, 0.433012575, -0.866025388, -0.433012724, 0.75, 0.499999881),i)
641
		humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.766044438, 0, -0.642787576, 0, 1, 0, 0.642787576, 0, 0.766044438),i)
642
		head.C0 = head.C0:lerp(CFrame.new(0, 1.5, 0, 0.866025388, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025388),i)
643
		runservice.Stepped:wait()
644
	end
645
	wait(0.5)
646
	canattack = true
647
	coroutine.wrap(function()
648
		while equipped and runservice.Stepped:wait() do
649
			if cananimate and not gotsomeone then
650
				grip.C0 = grip.C0:lerp(CFrame.new(-0.242508888, -2.5377059, -0.631694317, 0.946577728, -0.296142906, 0.127631813, -0.0734542608, 0.18737559, 0.979537964, -0.313998401, -0.936583996, 0.155612677),0.1)
651
				rightarm.C0 = rightarm.C0:lerp(CFrame.new(0.930742264, 0.177621126, -0.385728598, 0.642787576, 0.719846249, 0.262002587, -0.262002587, 0.527981639, -0.807830274, -0.719846249, 0.450617909, 0.527981758) * CFrame.fromEulerAnglesXYZ(math.sin(tick()*45)/40,0,0),0.1)
652
				leftarm.C0 = leftarm.C0:lerp(CFrame.new(-1.18301296, 0.266396046, -0.64182198, 0.866025269, -0.5, 0, 0.171010062, 0.29619807, -0.939692557, 0.469846249, 0.813797593, 0.342020154) * CFrame.fromEulerAnglesXYZ(math.sin(tick()*45)/40,0,0),0.1)
653
				head.C0 = head.C0:lerp(CFrame.new(0, 1.5, 0, 0.98480767, 0, 0.173648164, 0, 1, 0, -0.173648164, 0, 0.98480767),0.1)
654
				humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.98480773, 0, -0.173648179, 0, 1, 0, 0.173648179, 0, 0.98480773),0.1)
655
			end
656
		end
657
	end)()
658
end)
659
tool.Activated:connect(function()
660
	if canattack then
661
		canattack = false
662
		cananimate = false
663
		local grip = character["Right Arm"]:WaitForChild("RightGrip")
664
		local rightarmweld = character.Torso:findFirstChild("RightArmWeldsaw")
665
		local leftarmweld = character.Torso:findFirstChild("LeftArmWeldsaw")
666
		local headweld = character.Torso:findFirstChild("HeadWeldsaw")
667
		local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldsaw")
668
		charge:Play()
669
		for i = 0,1 , 0.04 do
670
			grip.C0 = grip.C0:lerp(CFrame.new(0.338353157, -2.24114323, -0.897329807, 0.928362608, 0.214593962, -0.303466737, 0.149478868, 0.531971872, 0.833463669, 0.340291977, -0.819118381, 0.461785525),i)
671
			rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.27280998, 0.726655483, -0.622729301, 0.984807372, -0.173648089, -7.4505806e-08, -0.0593910888, -0.336823702, -0.939691901, 0.163175941, 0.925416112, -0.342019677),i)
672
			leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(0.686654091, 1.62646389, -1.40339398, 0.649519086, -0.727868378, 0.219846457, -0.315068483, -0.520797014, -0.793411732, 0.691994667, 0.44606936, -0.567595959),i)
673
			rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.939692616, -0.0593911707, -0.336824059, 0, 0.98480773, -0.173648179, 0.342020124, 0.163175911, 0.925416529),i)
674
			headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.49999952, 0, 0.939692616, 0, 0.342020094, 3.78349796e-09, 0.999999881, 0, -0.342020124, 0, 0.939692497),i)
675
			runservice.Stepped:wait()
676
		end
677
		swishsound:Play()
678
		for i = 0,1 , 0.07 do
679
			if not gotsomeone then
680
				damage(math.random(5,10))
681
				grip.C0 = grip.C0:lerp(CFrame.new(0.338353157, -2.24114323, -0.897329807, 0.928362608, 0.214593962, -0.303466737, 0.149478868, 0.531971872, 0.833463669, 0.340291977, -0.819118381, 0.461785525),i)
682
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.18301249, 0.158493519, -0.591506004, 0.866025269, 0.49999994, -1.49011612e-08, -0.24999994, 0.433012664, -0.866025388, -0.433012694, 0.74999994, 0.499999851),i)
683
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-0.33951664, 0.407286167, -1.21828938, 0.649518967, -0.759164333, 0.0423575863, 0.0593911484, -0.00488249958, -0.998222709, 0.75802207, 0.650880337, 0.0419163257),i)
684
				rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.939692676, -0.0593911223, 0.336823821, 0, 0.98480773, 0.173648149, -0.342019886, -0.163175881, 0.925416589) * CFrame.fromEulerAnglesXYZ(0,math.rad(20),0),i)
685
				headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.5, 0, 0.939692497, -3.7252903e-09, -0.342020094, 1.97906047e-09, 0.999999881, 1.49011612e-08, 0.342020035, 1.49011612e-08, 0.939692438),i)
686
				runservice.Stepped:wait()
687
			end
688
		end
689
		charge:Stop()
690
		if gotsomeone then
691
			wait(2)
692
		end
693
		gotsomeone = false
694
		canattack = true
695
		cananimate = true
696
	end
697
end)
698
end)()