function damage()for m,M in pairs(workspace:GetDescendants())do if M.ClassName=="\077\111\100\101\108"then local m=M:findFirstChild("\072\101\097\100")local d=M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")local X=M:findFirstChild("\084\111\114\115\111")local V=M:findFirstChild("\114\097\103\100\111\108\108\101\100\107\110\105\102\101")if d and(m and not V)then if(m.Position-handle.Position).magnitude<2 and(M~=character and d.Health>0)then stabsound.PlaybackSpeed=1+math.random(-4,4)/10 stabsound:Play()hitmarkersound:Play()local V=math.random(20,50)if d.Health<=V then d.Health=0 ragdollkill(M)end d.Health=d.Health-V local F=Instance.new("\066\111\111\108\086\097\108\117\101",M)F.Name="\114\097\103\100\111\108\108\101\100\107\110\105\102\101"local a=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",m)a.MaxForce=Vector3.new(math.huge,0,math.huge)a.Velocity=character.HumanoidRootPart.CFrame.lookVector*math.random(5,15)d.PlatformStand=true;(coroutine.wrap(function()wait(1)d.PlatformStand=false end))()game.Debris:AddItem(F,1)game.Debris:AddItem(a,.2)if X then(coroutine.wrap(function()d=M:WaitForChild("\072\117\109\097\110\111\105\100")local m=M if m:findFirstChild("\082\105\103\104\116 \065\114\109")then local M=Instance.new("\071\108\117\101",m.Torso)M.Part0=m.Torso M.Part1=m:findFirstChild("\082\105\103\104\116 \065\114\109")M.C0=CFrame.new(1.5,.5,0,0,0,1,0,1,0,-1,0,0)M.C1=CFrame.new(0,.5,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",m:findFirstChild("\082\105\103\104\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Transparency=1 d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"local X=Instance.new("\087\101\108\100",d)X.Part0=m:findFirstChild("\082\105\103\104\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0);(coroutine.wrap(function()if m.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")then local M=(m.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")):Clone();(m.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")):destroy();(coroutine.wrap(function()wait(1)M.Parent=m.Torso M.Part0=m.Torso M.Part1=m["\082\105\103\104\116 \065\114\109"]end))()end wait(1)M:destroy()d:destroy()X:destroy()end))()end if m:findFirstChild("\076\101\102\116 \065\114\109")then local M=Instance.new("\071\108\117\101",m.Torso)M.Part0=m.Torso M.Part1=m:findFirstChild("\076\101\102\116 \065\114\109")M.C0=CFrame.new(-1.5,.5,0,0,0,-1,0,1,0,1,0,0)M.C1=CFrame.new(0,.5,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",m:findFirstChild("\076\101\102\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=m:findFirstChild("\076\101\102\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0);(coroutine.wrap(function()if m.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")then local M=(m.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")):Clone();(m.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")):destroy();(coroutine.wrap(function()wait(1)M.Parent=m.Torso M.Part0=m.Torso M.Part1=m["\076\101\102\116 \065\114\109"]end))()end wait(1)M:destroy()d:destroy()X:destroy()end))()end if m:findFirstChild("\076\101\102\116 \076\101\103")then local M=Instance.new("\071\108\117\101",m.Torso)M.Part0=m.Torso M.Part1=m:findFirstChild("\076\101\102\116 \076\101\103")M.C0=CFrame.new(-0.5,-1,0,0,0,-1,0,1,0,1,0,0)M.C1=CFrame.new(0,1,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",m:findFirstChild("\076\101\102\116 \076\101\103"))d.Size=Vector3.new(1.5,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=m:findFirstChild("\076\101\102\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.2,0,0);(coroutine.wrap(function()if m.Torso:findFirstChild("\076\101\102\116 \072\105\112")then local M=(m.Torso:findFirstChild("\076\101\102\116 \072\105\112")):Clone();(m.Torso:findFirstChild("\076\101\102\116 \072\105\112")):destroy();(coroutine.wrap(function()wait(1)M.Parent=m.Torso M.Part0=m.Torso M.Part1=m["\076\101\102\116 \076\101\103"]end))()end wait(1)M:destroy()d:destroy()X:destroy()end))()end if m:findFirstChild("\082\105\103\104\116 \076\101\103")then local M=Instance.new("\071\108\117\101",m.Torso)M.Part0=m.Torso M.Part1=m:findFirstChild("\082\105\103\104\116 \076\101\103")M.C0=CFrame.new(.5,-1,0,0,0,1,0,1,0,-1,0,0)M.C1=CFrame.new(0,1,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",m:findFirstChild("\082\105\103\104\116 \076\101\103"))d.Size=Vector3.new(1.5,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=m:findFirstChild("\082\105\103\104\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.2,0,0);(coroutine.wrap(function()if m.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")then local M=(m.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")):Clone();(m.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")):destroy();(coroutine.wrap(function()wait(1)M.Parent=m.Torso M.Part0=m.Torso M.Part1=m["\082\105\103\104\116 \076\101\103"]end))()end wait(1)M:destroy()d:destroy()X:destroy()end))()end end))()end end end end end end function ragdollplr(m)local M=m.Head local d=m:findFirstChild("\084\111\114\115\111")local X=m:findFirstChildOfClass("\072\117\109\097\110\111\105\100")stabsound.PlaybackSpeed=1+math.random(-4,4)/10 stabsound:Play()hitmarkersound:Play()local V=math.random(20,50)if X.Health<=V then X.Health=0 ragdollkill(m)end X.Health=X.Health-V local F=Instance.new("\066\111\111\108\086\097\108\117\101",m)F.Name="\114\097\103\100\111\108\108\101\100\107\110\105\102\101"local a=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",M)a.MaxForce=Vector3.new(math.huge,0,math.huge)a.Velocity=character.HumanoidRootPart.CFrame.lookVector*math.random(5,15)X.PlatformStand=true;(coroutine.wrap(function()wait(1)X.PlatformStand=false end))()game.Debris:AddItem(F,1)game.Debris:AddItem(a,.2)if d then(coroutine.wrap(function()X=m:WaitForChild("\072\117\109\097\110\111\105\100")local M=m if M:findFirstChild("\082\105\103\104\116 \065\114\109")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\082\105\103\104\116 \065\114\109")m.C0=CFrame.new(1.5,.5,0,0,0,1,0,1,0,-1,0,0)m.C1=CFrame.new(0,.5,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\082\105\103\104\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Transparency=1 d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\082\105\103\104\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0);(coroutine.wrap(function()if M.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")then local m=(M.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")):Clone();(M.Torso:findFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")):destroy();(coroutine.wrap(function()wait(1)m.Parent=M.Torso m.Part0=M.Torso m.Part1=M["\082\105\103\104\116 \065\114\109"]end))()end wait(1)m:destroy()d:destroy()X:destroy()end))()end if M:findFirstChild("\076\101\102\116 \065\114\109")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\076\101\102\116 \065\114\109")m.C0=CFrame.new(-1.5,.5,0,0,0,-1,0,1,0,1,0,0)m.C1=CFrame.new(0,.5,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\076\101\102\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\076\101\102\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0);(coroutine.wrap(function()if M.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")then local m=(M.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")):Clone();(M.Torso:findFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")):destroy();(coroutine.wrap(function()wait(1)m.Parent=M.Torso m.Part0=M.Torso m.Part1=M["\076\101\102\116 \065\114\109"]end))()end wait(1)m:destroy()d:destroy()X:destroy()end))()end if M:findFirstChild("\076\101\102\116 \076\101\103")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\076\101\102\116 \076\101\103")m.C0=CFrame.new(-0.5,-1,0,0,0,-1,0,1,0,1,0,0)m.C1=CFrame.new(0,1,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\076\101\102\116 \076\101\103"))d.Size=Vector3.new(1.5,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\076\101\102\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.2,0,0);(coroutine.wrap(function()if M.Torso:findFirstChild("\076\101\102\116 \072\105\112")then local m=(M.Torso:findFirstChild("\076\101\102\116 \072\105\112")):Clone();(M.Torso:findFirstChild("\076\101\102\116 \072\105\112")):destroy();(coroutine.wrap(function()wait(1)m.Parent=M.Torso m.Part0=M.Torso m.Part1=M["\076\101\102\116 \076\101\103"]end))()end wait(1)m:destroy()d:destroy()X:destroy()end))()end if M:findFirstChild("\082\105\103\104\116 \076\101\103")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\082\105\103\104\116 \076\101\103")m.C0=CFrame.new(.5,-1,0,0,0,1,0,1,0,-1,0,0)m.C1=CFrame.new(0,1,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\082\105\103\104\116 \076\101\103"))d.Size=Vector3.new(1.5,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\082\105\103\104\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.2,0,0);(coroutine.wrap(function()if M.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")then local m=(M.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")):Clone();(M.Torso:findFirstChild("\082\105\103\104\116 \072\105\112")):destroy();(coroutine.wrap(function()wait(1)m.Parent=M.Torso m.Part0=M.Torso m.Part1=M["\082\105\103\104\116 \076\101\103"]end))()end wait(1)m:destroy()d:destroy()X:destroy()end))()end end))()end end tool.Activated:connect(function()if owner~=nil and(character~=nil and canattack)then cananimate=false canattack=false local m=character.Torso:findFirstChild("\082\105\103\104\116\065\114\109\087\101\108\100\107\110\105\102")local M=character.Torso:findFirstChild("\076\101\102\116\065\114\109\087\101\108\100\107\110\105\102")local d=character.Torso:findFirstChild("\072\101\097\100\087\101\108\100\107\110\105\102")local X=character.HumanoidRootPart:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116\087\101\108\100\107\110\105\102")swooshsound:Play()swooshsound.PlaybackSpeed=1+math.random(-4,4)/20 trail.Enabled=true if swingnum==0 then swingnum=1 for V=1,21,1 do damage()d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,math.sin(V/4)*2,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(math.sin(-V/4),0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(V/4)/15,math.sin(-V/4)*2,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.sin(V/4)*.6,0,math.sin(V/4)/1.5))*CFrame.new(0,-0.5,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.sin(-V/4)*1.8,0,math.rad(30)+math.sin(-V/4)))*CFrame.new(0,-0.5,0),.2)step:wait()end spawn(spinanimation)elseif swingnum==1 then swingnum=2 local V=0 for F=1,21,1 do V=V+1 damage()d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,math.sin(F/4)*2.5,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(math.sin(-F/4),0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(F/4)/15,math.sin(-F/4)*2.5,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(0,0,-math.pi/4))*CFrame.new(0,-0.5,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5-V/30,.5,-(V/15))*CFrame.fromEulerAnglesXYZ(0,-math.pi+V/6,-math.pi/3-V/30))*CFrame.new(0,-0.5,0),.2)step:wait()end damage()spawn(spinanimation)elseif swingnum==2 then swingnum=0 for V=1,21,1 do damage()d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,math.sin(V/3)/2,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(math.pi,0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(V/3)/10,math.sin(-V/3)/2,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.sin(V/3.5)*2,0,0))*CFrame.new(0,-0.7,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.sin(V/3.5)*2+math.pi,0,0))*CFrame.new(0,-1,0),.2)step:wait()end trail.Enabled=false end if equipped then cananimate=true end if not pressed then canattack=true else canthrow=true cananimate=false local V=0 while pressed and(equipped and(not cananimate and step:wait()))do V=V+1 d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,math.pi/3+math.sin(V/20)/40,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(V/20)/40,-math.pi/3+math.sin(-V/20)/40,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.rad(40)+math.sin(V/20)/15,0,0))*CFrame.new(0,-0.5,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.sin(V/20)/20+math.pi,0,0))*CFrame.new(0,-0.7,0),.2)end if not equipped then handle.Transparency=0 throwpos=nil cananimate=true canattack=true return end swooshsound.PlaybackSpeed=1+math.random(-1,4)/10 swooshsound:Play()for V=1,5,1 do d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,-math.pi/3,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(-math.rad(10),math.pi/3,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.rad(-40),0,0))*CFrame.new(0,-0.5,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.rad(10),0,0))*CFrame.new(0,-0.5,0),.2)step:wait()end handle.Transparency=1 local F=Instance.new("\080\097\114\116",character.Head)F.Size=Vector3.new(.15,1.9,.7)F.CanCollide=false F.Anchored=true F.Name="\084\104\114\111\119\075\110\105\102\101"F.CFrame=CFrame.new(handle.Position,throwpos)local a=Instance.new("\083\112\101\099\105\097\108\077\101\115\104",F)a.TextureId=(handle:findFirstChildOfClass("\083\112\101\099\105\097\108\077\101\115\104")).TextureId a.MeshId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\049\050\049\057\052\052\055\055\056"a.Scale=Vector3.new(.7,.7,.7);(coroutine.wrap(function()local m=0 local M=false local d=nil local X=500 local V=0 local a=character.Torso.CFrame while step:wait()and not M do X=X-1 if X==0 then F:Destroy()break end if m>=360 then m=0 end F.CFrame=F.CFrame*CFrame.fromEulerAnglesXYZ(math.rad(m),0,0)m=m+20 local r={handle,F;character}for m,M in pairs(workspace:GetDescendants())do if M.Name=="\084\104\114\111\119\075\110\105\102\101"then table.insert(r,M)end end local l=Ray.new(F.Position,F.CFrame.lookVector*3)local W=Ray.new(F.Position,F.CFrame.upVector*(-0.25+-V))local K,U=workspace:FindPartOnRayWithIgnoreList(l,r)local J,T=workspace:FindPartOnRayWithIgnoreList(W,r)if K then M=true F.CFrame=CFrame.new(U)if d~=nil then F.CFrame=CFrame.new(F.Position,d.p)else F.CFrame=CFrame.new(F.Position,a.p)end F.CFrame=F.CFrame*CFrame.fromEulerAnglesXYZ(-math.pi/2,0,math.pi)local m=Instance.new("\087\101\108\100",F)m.C0=K.CFrame:toObjectSpace(F.CFrame)m.Part0=K m.Name="\111\117\099\104\095\119\101\108\100"m.Part1=F F.Anchored=false local X=false;(coroutine.wrap(function()F.Parent=K wait()hitsound.Parent=F hitsound.PlaybackSpeed=3.2+math.random(-1,4)/10 hitsound:Play()wait(hitsound.TimeLength)hitsound.Parent=handle end))()if K.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then X=true;(coroutine.wrap(function()wait()stabsound.Parent=F stabsound.PlaybackSpeed=1+math.random(-1,4)/10 stabsound:Play()wait(stabsound.TimeLength)stabsound.Parent=handle end))();(K.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=(K.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health-math.random(50,100)ragdollplr(K.Parent)elseif K.Parent.ClassName=="\065\099\099\101\115\115\111\114\121"or K.Parent.ClassName=="\072\097\116"then if K.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then X=true;(coroutine.wrap(function()wait()stabsound.Parent=F stabsound.PlaybackSpeed=1+math.random(-1,4)/10 stabsound:Play()wait(stabsound.TimeLength)stabsound.Parent=handle end))();(K.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=(K.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health-math.random(50,100)ragdollplr(K.Parent.Parent)end end if not X then game.Debris:AddItem(F,30)end elseif J then M=true F.CFrame=CFrame.new(T)F.CFrame=CFrame.new(F.Position,a.p)F.CFrame=F.CFrame*CFrame.fromEulerAnglesXYZ(math.pi/1.5,math.pi,0)local m=Instance.new("\087\101\108\100",F)m.C0=J.CFrame:toObjectSpace(F.CFrame)m.Part0=J m.Name="\111\117\099\104\095\119\101\108\100"m.Part1=F F.Anchored=false local d=false;(coroutine.wrap(function()F.Parent=J wait()hitsound.Parent=F hitsound.PlaybackSpeed=3.2+math.random(-1,4)/10 hitsound:Play()wait(hitsound.TimeLength)hitsound.Parent=handle end))()if J.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then d=true;(coroutine.wrap(function()wait()stabsound.Parent=F stabsound.PlaybackSpeed=1+math.random(-1,4)/10 stabsound:Play()wait(stabsound.TimeLength)stabsound.Parent=handle end))();(J.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=(J.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health-math.random(50,100)ragdollplr(J.Parent)elseif J.Parent.ClassName=="\065\099\099\101\115\115\111\114\121"or J.Parent.ClassName=="\072\097\116"then if J.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then d=true;(coroutine.wrap(function()wait()stabsound.Parent=F stabsound.PlaybackSpeed=1+math.random(-1,4)/10 stabsound:Play()wait(stabsound.TimeLength)stabsound.Parent=handle end))();(J.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=(J.Parent.Parent:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health-math.random(50,100)ragdollplr(J.Parent.Parent)end end if not d then game.Debris:AddItem(F,30)end end if not M then V=V+.015 F.CFrame=F.CFrame*CFrame.new(0,-V,-3)d=F.CFrame F.CFrame=F.CFrame*CFrame.fromEulerAnglesXYZ(-math.rad(m),0,0)end end end))()for V=1,15,1 do d.C0=d.C0:lerp((CFrame.new(0,1,0)*CFrame.fromEulerAnglesXYZ(0,-math.pi/3,0))*CFrame.new(0,.5,0),.2)tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0)*CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),.2)X.C0=X.C0:lerp(CFrame.fromEulerAnglesXYZ(-math.rad(10),math.pi/3,0),.2)M.C0=M.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.rad(-40),0,0))*CFrame.new(0,-0.5,0),.2)m.C0=m.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.rad(10),0,0))*CFrame.new(0,-0.5,0),.2)step:wait()end handle.Transparency=0 throwpos=nil cananimate=true canattack=true end end end)tool.Equipped:connect(function()equipped=true owner=(game:GetService("\080\108\097\121\101\114\115")):GetPlayerFromCharacter(tool.Parent)character=owner.Character cananimate=true local m=0 equipsound:Play()tool.Grip=CFrame.new(0,-0.85,0)if character:findFirstChild("\075\110\105\102\101\066\097\099\107")then(character:findFirstChild("\075\110\105\102\101\066\097\099\107")).Transparency=1 end local M=Instance.new("\087\101\108\100",character.Torso)M.Part0=character.Torso M.Part1=character["\082\105\103\104\116 \065\114\109"]M.C0=CFrame.new(1.5,0,0)M.Name="\082\105\103\104\116\065\114\109\087\101\108\100\107\110\105\102"local d=Instance.new("\087\101\108\100",character.Torso)d.Part0=character.Torso d.Part1=character["\076\101\102\116 \065\114\109"]d.C0=CFrame.new(-1.5,0,0)d.Name="\076\101\102\116\065\114\109\087\101\108\100\107\110\105\102"local X=Instance.new("\087\101\108\100",character.Torso)X.Part0=character.Torso X.Part1=character.Head X.C0=CFrame.new(0,1.5,0)X.Name="\072\101\097\100\087\101\108\100\107\110\105\102"local V=Instance.new("\087\101\108\100",character.HumanoidRootPart)V.Part0=character.HumanoidRootPart V.Part1=character.Torso V.Name="\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116\087\101\108\100\107\110\105\102";(coroutine.wrap(function()while step:wait()do if cananimate then m=m+1 X.C0=X.C0:lerp(CFrame.new(0,1.5,0),.1)if not spinning then tool.Grip=tool.Grip:lerp(CFrame.new(0,-0.85,0),.1)end V.C0=V.C0:lerp(CFrame.new(),.1)d.C0=d.C0:lerp((CFrame.new(-1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.pi/2.7+math.rad(1.5*math.sin(m/40)),math.pi/-3+math.rad(1.5*-math.cos(m/80)),0))*CFrame.new(0,-0.5,0),.1)M.C0=M.C0:lerp((CFrame.new(1.5,.5,0)*CFrame.fromEulerAnglesXYZ(math.pi/2.7+math.rad(1.5*math.sin(m/40)),math.pi/3+math.rad(1.5*math.cos(m/80)),0))*CFrame.new(0,-0.5,0),.1)end end end))()end)tool.Unequipped:connect(function()equipped=false cananimate=false canthrow=false unequipsound:Play()if character.Torso:findFirstChild("\076\101\102\116\065\114\109\087\101\108\100\107\110\105\102")then(character.Torso:findFirstChild("\076\101\102\116\065\114\109\087\101\108\100\107\110\105\102")):destroy()end if character.Torso:findFirstChild("\082\105\103\104\116\065\114\109\087\101\108\100\107\110\105\102")then(character.Torso:findFirstChild("\082\105\103\104\116\065\114\109\087\101\108\100\107\110\105\102")):destroy()end if character.Torso:findFirstChild("\072\101\097\100\087\101\108\100\107\110\105\102")then(character.Torso:findFirstChild("\072\101\097\100\087\101\108\100\107\110\105\102")):destroy()end if character:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")then if character.HumanoidRootPart:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116\087\101\108\100\107\110\105\102")then(character.HumanoidRootPart:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116\087\101\108\100\107\110\105\102")):destroy()end end if not character:findFirstChild("\075\110\105\102\101\066\097\099\107")then local m=handle:Clone()m:BreakJoints()for m,M in pairs(m:GetDescendants())do if M.ClassName~="\083\112\101\099\105\097\108\077\101\115\104"and M.ClassName~="\084\111\117\099\104\084\114\097\110\115\109\105\116\116\101\114"then M:destroy()end end local M=Instance.new("\087\101\108\100",m)M.Part0=character.Torso M.Part1=m M.C0=CFrame.new(1,-1,0)M.C0=M.C0*CFrame.fromEulerAnglesXYZ(math.pi-math.pi/3,0,0)m.Parent=character m.Name="\075\110\105\102\101\066\097\099\107"else(character:findFirstChild("\075\110\105\102\101\066\097\099\107")).Transparency=0 end;(character.KnifeBack:findFirstChildOfClass("\083\112\101\099\105\097\108\077\101\115\104")).TextureId=(handle:findFirstChildOfClass("\083\112\101\099\105\097\108\077\101\115\104")).TextureId end)function ragdollkill(m)local M=m:findFirstChildOfClass("\072\117\109\097\110\111\105\100")local d=m:findFirstChild("\114\097\103\100\101\100")if not d then local M=Instance.new("\066\111\111\108\086\097\108\117\101",m)M.Name="\114\097\103\100\101\100"if not m:findFirstChild("\085\112\112\101\114\084\111\114\115\111")then m.Archivable=true for m,M in pairs(m:GetChildren())do if M.ClassName=="\083\111\117\110\100"then M:remove()end for m,M in pairs(M:GetChildren())do if M.ClassName=="\083\111\117\110\100"then M:remove()end end end local M=m:Clone()for m,M in pairs(M:GetDescendants())do if M.ClassName=="\077\111\116\111\114"or M.ClassName=="\077\111\116\111\114\054\068"then M:destroy()end end;(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).BreakJointsOnDeath=false;(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=0 if M:findFirstChild("\072\101\097\108\116\104")then if(M:findFirstChild("\072\101\097\108\116\104")).ClassName=="\083\099\114\105\112\116"then(M:findFirstChild("\072\101\097\108\116\104")).Disabled=true end end for m,M in pairs(m:GetChildren())do if M.ClassName=="\080\097\114\116"or M.ClassName=="\070\111\114\099\101\070\105\101\108\100"or M.ClassName=="\065\099\099\101\115\115\111\114\121"or M.ClassName=="\072\097\116"then M:destroy()end end for M,d in pairs(m:GetChildren())do if d.ClassName=="\065\099\099\101\115\115\111\114\121"then local M=d.Handle:findFirstChildOfClass("\065\116\116\097\099\104\109\101\110\116")if M then for m,X in pairs(m:GetChildren())do if X.ClassName=="\080\097\114\116"then local m=X:findFirstChild(M.Name)if m then local X=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",d.Handle)X.Attachment0=M X.Attachment1=m X.LimitsEnabled=true X.LowerAngle=0 X.UpperAngle=0 end end end end end end M.Parent=workspace if M:findFirstChild("\082\105\103\104\116 \065\114\109")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\082\105\103\104\116 \065\114\109")m.C0=CFrame.new(1.5,.5,0,0,0,1,0,1,0,-1,0,0)m.C1=CFrame.new(0,.5,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\082\105\103\104\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Transparency=1 d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\082\105\103\104\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0)end if M:findFirstChild("\076\101\102\116 \065\114\109")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\076\101\102\116 \065\114\109")m.C0=CFrame.new(-1.5,.5,0,0,0,-1,0,1,0,1,0,0)m.C1=CFrame.new(0,.5,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\076\101\102\116 \065\114\109"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\076\101\102\116 \065\114\109")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0)end if M:findFirstChild("\076\101\102\116 \076\101\103")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\076\101\102\116 \076\101\103")m.C0=CFrame.new(-0.5,-1,0,0,0,-1,0,1,0,1,0,0)m.C1=CFrame.new(0,1,0,0,0,-1,0,1,0,1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\076\101\102\116 \076\101\103"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\076\101\102\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0)end if M:findFirstChild("\082\105\103\104\116 \076\101\103")then local m=Instance.new("\071\108\117\101",M.Torso)m.Part0=M.Torso m.Part1=M:findFirstChild("\082\105\103\104\116 \076\101\103")m.C0=CFrame.new(.5,-1,0,0,0,1,0,1,0,-1,0,0)m.C1=CFrame.new(0,1,0,0,0,1,0,1,0,-1,0,0)local d=Instance.new("\080\097\114\116",M:findFirstChild("\082\105\103\104\116 \076\101\103"))d.Size=Vector3.new(1.4,1,1)d.Shape="\067\121\108\105\110\100\101\114"d.Name="\076\105\109\098\067\111\108\108\105\100\101\114"d.Transparency=1 local X=Instance.new("\087\101\108\100",d)X.Part0=M:findFirstChild("\082\105\103\104\116 \076\101\103")X.Part1=d X.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)*CFrame.new(-0.3,0,0)end if M:findFirstChild("\072\101\097\100")and M.Torso:findFirstChild("\078\101\099\107\065\116\116\097\099\104\109\101\110\116")then local m=Instance.new("\065\116\116\097\099\104\109\101\110\116",M.Head)m.Position=Vector3.new(0,-0.5,0)local d=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",M.Head)d.LimitsEnabled=true d.Attachment0=M.Torso.NeckAttachment d.Attachment1=m d.UpperAngle=60 d.LowerAngle=-60 elseif M:findFirstChild("\072\101\097\100")and not M.Torso:findFirstChild("\078\101\099\107\065\116\116\097\099\104\109\101\110\116")then local m=Instance.new("\087\101\108\100",M.Torso)m.Part0=M.Torso m.Part1=M.Head m.C0=CFrame.new(0,1.5,0)end game.Debris:AddItem(M,30)local function d()wait(.2)local function m(M)for M,d in pairs(M:GetChildren())do m(d)if d.ClassName=="\066\111\100\121\080\111\115\105\116\105\111\110"or d.ClassName=="\066\111\100\121\086\101\108\111\099\105\116\121"then d:destroy()end end end m(M)wait(.5)if M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).PlatformStand=true end if M:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")then(M:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")):destroy()end end spawn(d)elseif m:findFirstChild("\085\112\112\101\114\084\111\114\115\111")then m.Archivable=true for m,M in pairs(m:GetChildren())do if M.ClassName=="\083\111\117\110\100"then M:remove()end for m,M in pairs(M:GetChildren())do if M.ClassName=="\083\111\117\110\100"then M:remove()end end end local M=m:Clone();(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).BreakJointsOnDeath=false for m,M in pairs(M:GetDescendants())do if M.ClassName=="\077\111\116\111\114"or M.ClassName=="\077\111\116\111\114\054\068"then M:destroy()end end M:BreakJoints();(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).Health=0 if M:findFirstChild("\072\101\097\108\116\104")then if(M:findFirstChild("\072\101\097\108\116\104")).ClassName=="\083\099\114\105\112\116"then(M:findFirstChild("\072\101\097\108\116\104")).Disabled=true end end for m,M in pairs(m:GetChildren())do if M.ClassName=="\080\097\114\116"or M.ClassName=="\070\111\114\099\101\070\105\101\108\100"or M.ClassName=="\065\099\099\101\115\115\111\114\121"or M.ClassName=="\072\097\116"or M.ClassName=="\077\101\115\104\080\097\114\116"then M:destroy()end end for M,d in pairs(m:GetChildren())do if d.ClassName=="\065\099\099\101\115\115\111\114\121"then local M=d.Handle:findFirstChildOfClass("\065\116\116\097\099\104\109\101\110\116")if M then for m,X in pairs(m:GetChildren())do if X.ClassName=="\080\097\114\116"or X.ClassName=="\077\101\115\104\080\097\114\116"then local m=X:findFirstChild(M.Name)if m then local X=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",d.Handle)X.Attachment0=M X.Attachment1=m X.LimitsEnabled=true X.LowerAngle=0 X.UpperAngle=0 end end end end end end M.Parent=workspace local d=M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")d.PlatformStand=true local function X(m,M,d,X,V)local F=Instance.new("\066\097\108\108\083\111\099\107\101\116\067\111\110\115\116\114\097\105\110\116",m)F.LimitsEnabled=true F.Attachment0=M F.Attachment1=d F.TwistLimitsEnabled=true F.TwistLowerAngle=X F.TwistUpperAngle=V local a=Instance.new("\080\097\114\116",m)a.Size=Vector3.new(.1,1,1)a.Shape="\067\121\108\105\110\100\101\114"a.Transparency=1 a:BreakJoints()local r=Instance.new("\087\101\108\100",a)r.Part0=m r.Part1=a r.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)end local function V(m,M,d,X,V)local F=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",m)F.LimitsEnabled=true F.Attachment0=M F.Attachment1=d F.LimitsEnabled=true F.LowerAngle=X F.UpperAngle=V local a=Instance.new("\080\097\114\116",m)a.Size=Vector3.new(.1,1,1)a.Shape="\067\121\108\105\110\100\101\114"a.Transparency=1 a:BreakJoints()local r=Instance.new("\087\101\108\100",a)r.Part0=m r.Part1=a r.C0=CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)end local F=Instance.new("\065\116\116\097\099\104\109\101\110\116",d.Parent.Head)F.Position=Vector3.new(0,-0.5,0)if M.UpperTorso:findFirstChild("\078\101\099\107\065\116\116\097\099\104\109\101\110\116")then V(d.Parent.Head,F,M.UpperTorso.NeckAttachment,-50,50)end V(d.Parent.LowerTorso,d.Parent.LowerTorso.WaistRigAttachment,d.Parent.UpperTorso.WaistRigAttachment,-50,50)X(d.Parent.LeftUpperArm,d.Parent.LeftUpperArm.LeftShoulderRigAttachment,d.Parent.UpperTorso.LeftShoulderRigAttachment,-200,200,180)V(d.Parent.LeftLowerArm,d.Parent.LeftLowerArm.LeftElbowRigAttachment,d.Parent.LeftUpperArm.LeftElbowRigAttachment,0,-60)V(d.Parent.LeftHand,d.Parent.LeftHand.LeftWristRigAttachment,d.Parent.LeftLowerArm.LeftWristRigAttachment,-20,20)X(d.Parent.RightUpperArm,d.Parent.RightUpperArm.RightShoulderRigAttachment,d.Parent.UpperTorso.RightShoulderRigAttachment,-200,200,180)V(d.Parent.RightLowerArm,d.Parent.RightLowerArm.RightElbowRigAttachment,d.Parent.RightUpperArm.RightElbowRigAttachment,0,-60)V(d.Parent.RightHand,d.Parent.RightHand.RightWristRigAttachment,d.Parent.RightLowerArm.RightWristRigAttachment,-20,20)X(d.Parent.RightUpperLeg,d.Parent.RightUpperLeg.RightHipRigAttachment,d.Parent.LowerTorso.RightHipRigAttachment,-80,80,80)V(d.Parent.RightLowerLeg,d.Parent.RightLowerLeg.RightKneeRigAttachment,d.Parent.RightUpperLeg.RightKneeRigAttachment,0,60)V(d.Parent.RightFoot,d.Parent.RightFoot.RightAnkleRigAttachment,d.Parent.RightLowerLeg.RightAnkleRigAttachment,-20,20)X(d.Parent.LeftUpperLeg,d.Parent.LeftUpperLeg.LeftHipRigAttachment,d.Parent.LowerTorso.LeftHipRigAttachment,-80,80,80)V(d.Parent.LeftLowerLeg,d.Parent.LeftLowerLeg.LeftKneeRigAttachment,d.Parent.LeftUpperLeg.LeftKneeRigAttachment,0,60)V(d.Parent.LeftFoot,d.Parent.LeftFoot.LeftAnkleRigAttachment,d.Parent.LeftLowerLeg.LeftAnkleRigAttachment,-20,20)for m,M in pairs(d.Parent:GetChildren())do if M.ClassName=="\065\099\099\101\115\115\111\114\121"then local m=M.Handle:findFirstChildOfClass("\065\116\116\097\099\104\109\101\110\116")if m then for d,X in pairs(d.Parent:GetChildren())do if X.ClassName=="\080\097\114\116"then local d=X:findFirstChild(m.Name)if d then local X=Instance.new("\072\105\110\103\101\067\111\110\115\116\114\097\105\110\116",M.Handle)X.Attachment0=m X.Attachment1=d X.LimitsEnabled=true X.LowerAngle=0 X.UpperAngle=0 end end end end end end for m,M in pairs(M:GetChildren())do for m,M in pairs(M:GetChildren())do if M.ClassName=="\077\111\116\111\114\054\068"and M.Name~="\111\117\099\104\095\119\101\108\100"then M:destroy()end end end if M:findFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")then M.HumanoidRootPart:destroy()end if M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")then(M:findFirstChildOfClass("\072\117\109\097\110\111\105\100")).PlatformStand=true end local function a()wait(.2)local function m(M)for M,d in pairs(M:GetChildren())do m(d)if d.ClassName=="\066\111\100\121\080\111\115\105\116\105\111\110"or d.ClassName=="\066\111\100\121\086\101\108\111\099\105\116\121"then d:destroy()end end end m(M)end spawn(a)game.Debris:AddItem(M,30)end end end

function damage()
	for i,v in pairs(workspace:GetDescendants()) do
		if v.ClassName == "Model" then
			local head = v:findFirstChild("Head")
			local humanoid = v:findFirstChildOfClass("Humanoid")
			local torso = v:findFirstChild("Torso")
			local ragdolled = v:findFirstChild("ragdolledknife")
			if humanoid and head and not ragdolled then
				if (head.Position - handle.Position).magnitude < 2 and v ~= character and humanoid.Health > 0 then
					stabsound.PlaybackSpeed = 1+(math.random(-4,4)/10)
					stabsound:Play()
					hitmarkersound:Play()
					local dmg = math.random(20,50)
					if humanoid.Health <= dmg then
						humanoid.Health = 0
						ragdollkill(v)
					end
					humanoid.Health = humanoid.Health - dmg
					local ragdolledknife = Instance.new("BoolValue", v)
					ragdolledknife.Name = "ragdolledknife"
					local velocity = Instance.new("BodyVelocity", head)
					velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
					velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(5,15)
					humanoid.PlatformStand = true
					coroutine.wrap(function()
						wait(1)
						humanoid.PlatformStand = false
					end)()
					game.Debris:AddItem(ragdolledknife, 1)
					game.Debris:AddItem(velocity, 0.2)
					if torso then
						coroutine.wrap(function()
							humanoid = v:WaitForChild("Humanoid")
							local ragdoll = v
							if ragdoll:findFirstChild("Right Arm") then
								local glue = Instance.new("Glue", ragdoll.Torso)
								glue.Part0 = ragdoll.Torso
								glue.Part1 = ragdoll:findFirstChild("Right Arm")
								glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
								limbcollider.Size = Vector3.new(1.4,1,1)
								limbcollider.Shape = "Cylinder"
								limbcollider.Transparency = 1
								limbcollider.Name = "LimbCollider"
								local limbcolliderweld = Instance.new("Weld", limbcollider)
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
								limbcolliderweld.Part1 = limbcollider
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
								coroutine.wrap(function()
									if ragdoll.Torso:findFirstChild("Right Shoulder") then
										local limbclone = ragdoll.Torso:findFirstChild("Right Shoulder"):Clone()
										ragdoll.Torso:findFirstChild("Right Shoulder"):destroy()
										coroutine.wrap(function()
											wait(1)
											limbclone.Parent = ragdoll.Torso
											limbclone.Part0 = ragdoll.Torso
											limbclone.Part1 = ragdoll["Right Arm"]
										end)()
									end
									wait(1)
									glue:destroy()
									limbcollider:destroy()
									limbcolliderweld:destroy()
								end)()
							end
							if ragdoll:findFirstChild("Left Arm") then
								local glue = Instance.new("Glue", ragdoll.Torso)
								glue.Part0 = ragdoll.Torso
								glue.Part1 = ragdoll:findFirstChild("Left Arm")
								glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
								limbcollider.Size = Vector3.new(1.4,1,1)
								limbcollider.Shape = "Cylinder"
								limbcollider.Name = "LimbCollider"
								limbcollider.Transparency = 1
								local limbcolliderweld = Instance.new("Weld", limbcollider)
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")			
								limbcolliderweld.Part1 = limbcollider
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
								coroutine.wrap(function()
									if ragdoll.Torso:findFirstChild("Left Shoulder") then
										local limbclone = ragdoll.Torso:findFirstChild("Left Shoulder"):Clone()
										ragdoll.Torso:findFirstChild("Left Shoulder"):destroy()
										coroutine.wrap(function()
											wait(1)
											limbclone.Parent = ragdoll.Torso
											limbclone.Part0 = ragdoll.Torso
											limbclone.Part1 = ragdoll["Left Arm"]
										end)()
									end
									wait(1)
									glue:destroy()
									limbcollider:destroy()
									limbcolliderweld:destroy()
								end)()
							end
							if ragdoll:findFirstChild("Left Leg") then
								local glue = Instance.new("Glue", ragdoll.Torso)
								glue.Part0 = ragdoll.Torso
								glue.Part1 = ragdoll:findFirstChild("Left Leg")
								glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
								glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
								limbcollider.Size = Vector3.new(1.5,1,1)
								limbcollider.Shape = "Cylinder"
								limbcollider.Name = "LimbCollider"
								limbcollider.Transparency = 1
								local limbcolliderweld = Instance.new("Weld", limbcollider)
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
								limbcolliderweld.Part1 = limbcollider
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
								coroutine.wrap(function()
									if ragdoll.Torso:findFirstChild("Left Hip") then
										local limbclone = ragdoll.Torso:findFirstChild("Left Hip"):Clone()
										ragdoll.Torso:findFirstChild("Left Hip"):destroy()
										coroutine.wrap(function()
											wait(1)
											limbclone.Parent = ragdoll.Torso
											limbclone.Part0 = ragdoll.Torso
											limbclone.Part1 = ragdoll["Left Leg"]
										end)()
									end
									wait(1)
									glue:destroy()
									limbcollider:destroy()
									limbcolliderweld:destroy()
								end)()
							end
							if ragdoll:findFirstChild("Right Leg") then
								local glue = Instance.new("Glue", ragdoll.Torso)
								glue.Part0 = ragdoll.Torso
								glue.Part1 = ragdoll:findFirstChild("Right Leg")
								glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
								glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
								limbcollider.Size = Vector3.new(1.5,1,1)
								limbcollider.Shape = "Cylinder"
								limbcollider.Name = "LimbCollider"
								limbcollider.Transparency = 1
								local limbcolliderweld = Instance.new("Weld", limbcollider)
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
								limbcolliderweld.Part1 = limbcollider
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
								coroutine.wrap(function()
									if ragdoll.Torso:findFirstChild("Right Hip") then
										local limbclone = ragdoll.Torso:findFirstChild("Right Hip"):Clone()
										ragdoll.Torso:findFirstChild("Right Hip"):destroy()
										coroutine.wrap(function()
											wait(1)
											limbclone.Parent = ragdoll.Torso
											limbclone.Part0 = ragdoll.Torso
											limbclone.Part1 = ragdoll["Right Leg"]
										end)()
									end
									wait(1)
									glue:destroy()
									limbcollider:destroy()
									limbcolliderweld:destroy()
								end)()
							end
						end)()
					end
				end
			end
		end
	end
end
function ragdollplr(v)
	local head = v.Head
	local torso = v:findFirstChild("Torso")
	local humanoid = v:findFirstChildOfClass("Humanoid")
	stabsound.PlaybackSpeed = 1+(math.random(-4,4)/10)
	stabsound:Play()
	hitmarkersound:Play()
	local dmg = math.random(20,50)
	if humanoid.Health <= dmg then
		humanoid.Health = 0
		ragdollkill(v)
	end
	humanoid.Health = humanoid.Health - dmg
	local ragdolledknife = Instance.new("BoolValue", v)
	ragdolledknife.Name = "ragdolledknife"
	local velocity = Instance.new("BodyVelocity", head)
	velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
	velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(5,15)
	humanoid.PlatformStand = true
	coroutine.wrap(function()
		wait(1)
		humanoid.PlatformStand = false
	end)()
	game.Debris:AddItem(ragdolledknife, 1)
	game.Debris:AddItem(velocity, 0.2)
	if torso then
		coroutine.wrap(function()
			humanoid = v:WaitForChild("Humanoid")
			local ragdoll = v
			if ragdoll:findFirstChild("Right Arm") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Right Arm")
				glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Transparency = 1
				limbcollider.Name = "LimbCollider"
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
				coroutine.wrap(function()
					if ragdoll.Torso:findFirstChild("Right Shoulder") then
						local limbclone = ragdoll.Torso:findFirstChild("Right Shoulder"):Clone()
						ragdoll.Torso:findFirstChild("Right Shoulder"):destroy()
						coroutine.wrap(function()
							wait(1)
							limbclone.Parent = ragdoll.Torso
							limbclone.Part0 = ragdoll.Torso
							limbclone.Part1 = ragdoll["Right Arm"]
						end)()
					end
					wait(1)
					glue:destroy()
					limbcollider:destroy()
					limbcolliderweld:destroy()
				end)()
			end
			if ragdoll:findFirstChild("Left Arm") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Left Arm")
				glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")			
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
				coroutine.wrap(function()
					if ragdoll.Torso:findFirstChild("Left Shoulder") then
						local limbclone = ragdoll.Torso:findFirstChild("Left Shoulder"):Clone()
						ragdoll.Torso:findFirstChild("Left Shoulder"):destroy()
						coroutine.wrap(function()
							wait(1)
							limbclone.Parent = ragdoll.Torso
							limbclone.Part0 = ragdoll.Torso
							limbclone.Part1 = ragdoll["Left Arm"]
						end)()
					end
					wait(1)
					glue:destroy()
					limbcollider:destroy()
					limbcolliderweld:destroy()
				end)()
			end
			if ragdoll:findFirstChild("Left Leg") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Left Leg")
				glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
				glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
				limbcollider.Size = Vector3.new(1.5,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
				coroutine.wrap(function()
					if ragdoll.Torso:findFirstChild("Left Hip") then
						local limbclone = ragdoll.Torso:findFirstChild("Left Hip"):Clone()
						ragdoll.Torso:findFirstChild("Left Hip"):destroy()
						coroutine.wrap(function()
							wait(1)
							limbclone.Parent = ragdoll.Torso
							limbclone.Part0 = ragdoll.Torso
							limbclone.Part1 = ragdoll["Left Leg"]
						end)()
					end
					wait(1)
					glue:destroy()
					limbcollider:destroy()
					limbcolliderweld:destroy()
				end)()
			end
			if ragdoll:findFirstChild("Right Leg") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Right Leg")
				glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
				glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
				limbcollider.Size = Vector3.new(1.5,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
				coroutine.wrap(function()
					if ragdoll.Torso:findFirstChild("Right Hip") then
						local limbclone = ragdoll.Torso:findFirstChild("Right Hip"):Clone()
						ragdoll.Torso:findFirstChild("Right Hip"):destroy()
						coroutine.wrap(function()
							wait(1)
							limbclone.Parent = ragdoll.Torso
							limbclone.Part0 = ragdoll.Torso
							limbclone.Part1 = ragdoll["Right Leg"]
						end)()
					end
					wait(1)
					glue:destroy()
					limbcollider:destroy()
					limbcolliderweld:destroy()
				end)()
			end
		end)()
	end
end
tool.Activated:connect(function()
	if owner ~= nil and character ~= nil and canattack then
		cananimate = false
		canattack = false
		local rightarmweld = character.Torso:findFirstChild("RightArmWeldknif")
		local leftarmweld = character.Torso:findFirstChild("LeftArmWeldknif")
		local headweld = character.Torso:findFirstChild("HeadWeldknif")
		local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldknif")
		swooshsound:Play()
		swooshsound.PlaybackSpeed = 1+(math.random(-4,4)/20)
		trail.Enabled = true
		if swingnum == 0 then
			swingnum = 1
			for i = 1,21 do
				damage()
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,math.sin(i/4)*2,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(math.sin(-i/4),0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(i/4)/15,math.sin(-i/4)*2,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.sin(i/4)*0.6,0,math.sin(i/4)/1.5) * CFrame.new(0,-0.5,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.sin(-i/4)*1.8,0,math.rad(30)+math.sin(-i/4)) * CFrame.new(0,-0.5,0), 0.2)
				step:wait()
			end
			spawn(spinanimation)
		elseif swingnum == 1 then
			swingnum = 2
			local howup = 0
			for i = 1,21 do
				howup = howup + 1
				damage()
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,math.sin(i/4)*2.5,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(math.sin(-i/4),0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(i/4)/15,math.sin(-i/4)*2.5,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(0,0,-math.pi/4) * CFrame.new(0,-0.5,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5-(howup/30),0.5,-(howup/15)) * CFrame.fromEulerAnglesXYZ(0,-math.pi+howup/6,-math.pi/3-(howup/30)) * CFrame.new(0,-0.5,0), 0.2)
				step:wait()
			end
			damage()
			spawn(spinanimation)
		elseif swingnum == 2 then
			swingnum = 0
			for i = 1,21 do
				damage()
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,math.sin(i/3)/2,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(math.pi,0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(i/3)/10,math.sin(-i/3)/2,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.sin(i/3.5)*2,0,0) * CFrame.new(0,-0.7,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.sin(i/3.5)*2+math.pi,0,0) * CFrame.new(0,-1,0), 0.2)
				step:wait()
			end
			trail.Enabled = false
		end
		if equipped then
			cananimate = true
		end
		if not pressed then
			canattack = true
		else
			canthrow = true
			cananimate = false
			local throwsine = 0
			while pressed and equipped and not cananimate and step:wait() do
				throwsine = throwsine + 1
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,math.pi/3+math.sin(throwsine/20)/40,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(throwsine/20)/40,-math.pi/3+math.sin(-throwsine/20)/40,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(40)+math.sin(throwsine/20)/15,0,0) * CFrame.new(0,-0.5,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.sin(throwsine/20)/20+math.pi,0,0) * CFrame.new(0,-0.7,0), 0.2)
			end
			if not equipped then
				handle.Transparency = 0
				throwpos = nil
				cananimate = true
				canattack = true
				return
			end
			swooshsound.PlaybackSpeed = 1+(math.random(-1,4)/10)
			swooshsound:Play()
			for i = 1,5 do
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,-math.pi/3,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(-math.rad(10),math.pi/3,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-40),0,0) * CFrame.new(0,-0.5,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0) * CFrame.new(0,-0.5,0), 0.2)
				step:wait()
			end
			handle.Transparency = 1
			local knifeclone = Instance.new("Part", character.Head)
			knifeclone.Size = Vector3.new(0.15, 1.9, 0.7)
			knifeclone.CanCollide = false
			knifeclone.Anchored = true
			knifeclone.Name = "ThrowKnife"
			knifeclone.CFrame = CFrame.new(handle.Position, throwpos)
			local mesh = Instance.new("SpecialMesh", knifeclone)
			mesh.TextureId = handle:findFirstChildOfClass("SpecialMesh").TextureId
			mesh.MeshId = "http://www.roblox.com/asset/?id=121944778"
			mesh.Scale = Vector3.new(0.7,0.7,0.7)
			coroutine.wrap(function()
				local rotatevalue = 0
				local rayhit = false
				local lastpos = nil
				local throwtime = 500
				local gravitypower = 0
				local lasttorsopos = character.Torso.CFrame
				while step:wait() and not rayhit do
					throwtime = throwtime - 1
					if throwtime == 0 then
						knifeclone:Destroy()
						break
					end
					if rotatevalue >= 360 then
						rotatevalue = 0
					end
					knifeclone.CFrame = knifeclone.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(rotatevalue),0,0)
					rotatevalue = rotatevalue + 20
					local ignorelist = {handle, knifeclone, character}
					for q,w in pairs(workspace:GetDescendants()) do
						if w.Name == "ThrowKnife" then
							table.insert(ignorelist, w)
						end
					end
					local ray = Ray.new(knifeclone.Position, knifeclone.CFrame.lookVector*3)
					local ray1 = Ray.new(knifeclone.Position, knifeclone.CFrame.upVector*((-0.25)+(-gravitypower)))
					local hitt, pos = workspace:FindPartOnRayWithIgnoreList(ray, ignorelist)
					local hitt1, pos1 = workspace:FindPartOnRayWithIgnoreList(ray1, ignorelist)
					if hitt then
						--if hitt.Name ~= "ThrowKnife" then
							rayhit = true
							knifeclone.CFrame = CFrame.new(pos)
							if lastpos ~= nil then
								knifeclone.CFrame = CFrame.new(knifeclone.Position, lastpos.p)
							else
								knifeclone.CFrame = CFrame.new(knifeclone.Position, lasttorsopos.p)
							end
							knifeclone.CFrame = knifeclone.CFrame * CFrame.fromEulerAnglesXYZ(-math.pi/2,0,math.pi)
							local weldknife = Instance.new("Weld", knifeclone)
							weldknife.C0 = hitt.CFrame:toObjectSpace(knifeclone.CFrame)
							weldknife.Part0 = hitt
							weldknife.Name = "ouch_weld"
							weldknife.Part1 = knifeclone
							knifeclone.Anchored = false
							local hithumanoid = false
							coroutine.wrap(function()
								knifeclone.Parent = hitt
								wait()
								hitsound.Parent = knifeclone
								hitsound.PlaybackSpeed = 3.2+(math.random(-1,4)/10)
								hitsound:Play()
								wait(hitsound.TimeLength)
								hitsound.Parent = handle
							end)()
							if hitt.Parent:findFirstChildOfClass("Humanoid") then
								hithumanoid = true
								coroutine.wrap(function()
									wait()
									stabsound.Parent = knifeclone
									stabsound.PlaybackSpeed = 1+(math.random(-1,4)/10)
									stabsound:Play()
									wait(stabsound.TimeLength)
									stabsound.Parent = handle
								end)()
								hitt.Parent:findFirstChildOfClass("Humanoid").Health = hitt.Parent:findFirstChildOfClass("Humanoid").Health - math.random(50,100)
								ragdollplr(hitt.Parent)
							elseif hitt.Parent.ClassName == "Accessory" or hitt.Parent.ClassName == "Hat" then
								if hitt.Parent.Parent:findFirstChildOfClass("Humanoid") then
									hithumanoid = true
									coroutine.wrap(function()
										wait()
										stabsound.Parent = knifeclone
										stabsound.PlaybackSpeed = 1+(math.random(-1,4)/10)
										stabsound:Play()
										wait(stabsound.TimeLength)
										stabsound.Parent = handle
									end)()
									hitt.Parent.Parent:findFirstChildOfClass("Humanoid").Health = hitt.Parent.Parent:findFirstChildOfClass("Humanoid").Health - math.random(50,100)
									ragdollplr(hitt.Parent.Parent)
								end
							end
							if not hithumanoid then
								game.Debris:AddItem(knifeclone, 30)
							end
						--end
					elseif hitt1 then
						--if hitt1.Name ~= "ThrowKnife" then
							rayhit = true
							knifeclone.CFrame = CFrame.new(pos1)
							knifeclone.CFrame = CFrame.new(knifeclone.Position, lasttorsopos.p)
							knifeclone.CFrame = knifeclone.CFrame * CFrame.fromEulerAnglesXYZ(math.pi/1.5,math.pi,0)
							local weldknife = Instance.new("Weld", knifeclone)
							weldknife.C0 = hitt1.CFrame:toObjectSpace(knifeclone.CFrame)
							weldknife.Part0 = hitt1
							weldknife.Name = "ouch_weld"
							weldknife.Part1 = knifeclone
							knifeclone.Anchored = false
							local hithumanoid = false
							coroutine.wrap(function()
								knifeclone.Parent = hitt1
								wait()
								hitsound.Parent = knifeclone
								hitsound.PlaybackSpeed = 3.2+(math.random(-1,4)/10)
								hitsound:Play()
								wait(hitsound.TimeLength)
								hitsound.Parent = handle
							end)()
							if hitt1.Parent:findFirstChildOfClass("Humanoid") then
								hithumanoid = true
								coroutine.wrap(function()
									wait()
									stabsound.Parent = knifeclone
									stabsound.PlaybackSpeed = 1+(math.random(-1,4)/10)
									stabsound:Play()
									wait(stabsound.TimeLength)
									stabsound.Parent = handle
								end)()
								hitt1.Parent:findFirstChildOfClass("Humanoid").Health = hitt1.Parent:findFirstChildOfClass("Humanoid").Health - math.random(50,100)
								ragdollplr(hitt1.Parent)
							elseif hitt1.Parent.ClassName == "Accessory" or hitt1.Parent.ClassName == "Hat" then
								if hitt1.Parent.Parent:findFirstChildOfClass("Humanoid") then
									hithumanoid = true
									coroutine.wrap(function()
										wait()
										stabsound.Parent = knifeclone
										stabsound.PlaybackSpeed = 1+(math.random(-1,4)/10)
										stabsound:Play()
										wait(stabsound.TimeLength)
										stabsound.Parent = handle
									end)()
									hitt1.Parent.Parent:findFirstChildOfClass("Humanoid").Health = hitt1.Parent.Parent:findFirstChildOfClass("Humanoid").Health - math.random(50,100)
									ragdollplr(hitt1.Parent.Parent)
								end
							end
							if not hithumanoid then
								game.Debris:AddItem(knifeclone, 30)
							end
						--end
					end
					if not rayhit then
						gravitypower = gravitypower + 0.015
						knifeclone.CFrame = knifeclone.CFrame * CFrame.new(0,-gravitypower,-3)
						lastpos = knifeclone.CFrame
						knifeclone.CFrame = knifeclone.CFrame * CFrame.fromEulerAnglesXYZ(-math.rad(rotatevalue),0,0)
					end
				end
			end)()
			for i = 1,15 do
				headweld.C0 = headweld.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(0,-math.pi/3,0) * CFrame.new(0,0.5,0),0.2)
				tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0) * CFrame.fromEulerAnglesXYZ(-math.rad(30),0,0),0.2)
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(-math.rad(10),math.pi/3,0), 0.2)
				leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-40),0,0) * CFrame.new(0,-0.5,0), 0.2)
				rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(10),0,0) * CFrame.new(0,-0.5,0), 0.2)
				step:wait()
			end
			handle.Transparency = 0
			throwpos = nil
			cananimate = true
			canattack = true
		end
	end
end)
tool.Equipped:connect(function()
	equipped = true
	owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
	character = owner.Character
	cananimate = true
	local sine = 0
	equipsound:Play()
	tool.Grip = CFrame.new(0,-0.85,0)
	if character:findFirstChild("KnifeBack") then
		character:findFirstChild("KnifeBack").Transparency = 1
	end
	local rightarm = Instance.new("Weld", character.Torso)
	rightarm.Part0 = character.Torso
	rightarm.Part1 = character["Right Arm"]
	rightarm.C0 = CFrame.new(1.5,0,0)
	rightarm.Name = "RightArmWeldknif"
	local leftarm = Instance.new("Weld", character.Torso)
	leftarm.Part0 = character.Torso
	leftarm.Part1 = character["Left Arm"]
	leftarm.C0 = CFrame.new(-1.5,0,0)
	leftarm.Name = "LeftArmWeldknif"
	local head = Instance.new("Weld", character.Torso)
	head.Part0 = character.Torso
	head.Part1 = character.Head
	head.C0 = CFrame.new(0,1.5,0)
	head.Name = "HeadWeldknif"
	local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
	humanoidrootpart.Part0 = character.HumanoidRootPart
	humanoidrootpart.Part1 = character.Torso
	humanoidrootpart.Name = "HumanoidRootPartWeldknif"
	coroutine.wrap(function()
		while step:wait() do
			if cananimate then
				sine = sine + 1
				head.C0 = head.C0:lerp(CFrame.new(0,1.5,0),0.1)
				if not spinning then
					tool.Grip = tool.Grip:lerp(CFrame.new(0,-0.85,0),0.1)
				end
				humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(),0.1)
				leftarm.C0 = leftarm.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2.7 + math.rad(1.5*math.sin(sine/40)),math.pi/-3 + math.rad(1.5*-math.cos(sine/80)),0) * CFrame.new(0,-0.5,0),0.1)
				rightarm.C0 = rightarm.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2.7 + math.rad(1.5*math.sin(sine/40)),math.pi/3 + math.rad(1.5*math.cos(sine/80)),0) * CFrame.new(0,-0.5,0),0.1)
			end
		end
	end)()
end)
tool.Unequipped:connect(function()
	equipped = false
	cananimate = false
	canthrow = false
	unequipsound:Play()
	if character.Torso:findFirstChild("LeftArmWeldknif") then
		character.Torso:findFirstChild("LeftArmWeldknif"):destroy()
	end
	if character.Torso:findFirstChild("RightArmWeldknif") then
		character.Torso:findFirstChild("RightArmWeldknif"):destroy()
	end
	if character.Torso:findFirstChild("HeadWeldknif") then
		character.Torso:findFirstChild("HeadWeldknif"):destroy()
	end
	if character:findFirstChild("HumanoidRootPart") then
		if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldknif") then
			character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldknif"):destroy()
		end
	end
	if not character:findFirstChild("KnifeBack") then
		local clone = handle:Clone()
		clone:BreakJoints()
		for i,v in pairs(clone:GetDescendants()) do
			if v.ClassName ~= "SpecialMesh" and v.ClassName ~= "TouchTransmitter" then
				v:destroy()
			end
		end
		local weld = Instance.new("Weld", clone)
		weld.Part0 = character.Torso
		weld.Part1 = clone
		weld.C0 = CFrame.new(1,-1,0)
		weld.C0 = weld.C0 * CFrame.fromEulerAnglesXYZ(math.pi-(math.pi/3),0,0)
		clone.Parent = character
		clone.Name = "KnifeBack"
	else
		character:findFirstChild("KnifeBack").Transparency = 0
	end
	character.KnifeBack:findFirstChildOfClass("SpecialMesh").TextureId = handle:findFirstChildOfClass("SpecialMesh").TextureId
end)
function ragdollkill(character)
	local victimshumanoid = character:findFirstChildOfClass("Humanoid")
	local checkragd = character:findFirstChild("ragded")
	if not checkragd then
		local boolvalue = Instance.new("BoolValue", character)
		boolvalue.Name = "ragded"
		if not character:findFirstChild("UpperTorso") then
			character.Archivable = true
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Sound" then
					v:remove()
				end
				for q,w in pairs(v:GetChildren()) do
					if w.ClassName == "Sound" then
						w:remove()
					end
				end
			end
			local ragdoll = character:Clone()
			for i,v in pairs(ragdoll:GetDescendants()) do
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
					v:destroy()
				end
			end
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
			if ragdoll:findFirstChild("Health") then
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
					ragdoll:findFirstChild("Health").Disabled = true
				end
			end
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
					v:destroy()
				end
			end
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Accessory" then
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
					if attachment1 then
						for q,w in pairs(character:GetChildren()) do
							if w.ClassName == "Part" then
								local attachment2 = w:findFirstChild(attachment1.Name)
								if attachment2 then
									local hinge = Instance.new("HingeConstraint", v.Handle)
									hinge.Attachment0 = attachment1
									hinge.Attachment1 = attachment2
									hinge.LimitsEnabled = true
									hinge.LowerAngle = 0
									hinge.UpperAngle = 0
								end
							end
						end
					end
				end
			end
			ragdoll.Parent = workspace
			if ragdoll:findFirstChild("Right Arm") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Right Arm")
				glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Transparency = 1
				limbcollider.Name = "LimbCollider"
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
			end
			if ragdoll:findFirstChild("Left Arm") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Left Arm")
				glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
			end
			if ragdoll:findFirstChild("Left Leg") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Left Leg")
				glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
				glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
			end
			if ragdoll:findFirstChild("Right Leg") then
				local glue = Instance.new("Glue", ragdoll.Torso)
				glue.Part0 = ragdoll.Torso
				glue.Part1 = ragdoll:findFirstChild("Right Leg")
				glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
				glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
				limbcollider.Size = Vector3.new(1.4,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Name = "LimbCollider"
				limbcollider.Transparency = 1
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
			end
			if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
				local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
				HeadAttachment.Position = Vector3.new(0, -0.5, 0)
				local connection = Instance.new('HingeConstraint', ragdoll["Head"])
				connection.LimitsEnabled = true
				connection.Attachment0 = ragdoll.Torso.NeckAttachment
				connection.Attachment1 = HeadAttachment
				connection.UpperAngle = 60
				connection.LowerAngle = -60
			elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
				local hedweld = Instance.new("Weld", ragdoll.Torso)
				hedweld.Part0 = ragdoll.Torso
				hedweld.Part1 = ragdoll.Head
				hedweld.C0 = CFrame.new(0,1.5,0)
			end
			game.Debris:AddItem(ragdoll, 30)
			local function aaaalol()
				wait(0.2)
				local function searchforvelocity(wot)
					for i,v in pairs(wot:GetChildren()) do
						searchforvelocity(v)
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
							v:destroy()
						end
					end
				end
				searchforvelocity(ragdoll)
				wait(0.5)
				if ragdoll:findFirstChildOfClass("Humanoid") then
					ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
				end
				if ragdoll:findFirstChild("HumanoidRootPart") then
					ragdoll:findFirstChild("HumanoidRootPart"):destroy()
				end
			end
			spawn(aaaalol)
		elseif character:findFirstChild("UpperTorso") then
			character.Archivable = true
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Sound" then
					v:remove()
				end
				for q,w in pairs(v:GetChildren()) do
					if w.ClassName == "Sound" then
						w:remove()
					end
				end
			end
			local ragdoll = character:Clone()
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
			for i,v in pairs(ragdoll:GetDescendants()) do
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
					v:destroy()
				end
			end
			ragdoll:BreakJoints()
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
			if ragdoll:findFirstChild("Health") then
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
					ragdoll:findFirstChild("Health").Disabled = true
				end
			end
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
					v:destroy()
				end
			end
			for i,v in pairs(character:GetChildren()) do
				if v.ClassName == "Accessory" then
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
					if attachment1 then
						for q,w in pairs(character:GetChildren()) do
							if w.ClassName == "Part" or w.ClassName == "MeshPart" then
								local attachment2 = w:findFirstChild(attachment1.Name)
								if attachment2 then
									local hinge = Instance.new("HingeConstraint", v.Handle)
									hinge.Attachment0 = attachment1
									hinge.Attachment1 = attachment2
									hinge.LimitsEnabled = true
									hinge.LowerAngle = 0
									hinge.UpperAngle = 0
								end
							end
						end
					end
				end
			end
			ragdoll.Parent = workspace
			local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
			Humanoid.PlatformStand = true
			local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
				local connection = Instance.new('BallSocketConstraint', limb)
				connection.LimitsEnabled = true
				connection.Attachment0 = attachementone
				connection.Attachment1 = attachmenttwo
				connection.TwistLimitsEnabled = true
				connection.TwistLowerAngle = twistlower
				connection.TwistUpperAngle = twistupper
				local limbcollider = Instance.new("Part", limb)
				limbcollider.Size = Vector3.new(0.1,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Transparency = 1
				limbcollider:BreakJoints()
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = limb
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
			end
			local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
				local connection = Instance.new('HingeConstraint', limb)
				connection.LimitsEnabled = true
				connection.Attachment0 = attachementone
				connection.Attachment1 = attachmenttwo
				connection.LimitsEnabled = true
				connection.LowerAngle = lower
				connection.UpperAngle = upper
				local limbcollider = Instance.new("Part", limb)
				limbcollider.Size = Vector3.new(0.1,1,1)
				limbcollider.Shape = "Cylinder"
				limbcollider.Transparency = 1
				limbcollider:BreakJoints()
				local limbcolliderweld = Instance.new("Weld", limbcollider)
				limbcolliderweld.Part0 = limb
				limbcolliderweld.Part1 = limbcollider
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
			end
			local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
			HeadAttachment.Position = Vector3.new(0, -0.5, 0)
			if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
				makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
			end
			makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
			makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
			makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
			makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
			--
			makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
			makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
			makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
			--
			makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
			makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
			makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
			--
			makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
			makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
			makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
			for i,v in pairs(Humanoid.Parent:GetChildren()) do
				if v.ClassName == "Accessory" then
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
					if attachment1 then
						for q,w in pairs(Humanoid.Parent:GetChildren()) do
							if w.ClassName == "Part" then
								local attachment2 = w:findFirstChild(attachment1.Name)
								if attachment2 then
									local hinge = Instance.new("HingeConstraint", v.Handle)
									hinge.Attachment0 = attachment1
									hinge.Attachment1 = attachment2
									hinge.LimitsEnabled = true
									hinge.LowerAngle = 0
									hinge.UpperAngle = 0
								end
							end
						end
					end
				end
			end
			for i,v in pairs(ragdoll:GetChildren()) do
				for q,w in pairs(v:GetChildren()) do
					if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
						w:destroy()
					end
				end
			end
			if ragdoll:findFirstChild("HumanoidRootPart") then
				ragdoll.HumanoidRootPart:destroy()
			end
			if ragdoll:findFirstChildOfClass("Humanoid") then
				ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
			end
			local function waitfordatmoment()
				wait(0.2)
				local function searchforvelocity(wot)
					for i,v in pairs(wot:GetChildren()) do
						searchforvelocity(v)
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
							v:destroy()
						end
					end
				end
				searchforvelocity(ragdoll)
			end
			spawn(waitfordatmoment)
			game.Debris:AddItem(ragdoll, 30)
		end
	end
end
