Tool = Instance.new("Tool",owner.Backpack)
Knife = Instance.new("Part",Tool)
Knife.Name = "Handle"
Knife.Size = Vector3.new(1.0625, 1.0625, 1.0625)
bac = Instance.new("Part",Knife)
local slap = Instance.new("Sound")
slap.PlayOnRemove = true
slap.SoundId = "rbxassetid://2576392422"
slap.Volume = 1
slap.TimePosition = 1
local hitdb = false
local canhit = false
bac.CanCollide = false
bac.Massless = true
bac.Size = Vector3.new(1.0825, 1.0825, 0.125)
bac2 = Instance.new("Part",Knife)
bac2.CanCollide = false
bac2.Massless = true
bac2.Size = Vector3.new(0.2125, 0.3125, 0.5)
Tool.Grip = CFrame.new(0,0,0.25)
local rightarm = Instance.new("Weld", owner.Character.Torso)
rightarm.Part0 = owner.Character.Torso
rightarm.Part1 = owner.Character["Right Arm"]
rightarm.C0 = CFrame.new(1.5, 0, 0)
local mes = Instance.new("SpecialMesh",Knife)
mes.MeshId = "rbxasset://fonts//torso.mesh"
mes.Scale = Vector3.new(0.53125,0.53125,1.0625)
local mes2 = Instance.new("SpecialMesh",bac)
mes2.MeshId = "rbxasset://fonts//torso.mesh"
mes2.Scale = Vector3.new(1.0825 * 0.5,1.0825 * 0.5,0.125)
local mes3 = Instance.new("SpecialMesh",bac2)
mes3.MeshId = "rbxasset://fonts//torso.mesh"
mes3.Scale = Vector3.new(0.2125 * 0.5,0.3125 * 0.5,0.5)
Knife.Color = Color3.fromRGB(224, 16, 16)
bac2.Color = Color3.fromRGB(206, 15, 15)
local wel = Instance.new("Weld",Knife)
wel.Part0 = bac
wel.Part1 = Knife
wel.C0 = CFrame.new(0,0,-0.5)
local wel2 = Instance.new("Weld",Knife)
wel2.Part0 = bac2
wel2.Part1 = Knife
wel2.C0 = CFrame.new(0.575,-0.175,0.175)
local behind = false
local tweenService = game:GetService("TweenService")
local timeToFade = 0.0875
local object = rightarm
local tweenInfo = TweenInfo.new(timeToFade,Enum.EasingStyle.Linear)
local goal = {}
goal.C0 = CFrame.new(1.5,0.5,-1.5) * CFrame.Angles(math.rad(90),0,0)
local tween = tweenService:Create(object, tweenInfo, goal)
local goal2 = {}
goal2.C0 = CFrame.new(1.5,0.5,-0.5) * CFrame.Angles(math.rad(90),0,0)
local tween2 = tweenService:Create(object, tweenInfo, goal2)
Tool.Activated:Connect(function()
tween:Play()
canhit = true
tween.Completed:Wait()
canhit = false
hitdb = false
tween2:Play()
end)
rightarm.Enabled = false
Tool.Equipped:Connect(function()
rightarm.Enabled = true
end)
Tool.Unequipped:Connect(function()
rightarm.Enabled = false
rightarm.C0 = CFrame.new(1.5, 0.5, -0.5) * CFrame.Angles(math.rad(90),0,0)
end)
function findNearestTorso(pos)
local list = game.Workspace:GetChildren()
local torso = nil
local dist = 10
local temp = nil
local human = nil
local temp2 = nil
for x = 1, #list do
temp2 = list[x]
if (temp2.className == "Model") and temp2 ~= owner.Character then
temp = temp2:findFirstChild("Head")
human = temp2:findFirstChild("Humanoid")
if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
if (temp.Position - pos).magnitude < dist then
torso = temp
dist = (temp.Position - pos).magnitude
end
end
end
end
return torso
end
function kill(Character)
coroutine.wrap(function()
pcall(function()
if not Character:findFirstChild("UpperTorso") then
for i,v in pairs(Character:GetDescendants()) do
if v:IsA("Motor6D") then
v:Destroy()
end
end
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character["Left Arm"]
a2.Parent = Character.Torso
Socket.Parent = Character["Left Arm"]
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(-1.5,0.5,0)
Socket.LimitsEnabled = true
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character["Left Leg"]
a2.Parent = Character.Torso
Socket.Parent = Character["Left Leg"]
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(-0.5,-1.5,0)
Socket.LimitsEnabled = true
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character["Right Leg"]
a2.Parent = Character.Torso
Socket.Parent = Character["Right Leg"]
Socket.Attachment0 = a1
Socket.Attachment1 = a2
Socket.LimitsEnabled = true
a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(0.5,-1.5,0)
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character.HumanoidRootPart
a2.Parent = Character.Torso
Socket.Parent = Character.HumanoidRootPart
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.WorldCFrame = a1.Parent.CFrame
a2.WorldCFrame = a1.Parent.CFrame
Socket.LimitsEnabled = true
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character.Head
a2.Parent = Character.Torso
Socket.Parent = Character.Head
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,-0.5,0)
a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(0,1.0625,0)
Socket.TwistLimitsEnabled = true
Socket.LimitsEnabled = true
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = Character["Right Arm"]
a2.Parent = Character.Torso
Socket.Parent = Character["Right Arm"]
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(1.5,0.5,0)
Socket.LimitsEnabled = true
else
for i,v in pairs(Character:GetDescendants()) do
if v:IsA("Motor6D") then
local Socket = Instance.new("BallSocketConstraint")
local a1 = Instance.new("Attachment")
local a2 = Instance.new("Attachment")
a1.Parent = v.Part0
a2.Parent = v.Part1
Socket.Parent = v.Parent
Socket.Attachment0 = a1
Socket.Attachment1 = a2
a1.CFrame = v.C0
a2.CFrame = v.C1
Socket.LimitsEnabled = true
Socket.TwistLimitsEnabled = true
v:Destroy()
end
end
end
end)
end)()
end
while task.wait() do
coroutine.wrap(function()
local params = OverlapParams.new()
params.FilterDescendantsInstances = {owner.Character:GetDescendants(), script}
params.FilterType = Enum.RaycastFilterType.Blacklist
for _, v in pairs(workspace:GetPartBoundsInBox(Knife.CFrame, Knife.Size * 1.75, params)) do
if (v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid")) and not hitdb and canhit then
hitdb = true
if behind then
slap.Volume = 1
slap.Parent = Knife
slap.Parent = nil
local shockwave = Instance.new("SpawnLocation",script)
shockwave.Enabled = false
shockwave.CanCollide = false
shockwave.CanTouch = false
shockwave.Anchored = true
shockwave.Size = Vector3.new()
shockwave.CFrame = Knife.CFrame * CFrame.new(0,0,1) * CFrame.Angles(math.rad(-90),0,0)
shockwave.Material = "ForceField"
shockwave.Transparency = 0.125
local light = Instance.new("PointLight",shockwave)
light.Shadows = true
light.Brightness = 1.5
light.Color = Color3.fromRGB(222, 240, 250)
light.Range = 7
game:GetService("Debris"):AddItem(shockwave,0.25)
local Mesh = Instance.new("SpecialMesh")
Mesh.Parent = shockwave
Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
Mesh.Scale = Vector3.new(0,0,0)
local tweenService = game:GetService("TweenService")
local timeToFade = 0.235
local object = Mesh
local tweenInfo = TweenInfo.new(timeToFade,Enum.EasingStyle.Cubic)
local goal3 = {}
goal3.Scale = Vector3.new(6,0.75,6)
local tween3 = tweenService:Create(object, tweenInfo, goal3)
tween3:Play()
local tweenService = game:GetService("TweenService")
local timeToFade = 0.235
local object = shockwave
local tweenInfo = TweenInfo.new(timeToFade,Enum.EasingStyle.Cubic)
local goal4 = {}
goal4.Transparency = 1
local tween4 = tweenService:Create(object, tweenInfo, goal4)
tween4:Play()
local shockwave2 = Instance.new("SpawnLocation",script)
shockwave2.Enabled = false
shockwave2.CanCollide = false
shockwave2.CanTouch = false
shockwave2.Anchored = true
shockwave2.Size = Vector3.new()
shockwave2.CFrame = Knife.CFrame * CFrame.new(0,0,1.5) * CFrame.Angles(math.rad(-90),0,0)
shockwave2.Material = "ForceField"
shockwave2.Transparency = 0.125
game:GetService("Debris"):AddItem(shockwave2,0.275)
shockwave2.Color = Color3.new(0.75,0.75,0.75)
local Mesh = Instance.new("SpecialMesh")
Mesh.Parent = shockwave2
Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
Mesh.Scale = Vector3.new(0,0,0)
local tweenService = game:GetService("TweenService")
local timeToFade = 0.265
local object = Mesh
local tweenInfo = TweenInfo.new(timeToFade,Enum.EasingStyle.Cubic)
local goal3 = {}
goal3.Scale = Vector3.new(3,1.75,3)
local tween3 = tweenService:Create(object, tweenInfo, goal3)
tween3:Play()
local tweenService = game:GetService("TweenService")
local timeToFade = 0.265
local object = shockwave2
local tweenInfo = TweenInfo.new(timeToFade,Enum.EasingStyle.Cubic)
local goal4 = {}
goal4.Transparency = 1
local tween4 = tweenService:Create(object, tweenInfo, goal4)
tween4:Play()
v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid").BreakJointsOnDeath = false
kill(v:FindFirstAncestorOfClass("Model"))
wait()
coroutine.wrap(function()
for i = 1, 10 do
pcall(function()
wait(0.01)
v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid").Health = 0
end)
end
end)()
local bf2 = Instance.new("BodyVelocity",v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Part"))
bf2.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bf2.Velocity = owner.Character.Head.CFrame.lookVector * 200 + owner.Character.Head.CFrame.upVector * 75
game:GetService("Debris"):AddItem(bf2,0.1)
else
slap.Volume = 0.5
slap.Parent = Knife
slap.Parent = nil
v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid").Health -= 20
end
end
end
end)()
local torso = findNearestTorso(Knife.Position)
if torso~=nil then
local ObjectSpace = torso.CFrame:inverse() * owner.Character.Head.CFrame
if ObjectSpace.Z > 0.45 or ObjectSpace.Z > -0.45 then
behind = true
else
behind = false
end
else
behind = false
end
end