View difference between Paste ID: UdJhF4ND and fufRVcK6
SHOW: | | - or go back to the newest paste.
1
--By Rufus14
2
--Converted with ttyyuu12345's model to script plugin v4
3
Tool0 = Instance.new("Tool")
4
Part2 = Instance.new("Part")
5
SpecialMesh3 = Instance.new("SpecialMesh")
6
Sound4 = Instance.new("Sound")
7
Sound5 = Instance.new("Sound")
8
Sound6 = Instance.new("Sound")
9
Trail7 = Instance.new("Trail")
10
Sound8 = Instance.new("Sound")
11
Tool0.Name = "Katana"
12
Tool0.TextureId = "http://www.roblox.com/asset/?id=11444089"
13
Tool0.Grip = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0)
14
Tool0.GripForward = Vector3.new(-1, -0, -0)
15
Tool0.GripPos = Vector3.new(0, 0, -1.70000005)
16
Tool0.GripRight = Vector3.new(0, 1, 0)
17
Tool0.GripUp = Vector3.new(0, 0, 1)
18
Part2.Name = "Handle"
19
Part2.Parent = Tool0
20
Part2.CFrame = CFrame.new(17.0572929, 0.300189167, -9.76147747, 0.779687822, 0.000515311665, -0.626168191, -0.000676799158, 0.999999762, -1.97718891e-05, 0.626168072, 0.000439205993, 0.779688001)
21
Part2.Orientation = Vector3.new(0, -38.7700005, -0.0399999991)
22
Part2.Position = Vector3.new(17.0572929, 0.300189167, -9.76147747)
23
Part2.Rotation = Vector3.new(0, -38.7700005, -0.0399999991)
24
Part2.Color = Color3.new(0.388235, 0.372549, 0.384314)
25
Part2.Size = Vector3.new(0.400000036, 0.200000033, 5)
26
Part2.BottomSurface = Enum.SurfaceType.Smooth
27
Part2.BrickColor = BrickColor.new("Dark stone grey")
28
Part2.Reflectance = 0.40000000596046
29
Part2.TopSurface = Enum.SurfaceType.Smooth
30
Part2.brickColor = BrickColor.new("Dark stone grey")
31
SpecialMesh3.Parent = Part2
32
SpecialMesh3.MeshId = "http://www.roblox.com/asset/?id=11442510"
33
SpecialMesh3.Scale = Vector3.new(1.70000005, 1.70000005, 1.70000005)
34
SpecialMesh3.TextureId = "http://www.roblox.com/asset/?id=11442524"
35
SpecialMesh3.MeshType = Enum.MeshType.FileMesh
36
Sound4.Name = "Swoosh"
37
Sound4.Parent = Part2
38
Sound4.SoundId = "rbxassetid://1489705211"
39
Sound4.Volume = 0.69999998807907
40
Sound5.Name = "Equip"
41
Sound5.Parent = Part2
42
Sound5.SoundId = "rbxassetid://211059653"
43
Sound5.Volume = 1
44
Sound6.Name = "Stab"
45
Sound6.Parent = Part2
46
Sound6.SoundId = "rbxassetid://4471648128"
47
Trail7.Parent = Part2
48
local attach = Instance.new("Attachment", Part2)
49
attach.Position = Vector3.new(-0, -0, -1)
50
local attach2 = Instance.new("Attachment", Part2)
51
attach2.Position = Vector3.new(-0, 0, 2.6)
52
Trail7.Attachment0 = attach
53
Trail7.Attachment1 = attach2
54
Trail7.LightInfluence = 1
55
Trail7.Transparency = NumberSequence.new(0.80000001192093,0.80000001192093)
56
Trail7.Lifetime = 0.10000000149012
57
Sound8.Name = "Clang"
58
Sound8.Parent = Part2
59
Sound8.SoundId = "rbxassetid://357622136"
60
Sound8.Volume = 1
61
Tool0.Parent = owner.Character
62
coroutine.wrap(function()
63
--By Rufus14
64
canattack = true
65
cananimate = false
66
equipped = false
67
tool = Tool0
68
handle = tool.Handle
69
equipsound = handle.Equip
70
swishsound = handle.Swoosh
71
blocksound = handle.Clang
72
stabsound = handle.Stab
73
owner = nil
74
character = nil
75
mouseclick = false
76
attacknumber = 1
77
trail = handle.Trail
78
runservice = game:GetService("RunService")
79
--
80
tool.Activated:connect(function()
81
	mouseclick = true
82
end)
83
tool.Deactivated:connect(function()
84
	mouseclick = false
85
end)
86
--
87
function ragdollkill(character)
88
	local victimshumanoid = character:findFirstChildOfClass("Humanoid")
89
	local checkragd = character:findFirstChild("ragded")
90
	if not checkragd then
91
		local boolvalue = Instance.new("BoolValue", character)
92
		boolvalue.Name = "ragded"
93
		if not character:findFirstChild("UpperTorso") then
94
			character.Archivable = true
95
			for i,v in pairs(character:GetChildren()) do
96
				if v.ClassName == "Sound" then
97
					v:remove()
98
				end
99
				for q,w in pairs(v:GetChildren()) do
100
					if w.ClassName == "Sound" then
101
						w:remove()
102
					end
103
				end
104
			end
105
			local ragdoll = character:Clone()
106
			for i,v in pairs(ragdoll:GetDescendants()) do
107
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
108
					v:destroy()
109
				end
110
			end
111
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
112
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
113
			if ragdoll:findFirstChild("Health") then
114
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
115
					ragdoll:findFirstChild("Health").Disabled = true
116
				end
117
			end
118
			for i,v in pairs(character:GetChildren()) do
119
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
120
					v:destroy()
121
				end
122
			end
123
			for i,v in pairs(character:GetChildren()) do
124
				if v.ClassName == "Accessory" then
125
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
126
					if attachment1 then
127
						for q,w in pairs(character:GetChildren()) do
128
							if w.ClassName == "Part" then
129
								local attachment2 = w:findFirstChild(attachment1.Name)
130
								if attachment2 then
131
									local hinge = Instance.new("HingeConstraint", v.Handle)
132
									hinge.Attachment0 = attachment1
133
									hinge.Attachment1 = attachment2
134
									hinge.LimitsEnabled = true
135
									hinge.LowerAngle = 0
136
									hinge.UpperAngle = 0
137
								end
138
							end
139
						end
140
					end
141
				end
142
			end
143
			ragdoll.Parent = workspace
144
			if ragdoll:findFirstChild("Right Arm") then
145
				local glue = Instance.new("Glue", ragdoll.Torso)
146
				glue.Part0 = ragdoll.Torso
147
				glue.Part1 = ragdoll:findFirstChild("Right Arm")
148
				glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
149
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
150
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
151
				limbcollider.Size = Vector3.new(1.4,1,1)
152
				limbcollider.Shape = "Cylinder"
153
				limbcollider.Transparency = 1
154
				limbcollider.Name = "LimbCollider"
155
				local limbcolliderweld = Instance.new("Weld", limbcollider)
156
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
157
				limbcolliderweld.Part1 = limbcollider
158
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
159
			end
160
			if ragdoll:findFirstChild("Left Arm") then
161
				local glue = Instance.new("Glue", ragdoll.Torso)
162
				glue.Part0 = ragdoll.Torso
163
				glue.Part1 = ragdoll:findFirstChild("Left Arm")
164
				glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
165
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
166
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
167
				limbcollider.Size = Vector3.new(1.4,1,1)
168
				limbcollider.Shape = "Cylinder"
169
				limbcollider.Name = "LimbCollider"
170
				limbcollider.Transparency = 1
171
				local limbcolliderweld = Instance.new("Weld", limbcollider)
172
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
173
				limbcolliderweld.Part1 = limbcollider
174
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
175
			end
176
			if ragdoll:findFirstChild("Left Leg") then
177
				local glue = Instance.new("Glue", ragdoll.Torso)
178
				glue.Part0 = ragdoll.Torso
179
				glue.Part1 = ragdoll:findFirstChild("Left Leg")
180
				glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
181
				glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
182
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
183
				limbcollider.Size = Vector3.new(1.4,1,1)
184
				limbcollider.Shape = "Cylinder"
185
				limbcollider.Name = "LimbCollider"
186
				limbcollider.Transparency = 1
187
				local limbcolliderweld = Instance.new("Weld", limbcollider)
188
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
189
				limbcolliderweld.Part1 = limbcollider
190
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
191
			end
192
			if ragdoll:findFirstChild("Right Leg") then
193
				local glue = Instance.new("Glue", ragdoll.Torso)
194
				glue.Part0 = ragdoll.Torso
195
				glue.Part1 = ragdoll:findFirstChild("Right Leg")
196
				glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
197
				glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
198
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
199
				limbcollider.Size = Vector3.new(1.4,1,1)
200
				limbcollider.Shape = "Cylinder"
201
				limbcollider.Name = "LimbCollider"
202
				limbcollider.Transparency = 1
203
				local limbcolliderweld = Instance.new("Weld", limbcollider)
204
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
205
				limbcolliderweld.Part1 = limbcollider
206
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
207
			end
208
			if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
209
				local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
210
				HeadAttachment.Position = Vector3.new(0, -0.5, 0)
211
				local connection = Instance.new('HingeConstraint', ragdoll["Head"])
212
				connection.LimitsEnabled = true
213
				connection.Attachment0 = ragdoll.Torso.NeckAttachment
214
				connection.Attachment1 = HeadAttachment
215
				connection.UpperAngle = 60
216
				connection.LowerAngle = -60
217
			elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
218
				local hedweld = Instance.new("Weld", ragdoll.Torso)
219
				hedweld.Part0 = ragdoll.Torso
220
				hedweld.Part1 = ragdoll.Head
221
				hedweld.C0 = CFrame.new(0,1.5,0)
222
			end
223
			game.Debris:AddItem(ragdoll, 30)
224
			local function aaaalol()
225
				wait(0.2)
226
				local function searchforvelocity(wot)
227
					for i,v in pairs(wot:GetChildren()) do
228
						searchforvelocity(v)
229
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
230
							v:destroy()
231
						end
232
					end
233
				end
234
				searchforvelocity(ragdoll)
235
				wait(0.5)
236
				if ragdoll:findFirstChildOfClass("Humanoid") then
237
					ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
238
				end
239
				if ragdoll:findFirstChild("HumanoidRootPart") then
240
					ragdoll:findFirstChild("HumanoidRootPart"):destroy()
241
				end
242
			end
243
			spawn(aaaalol)
244
		elseif character:findFirstChild("UpperTorso") then
245
			character.Archivable = true
246
			for i,v in pairs(character:GetChildren()) do
247
				if v.ClassName == "Sound" then
248
					v:remove()
249
				end
250
				for q,w in pairs(v:GetChildren()) do
251
					if w.ClassName == "Sound" then
252
						w:remove()
253
					end
254
				end
255
			end
256
			local ragdoll = character:Clone()
257
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
258
			for i,v in pairs(ragdoll:GetDescendants()) do
259
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
260
					v:destroy()
261
				end
262
			end
263
			ragdoll:BreakJoints()
264
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
265
			if ragdoll:findFirstChild("Health") then
266
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
267
					ragdoll:findFirstChild("Health").Disabled = true
268
				end
269
			end
270
			for i,v in pairs(character:GetChildren()) do
271
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
272
					v:destroy()
273
				end
274
			end
275
			for i,v in pairs(character:GetChildren()) do
276
				if v.ClassName == "Accessory" then
277
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
278
					if attachment1 then
279
						for q,w in pairs(character:GetChildren()) do
280
							if w.ClassName == "Part" or w.ClassName == "MeshPart" then
281
								local attachment2 = w:findFirstChild(attachment1.Name)
282
								if attachment2 then
283
									local hinge = Instance.new("HingeConstraint", v.Handle)
284
									hinge.Attachment0 = attachment1
285
									hinge.Attachment1 = attachment2
286
									hinge.LimitsEnabled = true
287
									hinge.LowerAngle = 0
288
									hinge.UpperAngle = 0
289
								end
290
							end
291
						end
292
					end
293
				end
294
			end
295
			ragdoll.Parent = workspace
296
			local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
297
			Humanoid.PlatformStand = true
298
			local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
299
				local connection = Instance.new('BallSocketConstraint', limb)
300
				connection.LimitsEnabled = true
301
				connection.Attachment0 = attachementone
302
				connection.Attachment1 = attachmenttwo
303
				connection.TwistLimitsEnabled = true
304
				connection.TwistLowerAngle = twistlower
305
				connection.TwistUpperAngle = twistupper
306
				local limbcollider = Instance.new("Part", limb)
307
				limbcollider.Size = Vector3.new(0.1,1,1)
308
				limbcollider.Shape = "Cylinder"
309
				limbcollider.Transparency = 1
310
				limbcollider:BreakJoints()
311
				local limbcolliderweld = Instance.new("Weld", limbcollider)
312
				limbcolliderweld.Part0 = limb
313
				limbcolliderweld.Part1 = limbcollider
314
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
315
			end
316
			local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
317
				local connection = Instance.new('HingeConstraint', limb)
318
				connection.LimitsEnabled = true
319
				connection.Attachment0 = attachementone
320
				connection.Attachment1 = attachmenttwo
321
				connection.LimitsEnabled = true
322
				connection.LowerAngle = lower
323
				connection.UpperAngle = upper
324
				local limbcollider = Instance.new("Part", limb)
325
				limbcollider.Size = Vector3.new(0.1,1,1)
326
				limbcollider.Shape = "Cylinder"
327
				limbcollider.Transparency = 1
328
				limbcollider:BreakJoints()
329
				local limbcolliderweld = Instance.new("Weld", limbcollider)
330
				limbcolliderweld.Part0 = limb
331
				limbcolliderweld.Part1 = limbcollider
332
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
333
			end
334
			local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
335
			HeadAttachment.Position = Vector3.new(0, -0.5, 0)
336
			if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
337
				makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
338
			end
339
			makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
340
			makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
341
			makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
342
			makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
343
			--
344
			makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
345
			makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
346
			makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
347
			--
348
			makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
349
			makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
350
			makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
351
			--
352
			makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
353
			makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
354
			makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
355
			for i,v in pairs(Humanoid.Parent:GetChildren()) do
356
				if v.ClassName == "Accessory" then
357
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
358
					if attachment1 then
359
						for q,w in pairs(Humanoid.Parent:GetChildren()) do
360
							if w.ClassName == "Part" then
361
								local attachment2 = w:findFirstChild(attachment1.Name)
362
								if attachment2 then
363
									local hinge = Instance.new("HingeConstraint", v.Handle)
364
									hinge.Attachment0 = attachment1
365
									hinge.Attachment1 = attachment2
366
									hinge.LimitsEnabled = true
367
									hinge.LowerAngle = 0
368
									hinge.UpperAngle = 0
369
								end
370
							end
371
						end
372
					end
373
				end
374
			end
375
			for i,v in pairs(ragdoll:GetChildren()) do
376
				for q,w in pairs(v:GetChildren()) do
377
					if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
378
						w:destroy()
379
					end
380
				end
381
			end
382
			if ragdoll:findFirstChild("HumanoidRootPart") then
383
				ragdoll.HumanoidRootPart:destroy()
384
			end
385
			if ragdoll:findFirstChildOfClass("Humanoid") then
386
				ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
387
			end
388
			local function waitfordatmoment()
389
				wait(0.2)
390
				local function searchforvelocity(wot)
391
					for i,v in pairs(wot:GetChildren()) do
392
						searchforvelocity(v)
393
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
394
							v:destroy()
395
						end
396
					end
397
				end
398
				searchforvelocity(ragdoll)
399
			end
400
			spawn(waitfordatmoment)
401
			game.Debris:AddItem(ragdoll, 30)
402
		end
403
	end
404
end
405
function damage()
406
	for i,v in pairs(workspace:GetDescendants()) do
407
		if v.ClassName == "Model" then
408
			local head = v:findFirstChild("Head")
409
			local humanoid = v:findFirstChildOfClass("Humanoid")
410
			local torso = v:findFirstChild("Torso")
411
			local ragdolled = v:findFirstChild("ragdolledknife")
412
			if humanoid and head and not ragdolled then
413
				if (head.Position - handle.Position).magnitude < 2.5 and v ~= character and humanoid.Health > 0 then
414
					stabsound.PlaybackSpeed = 1+(math.random(-4,4)/20)
415
					stabsound:Play()
416
					local dmg = math.random(30,50)
417
					if humanoid.Health <= dmg then
418
						humanoid.Health = 0
419
						ragdollkill(v)
420
					end
421
					humanoid.Health = humanoid.Health - dmg
422
					local ragdolledknife = Instance.new("BoolValue", v)
423
					ragdolledknife.Name = "ragdolledknife"
424
					local velocity = Instance.new("BodyVelocity", head)
425
					velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
426
					velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(5,15)
427
					humanoid.PlatformStand = true
428
					coroutine.wrap(function()
429
						wait(1)
430
						humanoid.PlatformStand = false
431
					end)()
432
					game.Debris:AddItem(ragdolledknife, 1)
433
					game.Debris:AddItem(velocity, 0.2)
434
					if torso then
435
						coroutine.wrap(function()
436
							humanoid = v:WaitForChild("Humanoid")
437
							local ragdoll = v
438
							if ragdoll:findFirstChild("Right Arm") then
439
								local glue = Instance.new("Glue", ragdoll.Torso)
440
								glue.Part0 = ragdoll.Torso
441
								glue.Part1 = ragdoll:findFirstChild("Right Arm")
442
								glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
443
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
444
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
445
								limbcollider.Size = Vector3.new(1.4,1,1)
446
								limbcollider.Shape = "Cylinder"
447
								limbcollider.Transparency = 1
448
								limbcollider.Name = "LimbCollider"
449
								local limbcolliderweld = Instance.new("Weld", limbcollider)
450
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
451
								limbcolliderweld.Part1 = limbcollider
452
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
453
								coroutine.wrap(function()
454
									if ragdoll.Torso:findFirstChild("Right Shoulder") then
455
										local limbclone = ragdoll.Torso:findFirstChild("Right Shoulder"):Clone()
456
										ragdoll.Torso:findFirstChild("Right Shoulder"):destroy()
457
										coroutine.wrap(function()
458
											wait(1)
459
											limbclone.Parent = ragdoll.Torso
460
											limbclone.Part0 = ragdoll.Torso
461
											limbclone.Part1 = ragdoll["Right Arm"]
462
										end)()
463
									end
464
									wait(1)
465
									glue:destroy()
466
									limbcollider:destroy()
467
									limbcolliderweld:destroy()
468
								end)()
469
							end
470
							if ragdoll:findFirstChild("Left Arm") then
471
								local glue = Instance.new("Glue", ragdoll.Torso)
472
								glue.Part0 = ragdoll.Torso
473
								glue.Part1 = ragdoll:findFirstChild("Left Arm")
474
								glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
475
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
476
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
477
								limbcollider.Size = Vector3.new(1.4,1,1)
478
								limbcollider.Shape = "Cylinder"
479
								limbcollider.Name = "LimbCollider"
480
								limbcollider.Transparency = 1
481
								local limbcolliderweld = Instance.new("Weld", limbcollider)
482
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")			
483
								limbcolliderweld.Part1 = limbcollider
484
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
485
								coroutine.wrap(function()
486
									if ragdoll.Torso:findFirstChild("Left Shoulder") then
487
										local limbclone = ragdoll.Torso:findFirstChild("Left Shoulder"):Clone()
488
										ragdoll.Torso:findFirstChild("Left Shoulder"):destroy()
489
										coroutine.wrap(function()
490
											wait(1)
491
											limbclone.Parent = ragdoll.Torso
492
											limbclone.Part0 = ragdoll.Torso
493
											limbclone.Part1 = ragdoll["Left Arm"]
494
										end)()
495
									end
496
									wait(1)
497
									glue:destroy()
498
									limbcollider:destroy()
499
									limbcolliderweld:destroy()
500
								end)()
501
							end
502
							if ragdoll:findFirstChild("Left Leg") then
503
								local glue = Instance.new("Glue", ragdoll.Torso)
504
								glue.Part0 = ragdoll.Torso
505
								glue.Part1 = ragdoll:findFirstChild("Left Leg")
506
								glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
507
								glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
508
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
509
								limbcollider.Size = Vector3.new(1.5,1,1)
510
								limbcollider.Shape = "Cylinder"
511
								limbcollider.Name = "LimbCollider"
512
								limbcollider.Transparency = 1
513
								local limbcolliderweld = Instance.new("Weld", limbcollider)
514
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
515
								limbcolliderweld.Part1 = limbcollider
516
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
517
								coroutine.wrap(function()
518
									if ragdoll.Torso:findFirstChild("Left Hip") then
519
										local limbclone = ragdoll.Torso:findFirstChild("Left Hip"):Clone()
520
										ragdoll.Torso:findFirstChild("Left Hip"):destroy()
521
										coroutine.wrap(function()
522
											wait(1)
523
											limbclone.Parent = ragdoll.Torso
524
											limbclone.Part0 = ragdoll.Torso
525
											limbclone.Part1 = ragdoll["Left Leg"]
526
										end)()
527
									end
528
									wait(1)
529
									glue:destroy()
530
									limbcollider:destroy()
531
									limbcolliderweld:destroy()
532
								end)()
533
							end
534
							if ragdoll:findFirstChild("Right Leg") then
535
								local glue = Instance.new("Glue", ragdoll.Torso)
536
								glue.Part0 = ragdoll.Torso
537
								glue.Part1 = ragdoll:findFirstChild("Right Leg")
538
								glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
539
								glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
540
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
541
								limbcollider.Size = Vector3.new(1.5,1,1)
542
								limbcollider.Shape = "Cylinder"
543
								limbcollider.Name = "LimbCollider"
544
								limbcollider.Transparency = 1
545
								local limbcolliderweld = Instance.new("Weld", limbcollider)
546
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
547
								limbcolliderweld.Part1 = limbcollider
548
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
549
								coroutine.wrap(function()
550
									if ragdoll.Torso:findFirstChild("Right Hip") then
551
										local limbclone = ragdoll.Torso:findFirstChild("Right Hip"):Clone()
552
										ragdoll.Torso:findFirstChild("Right Hip"):destroy()
553
										coroutine.wrap(function()
554
											wait(1)
555
											limbclone.Parent = ragdoll.Torso
556
											limbclone.Part0 = ragdoll.Torso
557
											limbclone.Part1 = ragdoll["Right Leg"]
558
										end)()
559
									end
560
									wait(1)
561
									glue:destroy()
562
									limbcollider:destroy()
563
									limbcolliderweld:destroy()
564
								end)()
565
							end
566
						end)()
567
					end
568
				end
569
			end
570
		end
571
	end
572
end
573
function swooshh()
574
	if owner ~= nil and character ~= nil and canattack then
575
		cananimate = false
576
		canattack = false
577
		local rightarmweld = character.Torso:findFirstChild("RightArmWeldkata")
578
		local leftarmweld = character.Torso:findFirstChild("LeftArmWeldkata")
579
		local headweld = character.Torso:findFirstChild("HeadWeldkata")
580
		local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldkata")
581
		if attacknumber == 1 then
582
			for i = 2 do
583
				tool.Grip = tool.Grip * CFrame.fromEulerAnglesXYZ(math.rad(-5),0,0)
584
				headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.5, 0, 0.866025388, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025388),i)
585
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.64085674, 0.312389612, -0.122621536, 0.939692497, -0.342020065, 0, -0.29619807, -0.813797593, -0.5, 0.171010077, 0.469846338, -0.866025388),i)
586
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(1.02380371, 0.612811089, -0.671613693, 0.440969527, -0.84082067, 0.313952357, -0.813797534, -0.522099257, -0.255236179, 0.378522247, -0.14294228, -0.914487958),i)
587
				rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.866025388, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025388) * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0),i)
588
				runservice.Stepped:wait()
589
			end
590
			trail.Enabled = true
591
			swishsound.PlaybackSpeed = 1+(math.random(-4,4)/20)
592
			swishsound:Play()
593
			for i = 0,1 , 0.15 do
594
				damage()
595
				tool.Grip = tool.Grip * CFrame.fromEulerAnglesXYZ(math.rad(15),0,0)
596
				headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.5, 0, 0.766044259, 0, -0.642787516, 0, 1, 0, 0.642787516, 0, 0.766044259),i)
597
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(0.683202744, -0.20174861, -0.846788406, 0.485379666, 0.55736959, -0.673606277, -0.785861969, 0.615793824, -0.056734439, 0.383180559, 0.556899309, 0.736909389),i)
598
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-0.429347992, -0.274533272, -0.938881874, -0.164195985, -0.2279284, -0.959733248, -0.713444591, 0.699326932, -0.0440245233, 0.681201816, 0.677488148, -0.277441025),i)
599
				rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.766044378, 0, 0.642787576, 0, 1, 0, -0.642787576, 0, 0.766044378) * CFrame.fromEulerAnglesXYZ(-math.rad(10),math.rad(20),0),i)
600
				runservice.Stepped:wait()
601
			end
602
			trail.Enabled = false
603
			attacknumber = 2
604
		elseif attacknumber == 2 then
605
			for i = 0,1 , 0.15 do
606
				tool.Grip = tool.Grip * CFrame.fromEulerAnglesXYZ(math.rad(-5),0,0)
607
				headweld.C0 = headweld.C0:lerp(CFrame.new(0.0751914978, 1.49240375, -0.0434103012, 0.640502989, 0.150383756, -0.753087461, -0.0301536862, 0.98480773, 0.171010047, 0.767363608, -0.0868240893, 0.635306776),i)
608
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(-0.66223526, 0.676017523, -1.025383, 0.49999997, 0.866025388, -2.98023224e-08, 0.749999762, -0.433012694, -0.5, -0.433012754, 0.25000006, -0.866025448),i)
609
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.26498032, 0.448050499, -0.739653587, 0.939692616, 0.342020124, 0, 0.262002617, -0.719846368, -0.642787337, -0.219846219, 0.604022563, -0.766044617),i)
610
				rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.642787635, 0, 0.766044438, 0.133022219, 0.98480773, -0.111618899, -0.754406512, 0.173648179, 0.633022249),i)
611
				runservice.Stepped:wait()
612
			end
613
			trail.Enabled = true
614
			swishsound.PlaybackSpeed = 1+(math.random(-4,4)/20)
615
			swishsound:Play()
616
			for i = 0,1 , 0.15 do
617
				damage()
618
				tool.Grip = tool.Grip * CFrame.fromEulerAnglesXYZ(math.rad(15),0,0)
619
				headweld.C0 = headweld.C0:lerp(CFrame.new(0.0641422272, 1.48955965, 0.0788440704, 0.767760158, 0.128285766, 0.627763689, 0.00259800092, 0.979120135, -0.203264251, -0.640731931, 0.15768908, 0.751396239),i)
620
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.37565041, -0.222093105, -0.689687729, 0.5, -0.296198189, 0.813797593, 0.749999642, 0.617945373, -0.235888779, -0.433012664, 0.728292406, 0.531121194),i)
621
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(0.835933685, -0.400773525, -1.04433632, 0.649519086, -0.755761325, 0.083365947, 0.557579219, 0.39889279, -0.72800374, 0.516942859, 0.519335449, 0.680485249),i)
622
				rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.773788929, 0.0871748775, -0.627416253, 0.0624999851, 0.975144863, 0.212570071, 0.630352676, -0.20369792, 0.749107838),i)
623
				runservice.Stepped:wait()
624
			end
625
			trail.Enabled = false
626
			attacknumber = 3
627
		elseif attacknumber == 3 then
628
			trail.Enabled = true
629
			local rota = 0
630
			tool.Grip = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(85),0,math.pi/2)
631
			swishsound:Play()
632
			for i = 1,25 do
633
				damage()
634
				if i == 10 or i == 20 then
635
					swishsound.PlaybackSpeed = 1+(math.random(-4,4)/20)
636
					swishsound:Play()
637
				end
638
				rota = rota + 1
639
				headweld.C0 = CFrame.new(0,1.5,0)
640
				rightarmweld.C0 = CFrame.new(-0.694223404, 0.5, -1.11978149, 2.98023188e-08, 0.99999994, 0, -1.19248798e-08, -4.44089183e-16, -0.99999994, -0.99999994, 2.98023188e-08, 1.19248806e-08)
641
				leftarmweld.C0 = CFrame.new(-1.57922745, 0.5, -0.405579567, 0.984807611, 0.173648179, 0, 7.59040208e-09, -4.30473079e-08, -0.99999994, -0.173648208, 0.98480773, -4.37113883e-08)
642
				rootweld.C0 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0,-math.rad(rota*30),0)
643
				runservice.Stepped:wait()
644
			end
645
			trail.Enabled = false
646
			attacknumber = 1
647
		end
648
		if mouseclick then
649
			coroutine.wrap(function()
650
				local humhp = character:findFirstChildOfClass("Humanoid").Health
651
				local canblockanim = true
652
				while runservice.Stepped:wait() and mouseclick do
653
					if character:findFirstChildOfClass("Humanoid").Health < humhp then
654
						local thedamage = humhp - character:findFirstChildOfClass("Humanoid").Health
655
						character:findFirstChildOfClass("Humanoid").Health = character:findFirstChildOfClass("Humanoid").Health + thedamage/1.3
656
						blocksound.PlaybackSpeed = 1+(math.random(-4,4)/20)
657
						blocksound.TimePosition = 0.05
658
						blocksound:Play()
659
						if canblockanim then
660
							canblockanim = false
661
							local nearestdistance = math.huge
662
							local nearestplr = nil
663
							for i,v in pairs(workspace:GetDescendants()) do
664
								if v.ClassName == "Model" and v ~= character then
665
									local headdw = v:findFirstChild("Head")
666
									local humanoiddw = v:findFirstChildOfClass("Humanoid")
667
									if humanoiddw and headdw then
668
										if (headdw.Position - character.Head.Position).magnitude < 10 and (headdw.Position - character.Head.Position).magnitude < nearestdistance then
669
											nearestdistance = (headdw.Position - character.Head.Position).magnitude
670
											nearestplr = v
671
										end
672
									end
673
								end
674
							end
675
							if nearestplr ~= nil then
676
								character.Head.CFrame = CFrame.new(character.Head.Position, nearestplr.Head.Position)
677
							end
678
							character:findFirstChildOfClass("Humanoid").PlatformStand = false
679
							local velocity = Instance.new("BodyVelocity", character.Head)
680
							velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
681
							velocity.Velocity = character.Head.CFrame.lookVector * -math.random(10,25)
682
							game.Debris:AddItem(velocity, 0.2)
683
							coroutine.wrap(function()
684
								wait(0.2)
685
								canblockanim = true
686
							end)()
687
						end
688
					end
689
					rootweld.C0 = rootweld.C0:lerp(CFrame.new(),0.3)
690
					headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0),0.3)
691
					rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi-math.rad(40),0,0) * CFrame.new(0,-0.5,0),0.3) 
692
					leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ((math.pi/2)-math.rad(10),0,0) * CFrame.new(0,-0.5,0),0.3) 
693
					tool.Grip = tool.Grip:lerp(CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0) * CFrame.fromEulerAnglesXYZ((math.pi/2),(-math.pi/2)-math.rad(15),math.rad(-25)),0.3)
694
					humhp = character:findFirstChildOfClass("Humanoid").Health
695
				end
696
				cananimate = true
697
				canattack = true
698
			end)()
699
		else
700
			cananimate = true
701
			canattack = true
702
		end
703
	end
704
end
705
tool.Activated:connect(swooshh)
706
--
707
tool.Equipped:connect(function()
708
	equipped = true
709
	trail.Enabled = false
710
	handle.Transparency = 1
711
	owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
712
	character = owner.Character
713
	local rightarm = Instance.new("Weld", character.Torso)
714
	rightarm.Part0 = character.Torso
715
	rightarm.Part1 = character["Right Arm"]
716
	rightarm.C0 = CFrame.new(1.5,0,0)
717
	rightarm.Name = "RightArmWeldkata"
718
	local leftarm = Instance.new("Weld", character.Torso)
719
	leftarm.Part0 = character.Torso
720
	leftarm.Part1 = character["Left Arm"]
721
	leftarm.C0 = CFrame.new(-1.5,0,0)
722
	leftarm.Name = "LeftArmWeldkata"
723
	local head = Instance.new("Weld", character.Torso)
724
	head.Part0 = character.Torso
725
	head.Part1 = character.Head
726
	head.C0 = CFrame.new(0,1.5,0)
727
	head.Name = "HeadWeldkata"
728
	local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
729
	humanoidrootpart.Part0 = character.HumanoidRootPart
730
	humanoidrootpart.Part1 = character.Torso
731
	humanoidrootpart.Name = "HumanoidRootPartWeldkata"
732
	for i = 0,1 , 0.05 do
733
		humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.fromEulerAnglesXYZ(0,math.rad(-25),0),i)
734
		leftarm.C0 = leftarm.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(0,0,math.rad(-10)) * CFrame.new(0,-0.5,0),i)
735
		rightarm.C0 = rightarm.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi+math.rad(10),math.rad(75),0) * CFrame.new(0,-0.5,0),i)
736
		runservice.Stepped:wait()
737
	end
738
	cananimate = true
739
	if character:findFirstChild("KatanaBack") then
740
		character:findFirstChild("KatanaBack").Transparency = 1
741
	end
742
	handle.Transparency = 0
743
	equipsound:Play()
744
	coroutine.wrap(function()
745
		while runservice.Stepped:wait() and equipped do
746
			if cananimate then
747
				tool.Grip = tool.Grip:lerp(CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0),0.1)
748
				head.C0 = head.C0:lerp(CFrame.new(0,1.5,0),0.1)
749
				humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(),0.1)
750
				leftarm.C0 = leftarm.C0:lerp(CFrame.new(-1.4,0.5,0) * CFrame.fromEulerAnglesXYZ((math.pi/2)-math.rad(50)+math.sin(tick())/15,0,math.rad(50)) * CFrame.new(0,-0.8,0),0.1)
751
				rightarm.C0 = rightarm.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ((math.pi/2)-math.rad(35)+math.sin(tick())/15,math.rad(20),math.rad(-40)) * CFrame.new(0,-0.8,0),0.1)
752
			end
753
		end
754
	end)()
755
end)
756
tool.Unequipped:connect(function()
757
	equipped = false
758
	mouseclick = false
759
	cananimate = false
760
	if character.Torso:findFirstChild("LeftArmWeldkata") then
761
		character.Torso:findFirstChild("LeftArmWeldkata"):destroy()
762
	end
763
	if character.Torso:findFirstChild("RightArmWeldkata") then
764
		character.Torso:findFirstChild("RightArmWeldkata"):destroy()
765
	end
766
	if character.Torso:findFirstChild("HeadWeldkata") then
767
		character.Torso:findFirstChild("HeadWeldkata"):destroy()
768
	end
769
	if character:findFirstChild("HumanoidRootPart") then
770
		if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldkata") then
771
			character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldkata"):destroy()
772
		end
773
	end
774
	if not character:findFirstChild("KatanaBack") then
775
		local clone = handle:Clone()
776
		clone:BreakJoints()
777
		for i,v in pairs(clone:GetDescendants()) do
778
			if v.ClassName ~= "SpecialMesh" and v.ClassName ~= "TouchTransmitter" then
779
				v:destroy()
780
			end
781
		end
782
		local weld = Instance.new("Weld", clone)
783
		weld.Part0 = character.Torso
784
		weld.Part1 = clone
785
		weld.C0 = CFrame.new(0,0,0.55)
786
		weld.C0 = weld.C0 * CFrame.fromEulerAnglesXYZ(0,math.pi/2,math.pi/2)
787
		weld.C0 = weld.C0 * CFrame.fromEulerAnglesXYZ(math.pi,math.rad(-60),0)
788
		clone.Parent = character
789
		clone.Name = "KatanaBack"
790
	else
791
		character:findFirstChild("KatanaBack").Transparency = 0
792
	end
793
	handle.Transparency = 1
794
	character.KatanaBack:findFirstChildOfClass("SpecialMesh").TextureId = handle:findFirstChildOfClass("SpecialMesh").TextureId
795
end)
796
797
end)()