local plr = owner
local char = plr.Character
local hum = char:FindFirstChildOfClass("Humanoid")
local torso = char:FindFirstChild("Torso")
local rootpart = char:FindFirstChild("HumanoidRootPart")
local larm,rarm,lleg,rleg,head = char:FindFirstChild("Left Arm"),char:FindFirstChild("Right Arm"),char:FindFirstChild("Left Leg"),char:FindFirstChild("Right Leg"),char:FindFirstChild("Head")
if larm and rarm and lleg and rleg and head--[[hum.RigType ~= Enum.HumanoidRigType.R6]] then else warn('Character must be R6.'); return; end;
ls,rs,lh,rh,neck,rj = torso:FindFirstChild("Left Shoulder"),torso:FindFirstChild("Right Shoulder"),torso:FindFirstChild("Left Hip"),torso:FindFirstChild("Right Hip"),torso:FindFirstChild("Neck"),rootpart:FindFirstChild("RootJoint")
function QuaternionFromCFrame(cf)
local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
local trace = m00 + m11 + m22
if trace > 0 then
local s = math.sqrt(1 + trace)
local recip = 0.5 / s
return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
else
local i = 0
if m11 > m00 then
i = 1
end
if m22 > (i == 0 and m00 or m11) then
i = 2
end
if i == 0 then
local s = math.sqrt(m00 - m11 - m22 + 1)
local recip = 0.5 / s
return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
elseif i == 1 then
local s = math.sqrt(m11 - m22 - m00 + 1)
local recip = 0.5 / s
return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
elseif i == 2 then
local s = math.sqrt(m22 - m00 - m11 + 1)
local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
end
end
end
function QuaternionToCFrame(px, py, pz, x, y, z, w)
local xs, ys, zs = x + x, y + y, z + z
local wx, wy, wz = w * xs, w * ys, w * zs
local xx = x * xs
local xy = x * ys
local xz = x * zs
local yy = y * ys
local yz = y * zs
local zz = z * zs
return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
end
function QuaternionSlerp(a, b, t)
local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
local startInterp, finishInterp;
if cosTheta >= 0.0001 then
if (1 - cosTheta) > 0.0001 then
local theta = math.acos(cosTheta)
local invSinTheta = 1 / math.sin(theta)
startInterp = math.sin((1 - t) * theta) * invSinTheta
finishInterp = math.sin(t * theta) * invSinTheta
else
startInterp = 1 - t
finishInterp = t
end
else
if (1 + cosTheta) > 0.0001 then
local theta = math.acos(-cosTheta)
local invSinTheta = 1 / math.sin(theta)
startInterp = math.sin((t - 1) * theta) * invSinTheta
finishInterp = math.sin(t * theta) * invSinTheta
else
startInterp = t - 1
finishInterp = t
end
end
return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
end
function lerp(a,b,t)
a:lerp(b,t)
end
function tween(a,b,t)
game:GetService("TweenService"):Create(a,TweenInfo.new(t),{CFrame = b}):Play()
end
function clerp(a, b, t)
local qa = {QuaternionFromCFrame(a)}
local qb = {QuaternionFromCFrame(b)}
local ax, ay, az = a.x, a.y, a.z
local bx, by, bz = b.x, b.y, b.z
local _t = 1 - t
return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
end
--//=================================\\
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
--\\=================================//
ArtificialHB = Instance.new("BindableEvent", script)
ArtificialHB.Name = "ArtificialHB"
script:WaitForChild("ArtificialHB")
frame = (1/60)
tf = 0
allowframeloss = false
tossremainder = false
lastframe = tick()
script.ArtificialHB:Fire()
game:GetService("RunService").Heartbeat:connect(function(s, p)
tf = tf + s
if tf >= frame then
if allowframeloss then
script.ArtificialHB:Fire()
lastframe = tick()
else
for i = 1, math.floor(tf / frame) do
script.ArtificialHB:Fire()
end
lastframe = tick()
end
if tossremainder then
tf = 0
else
tf = tf - frame * math.floor(tf / frame)
end
end
end)
function Swait(NUMBER)
if NUMBER == 0 or NUMBER == nil then
ArtificialHB.Event:wait()
else
for i = 1, NUMBER do
ArtificialHB.Event:wait()
end
end
end
--//=================================\\
--\\=================================//
local Model1 = Instance.new("Model")
local Part2 = Instance.new("Part")
local SpecialMesh3 = Instance.new("SpecialMesh")
local Part4 = Instance.new("Part")
local SpecialMesh5 = Instance.new("SpecialMesh")
local Part6 = Instance.new("Part")
local SpecialMesh7 = Instance.new("SpecialMesh")
local Part8 = Instance.new("Part")
local SpecialMesh9 = Instance.new("SpecialMesh")
local Part10 = Instance.new("Part")
local SpecialMesh11 = Instance.new("SpecialMesh")
local Part12 = Instance.new("Part")
local SpecialMesh13 = Instance.new("SpecialMesh")
local Part14 = Instance.new("Part")
local SpecialMesh15 = Instance.new("SpecialMesh")
local Part16 = Instance.new("Part")
local SpecialMesh17 = Instance.new("SpecialMesh")
local Blade = Instance.new("Part")
local SpecialMesh19 = Instance.new("SpecialMesh")
local EndPiece = Instance.new("Part")
local SpecialMesh21 = Instance.new("SpecialMesh")
local HandGuard = Instance.new("Part")
local SpecialMesh23 = Instance.new("SpecialMesh")
local HandGuard2 = Instance.new("Part")
local SpecialMesh25 = Instance.new("SpecialMesh")
local Handle = Instance.new("Part")
local SpecialMesh27 = Instance.new("SpecialMesh")
local Hilt = Instance.new("Part")
local SpecialMesh29 = Instance.new("SpecialMesh")
local Hilt2 = Instance.new("Part")
local SpecialMesh31 = Instance.new("SpecialMesh")
local Sheath = Instance.new("Part")
local SpecialMesh33 = Instance.new("SpecialMesh")
local Texture34 = Instance.new("Texture")
local Texture35 = Instance.new("Texture")
local Texture36 = Instance.new("Texture")
local Texture37 = Instance.new("Texture")
local Texture38 = Instance.new("Texture")
local Texture39 = Instance.new("Texture")
Model1.Name = "Cloth"
Model1.Parent = nil
Part2.Name = "cloth1"
Part2.Parent = Model1
Part2.CFrame = CFrame.new(8.89884567, 2.74100494, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part2.Orientation = Vector3.new(0, 0, -90)
Part2.Position = Vector3.new(8.89884567, 2.74100494, 2.74181032)
Part2.Rotation = Vector3.new(0, 0, -90)
Part2.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part2.Size = Vector3.new(0.420896888, 0.0854082704, 0.242092505)
Part2.Anchored = true
Part2.BottomSurface = Enum.SurfaceType.Smooth
Part2.BrickColor = BrickColor.new("Really black")
Part2.CanCollide = false
Part2.Locked = true
Part2.Material = Enum.Material.Fabric
Part2.Reflectance = 0.60000002384186
Part2.TopSurface = Enum.SurfaceType.Smooth
Part2.brickColor = BrickColor.new("Really black")
SpecialMesh3.Parent = Part2
SpecialMesh3.MeshId = "rbxassetid://4568296395"
SpecialMesh3.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh3.TextureId = "rbxassetid://4568343753"
SpecialMesh3.MeshType = Enum.MeshType.FileMesh
Part4.Name = "cloth2"
Part4.Parent = Model1
Part4.CFrame = CFrame.new(8.98425388, 2.74100494, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part4.Orientation = Vector3.new(0, 0, -90)
Part4.Position = Vector3.new(8.98425388, 2.74100494, 2.74181032)
Part4.Rotation = Vector3.new(0, 0, -90)
Part4.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part4.Size = Vector3.new(0.420896888, 0.0854082704, 0.242092505)
Part4.Anchored = true
Part4.BottomSurface = Enum.SurfaceType.Smooth
Part4.BrickColor = BrickColor.new("Really black")
Part4.CanCollide = false
Part4.Locked = true
Part4.Material = Enum.Material.Fabric
Part4.TopSurface = Enum.SurfaceType.Smooth
Part4.brickColor = BrickColor.new("Really black")
SpecialMesh5.Parent = Part4
SpecialMesh5.MeshId = "rbxassetid://4568296477"
SpecialMesh5.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh5.TextureId = "rbxassetid://4568343753"
SpecialMesh5.MeshType = Enum.MeshType.FileMesh
Part6.Name = "cloth4"
Part6.Parent = Model1
Part6.CFrame = CFrame.new(8.98425388, 3.16128683, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part6.Orientation = Vector3.new(0, 0, -90)
Part6.Position = Vector3.new(8.98425388, 3.16128683, 2.74181032)
Part6.Rotation = Vector3.new(0, 0, -90)
Part6.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part6.Size = Vector3.new(0.41843909, 0.0854082704, 0.242092505)
Part6.Anchored = true
Part6.BottomSurface = Enum.SurfaceType.Smooth
Part6.BrickColor = BrickColor.new("Really black")
Part6.CanCollide = false
Part6.Locked = true
Part6.Material = Enum.Material.Fabric
Part6.TopSurface = Enum.SurfaceType.Smooth
Part6.brickColor = BrickColor.new("Really black")
SpecialMesh7.Parent = Part6
SpecialMesh7.MeshId = "rbxassetid://4568296667"
SpecialMesh7.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh7.TextureId = "rbxassetid://4568343753"
SpecialMesh7.MeshType = Enum.MeshType.FileMesh
Part8.Name = "cloth3"
Part8.Parent = Model1
Part8.CFrame = CFrame.new(8.89884567, 3.16128683, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part8.Orientation = Vector3.new(0, 0, -90)
Part8.Position = Vector3.new(8.89884567, 3.16128683, 2.74181032)
Part8.Rotation = Vector3.new(0, 0, -90)
Part8.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part8.Size = Vector3.new(0.41843909, 0.0854082704, 0.242092505)
Part8.Anchored = true
Part8.BottomSurface = Enum.SurfaceType.Smooth
Part8.BrickColor = BrickColor.new("Really black")
Part8.CanCollide = false
Part8.Locked = true
Part8.Material = Enum.Material.Fabric
Part8.TopSurface = Enum.SurfaceType.Smooth
Part8.brickColor = BrickColor.new("Really black")
SpecialMesh9.Parent = Part8
SpecialMesh9.MeshId = "rbxassetid://4568296564"
SpecialMesh9.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh9.TextureId = "rbxassetid://4568343753"
SpecialMesh9.MeshType = Enum.MeshType.FileMesh
Part10.Name = "cloth7"
Part10.Parent = Model1
Part10.CFrame = CFrame.new(8.89884567, 3.99877858, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part10.Orientation = Vector3.new(0, 0, -90)
Part10.Position = Vector3.new(8.89884567, 3.99877858, 2.74181032)
Part10.Rotation = Vector3.new(0, 0, -90)
Part10.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part10.Size = Vector3.new(0.419053525, 0.0854082704, 0.242092505)
Part10.Anchored = true
Part10.BottomSurface = Enum.SurfaceType.Smooth
Part10.BrickColor = BrickColor.new("Really black")
Part10.CanCollide = false
Part10.Locked = true
Part10.Material = Enum.Material.Fabric
Part10.TopSurface = Enum.SurfaceType.Smooth
Part10.brickColor = BrickColor.new("Really black")
SpecialMesh11.Parent = Part10
SpecialMesh11.MeshId = "rbxassetid://4568297179"
SpecialMesh11.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh11.TextureId = "rbxassetid://4568343753"
SpecialMesh11.MeshType = Enum.MeshType.FileMesh
Part12.Name = "cloth5"
Part12.Parent = Model1
Part12.CFrame = CFrame.new(8.89884567, 3.57972622, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part12.Orientation = Vector3.new(0, 0, -90)
Part12.Position = Vector3.new(8.89884567, 3.57972622, 2.74181032)
Part12.Rotation = Vector3.new(0, 0, -90)
Part12.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part12.Size = Vector3.new(0.41843909, 0.0854082704, 0.242092505)
Part12.Anchored = true
Part12.BottomSurface = Enum.SurfaceType.Smooth
Part12.BrickColor = BrickColor.new("Really black")
Part12.CanCollide = false
Part12.Locked = true
Part12.Material = Enum.Material.Fabric
Part12.TopSurface = Enum.SurfaceType.Smooth
Part12.brickColor = BrickColor.new("Really black")
SpecialMesh13.Parent = Part12
SpecialMesh13.MeshId = "rbxassetid://4568296759"
SpecialMesh13.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh13.TextureId = "rbxassetid://4568343753"
SpecialMesh13.MeshType = Enum.MeshType.FileMesh
Part14.Name = "cloth8"
Part14.Parent = Model1
Part14.CFrame = CFrame.new(8.98425388, 3.99877858, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part14.Orientation = Vector3.new(0, 0, -90)
Part14.Position = Vector3.new(8.98425388, 3.99877858, 2.74181032)
Part14.Rotation = Vector3.new(0, 0, -90)
Part14.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part14.Size = Vector3.new(0.419053525, 0.0854082704, 0.242092505)
Part14.Anchored = true
Part14.BottomSurface = Enum.SurfaceType.Smooth
Part14.BrickColor = BrickColor.new("Really black")
Part14.CanCollide = false
Part14.Locked = true
Part14.Material = Enum.Material.Fabric
Part14.TopSurface = Enum.SurfaceType.Smooth
Part14.brickColor = BrickColor.new("Really black")
SpecialMesh15.Parent = Part14
SpecialMesh15.MeshId = "rbxassetid://4568297272"
SpecialMesh15.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh15.TextureId = "rbxassetid://4568343753"
SpecialMesh15.MeshType = Enum.MeshType.FileMesh
Part16.Name = "cloth6"
Part16.Parent = Model1
Part16.CFrame = CFrame.new(8.98425388, 3.57972622, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Part16.Orientation = Vector3.new(0, 0, -90)
Part16.Position = Vector3.new(8.98425388, 3.57972622, 2.74181032)
Part16.Rotation = Vector3.new(0, 0, -90)
Part16.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
Part16.Size = Vector3.new(0.41843909, 0.0854082704, 0.242092505)
Part16.Anchored = true
Part16.BottomSurface = Enum.SurfaceType.Smooth
Part16.BrickColor = BrickColor.new("Really black")
Part16.CanCollide = false
Part16.Locked = true
Part16.Material = Enum.Material.Fabric
Part16.TopSurface = Enum.SurfaceType.Smooth
Part16.brickColor = BrickColor.new("Really black")
SpecialMesh17.Parent = Part16
SpecialMesh17.MeshId = "rbxassetid://4568296864"
SpecialMesh17.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh17.TextureId = "rbxassetid://4568343753"
SpecialMesh17.MeshType = Enum.MeshType.FileMesh
Blade.Name = "Blade"
Blade.Parent = Model1
Blade.CFrame = CFrame.new(8.94124222, 6.77731228, 3.00909495, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Blade.Orientation = Vector3.new(0, 0, -90)
Blade.Position = Vector3.new(8.94124222, 6.77731228, 3.00909495)
Blade.Rotation = Vector3.new(0, 0, -90)
Blade.Color = Color3.new(0.905882, 0.905882, 0.92549)
Blade.Size = Vector3.new(4.37486982, 0.092781648, 0.729349792)
Blade.Anchored = true
Blade.BottomSurface = Enum.SurfaceType.Smooth
Blade.BrickColor = BrickColor.new("Pearl")
Blade.CanCollide = false
Blade.Locked = true
Blade.Material = Enum.Material.Glass
Blade.Reflectance = 0.60000002384186
Blade.TopSurface = Enum.SurfaceType.Smooth
Blade.brickColor = BrickColor.new("Pearl")
SpecialMesh19.Parent = Blade
SpecialMesh19.MeshId = "rbxassetid://4568221814"
SpecialMesh19.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh19.MeshType = Enum.MeshType.FileMesh
EndPiece.Name = "EndPiece"
EndPiece.Parent = Model1
EndPiece.CFrame = CFrame.new(8.94124222, 2.50505638, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
EndPiece.Orientation = Vector3.new(0, 0, -90)
EndPiece.Position = Vector3.new(8.94124222, 2.50505638, 2.74181032)
EndPiece.Rotation = Vector3.new(0, 0, -90)
EndPiece.Color = Color3.new(0.937255, 0.721569, 0.219608)
EndPiece.Size = Vector3.new(0.0516136326, 0.172659889, 0.252538145)
EndPiece.Anchored = true
EndPiece.BottomSurface = Enum.SurfaceType.Smooth
EndPiece.BrickColor = BrickColor.new("Gold")
EndPiece.CanCollide = false
EndPiece.Locked = true
EndPiece.Material = Enum.Material.Metal
EndPiece.TopSurface = Enum.SurfaceType.Smooth
EndPiece.brickColor = BrickColor.new("Gold")
SpecialMesh21.Parent = EndPiece
SpecialMesh21.MeshId = "rbxassetid://4568221898"
SpecialMesh21.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh21.MeshType = Enum.MeshType.FileMesh
HandGuard.Name = "HandGuard"
HandGuard.Parent = Model1
HandGuard.CFrame = CFrame.new(8.94124222, 4.42581987, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
HandGuard.Orientation = Vector3.new(0, 0, -90)
HandGuard.Position = Vector3.new(8.94124222, 4.42581987, 2.74181032)
HandGuard.Rotation = Vector3.new(0, 0, -90)
HandGuard.Color = Color3.new(0.937255, 0.721569, 0.219608)
HandGuard.Size = Vector3.new(0.0553003214, 0.357608765, 0.462679356)
HandGuard.Anchored = true
HandGuard.BottomSurface = Enum.SurfaceType.Smooth
HandGuard.BrickColor = BrickColor.new("Gold")
HandGuard.CanCollide = false
HandGuard.Locked = true
HandGuard.Material = Enum.Material.Metal
HandGuard.TopSurface = Enum.SurfaceType.Smooth
HandGuard.brickColor = BrickColor.new("Gold")
SpecialMesh23.Parent = HandGuard
SpecialMesh23.MeshId = "rbxassetid://4568307999"
SpecialMesh23.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh23.MeshType = Enum.MeshType.FileMesh
HandGuard2.Name = "HandGuard2"
HandGuard2.Parent = Model1
HandGuard2.CFrame = CFrame.new(8.94124222, 4.42581987, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
HandGuard2.Orientation = Vector3.new(0, 0, -90)
HandGuard2.Position = Vector3.new(8.94124222, 4.42581987, 2.74181032)
HandGuard2.Rotation = Vector3.new(0, 0, -90)
HandGuard2.Color = Color3.new(0.937255, 0.721569, 0.219608)
HandGuard2.Size = Vector3.new(0.0553003214, 0.462679356, 0.293091714)
HandGuard2.Anchored = true
HandGuard2.BottomSurface = Enum.SurfaceType.Smooth
HandGuard2.BrickColor = BrickColor.new("Gold")
HandGuard2.CanCollide = false
HandGuard2.Locked = true
HandGuard2.Material = Enum.Material.Metal
HandGuard2.TopSurface = Enum.SurfaceType.Smooth
HandGuard2.brickColor = BrickColor.new("Gold")
SpecialMesh25.Parent = HandGuard2
SpecialMesh25.MeshId = "rbxassetid://4568307893"
SpecialMesh25.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh25.MeshType = Enum.MeshType.FileMesh
Handle.Name = "Handle"
Handle.Parent = Model1
Handle.CFrame = CFrame.new(8.94124222, 3.3701992, 2.74058151, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Handle.Orientation = Vector3.new(0, 0, -90)
Handle.Position = Vector3.new(8.94124222, 3.3701992, 2.74058151)
Handle.Rotation = Vector3.new(0, 0, -90)
Handle.Color = Color3.new(0.458824, 0, 0)
Handle.Size = Vector3.new(1.67928648, 0.159756482, 0.232875794)
Handle.Anchored = true
Handle.BottomSurface = Enum.SurfaceType.Smooth
Handle.BrickColor = BrickColor.new("Maroon")
Handle.CanCollide = false
Handle.Locked = true
Handle.Material = Enum.Material.Sand
Handle.TopSurface = Enum.SurfaceType.Smooth
Handle.brickColor = BrickColor.new("Maroon")
SpecialMesh27.Parent = Handle
SpecialMesh27.MeshId = "rbxassetid://4568222002"
SpecialMesh27.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh27.TextureId = "rbxassetid://4568344218"
SpecialMesh27.MeshType = Enum.MeshType.FileMesh
Hilt.Name = "Hilt"
Hilt.Parent = Model1
Hilt.CFrame = CFrame.new(8.94124222, 4.30354452, 2.74181032, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Hilt.Orientation = Vector3.new(0, 0, -90)
Hilt.Position = Vector3.new(8.94124222, 4.30354452, 2.74181032)
Hilt.Rotation = Vector3.new(0, 0, -90)
Hilt.Color = Color3.new(0.937255, 0.721569, 0.219608)
Hilt.Size = Vector3.new(0.19170779, 0.177575484, 0.256224811)
Hilt.Anchored = true
Hilt.BottomSurface = Enum.SurfaceType.Smooth
Hilt.BrickColor = BrickColor.new("Gold")
Hilt.CanCollide = false
Hilt.Locked = true
Hilt.Material = Enum.Material.Metal
Hilt.TopSurface = Enum.SurfaceType.Smooth
Hilt.brickColor = BrickColor.new("Gold")
SpecialMesh29.Parent = Hilt
SpecialMesh29.MeshId = "rbxassetid://4568222332"
SpecialMesh29.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh29.MeshType = Enum.MeshType.FileMesh
Hilt2.Name = "Hilt2"
Hilt2.Parent = Model1
Hilt2.CFrame = CFrame.new(8.94124222, 4.52044487, 2.74058151, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Hilt2.Orientation = Vector3.new(0, 0, -90)
Hilt2.Position = Vector3.new(8.94124222, 4.52044487, 2.74058151)
Hilt2.Rotation = Vector3.new(0, 0, -90)
Hilt2.Color = Color3.new(0.937255, 0.721569, 0.219608)
Hilt2.Size = Vector3.new(0.142551929, 0.106913954, 0.215671256)
Hilt2.Anchored = true
Hilt2.BottomSurface = Enum.SurfaceType.Smooth
Hilt2.BrickColor = BrickColor.new("Gold")
Hilt2.CanCollide = false
Hilt2.Locked = true
Hilt2.Material = Enum.Material.Metal
Hilt2.TopSurface = Enum.SurfaceType.Smooth
Hilt2.brickColor = BrickColor.new("Gold")
SpecialMesh31.Parent = Hilt2
SpecialMesh31.MeshId = "rbxassetid://4568222411"
SpecialMesh31.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh31.MeshType = Enum.MeshType.FileMesh
Sheath.Name = "Sheath"
Sheath.Parent = Model1
Sheath.CFrame = CFrame.new(8.94124222, 6.81540871, 3.03121519, 0, 1, 0, -1, 0, 0, 0, 0, 1)
Sheath.Orientation = Vector3.new(0, 0, -90)
Sheath.Position = Vector3.new(8.94124222, 6.81540871, 3.03121519)
Sheath.Rotation = Vector3.new(0, 0, -90)
Sheath.Size = Vector3.new(4.71465969, 0.108757302, 0.851624966)
Sheath.Anchored = true
Sheath.BottomSurface = Enum.SurfaceType.Smooth
Sheath.CanCollide = false
Sheath.Locked = true
Sheath.Material = Enum.Material.SmoothPlastic
Sheath.TopSurface = Enum.SurfaceType.Smooth
SpecialMesh33.Parent = Sheath
SpecialMesh33.MeshId = "rbxassetid://4568222503"
SpecialMesh33.Scale = Vector3.new(0.614448011, 0.614448011, 0.614448011)
SpecialMesh33.MeshType = Enum.MeshType.FileMesh
Texture34.Parent = Sheath
Texture34.Texture = "rbxassetid://4568344297"
Texture34.Face = Enum.NormalId.Top
Texture34.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
Texture35.Parent = Sheath
Texture35.Texture = "rbxassetid://4568344297"
Texture35.Face = Enum.NormalId.Back
Texture35.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
Texture36.Parent = Sheath
Texture36.Texture = "rbxassetid://4568344297"
Texture36.Face = Enum.NormalId.Bottom
Texture36.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
Texture37.Parent = Sheath
Texture37.Texture = "rbxassetid://4568344297"
Texture37.Face = Enum.NormalId.Left
Texture37.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
Texture38.Parent = Sheath
Texture38.Texture = "rbxassetid://4568344297"
Texture38.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
Texture39.Parent = Sheath
Texture39.Texture = "rbxassetid://4568344297"
Texture39.Face = Enum.NormalId.Right
Texture39.Color3 = Color3.new(0.176471, 0.176471, 0.176471)
local a1,a2,k_trail = Instance.new("Attachment"),Instance.new("Attachment"),Instance.new("Trail")
a1.Parent = Blade
a1.Position = Vector3.new((Blade.Size.X/2), 0, -(Blade.Size.Z/2))
a2.Parent = Blade
a2.Position = Vector3.new(-(Blade.Size.X/2), 0, (Blade.Size.Z/2))
k_trail.Parent = Blade
k_trail.Attachment0 = a1
k_trail.Attachment1 = a2
k_trail.MinLength = 0
k_trail.LightInfluence = 1
--k_trail.Texture = 'rbxassetid://4480871448'
--k_trail.MaxLength = 2
k_trail.Transparency = NumberSequence.new(0,1)
k_trail.Lifetime = 0.5
k_trail.Enabled = false
--
local low_gfx = true
local katana_m = Model1
local sheathe_weld = nil
local _sheathe_weld = nil
local sheathe_weld2 = nil
local _sheathe_weld2 = nil
local Handle,Sheath
for _,v in pairs(katana_m:GetDescendants()) do
if v:IsA("Part") then
v.Anchored = false
v.CanCollide = false
v.Massless = true
v.Locked = true
if v.Name == 'Handle' then
Handle = v
elseif v.Name == 'Sheath' then
Sheath = v
end
end
end
for _,v in pairs(katana_m:GetDescendants()) do
if low_gfx then
if v.Name == 'Hilt' then
local sm = v:FindFirstChildOfClass("SpecialMesh")
if sm then
sm.MeshId = ''
sm.MeshType = Enum.MeshType.Cylinder
sm.Scale = Vector3.new(1,1,1)
sm.TextureId = ''
end
v.Size = Vector3.new(0.192, 0.256, 0.256)
elseif v.Name == 'Handle' then
local sm = v:FindFirstChildOfClass("SpecialMesh")
if sm then
sm.MeshId = ''
sm.MeshType = Enum.MeshType.Cylinder
sm.Scale = Vector3.new(1,1,1)
end
v.Size = Vector3.new(1.679, 0.233, 0.233)
elseif v.Name == 'HandGuard' then
local sm = v:FindFirstChildOfClass("SpecialMesh")
if sm then
sm.MeshId = ''
sm.MeshType = Enum.MeshType.Cylinder
sm.Scale = Vector3.new(1,1,1)
sm.TextureId = ''
end
v.Size = Vector3.new(0.055, 0.463, 0.463)
elseif v.Name == 'EndPiece' then
local sm = v:FindFirstChildOfClass("SpecialMesh")
if sm then
sm.MeshId = ''
sm.MeshType = Enum.MeshType.Cylinder
sm.Scale = Vector3.new(1,1,1)
sm.TextureId = ''
end
v.Size = Vector3.new(0.052, 0.253, 0.253)
elseif (v.Name == 'HandGuard2') --[[or (v.Name == 'Hilt2')]] or string.match(v.Name:lower(),'cloth') then
v:Destroy()
end
end
if v ~= Handle and v:IsA("Part") then
if v ~= Sheath then
local weld = Instance.new("Weld")
weld.Part0 = Handle
weld.Part1 = v
weld.Parent = v
weld.C0 = Handle.CFrame:Inverse()
weld.C1 = v.CFrame:Inverse()
end
end
end
sheathe_weld = Instance.new("Weld")
sheathe_weld.Part0 = Handle
sheathe_weld.Part1 = Sheath
sheathe_weld.Parent = Sheath
sheathe_weld.C0 = Handle.CFrame:Inverse()
sheathe_weld.C1 = Sheath.CFrame:Inverse()
_sheathe_weld = Instance.new("Weld")
_sheathe_weld.Part0 = torso
_sheathe_weld.Part1 = Sheath
_sheathe_weld.Parent = Sheath
_sheathe_weld.C0 = CFrame.new(-1.05, -1.2, 1.7)*CFrame.Angles(math.rad(110),math.rad(180),math.rad(-90))
sheathe_weld2 = Instance.new("Weld")
sheathe_weld2.Part0 = rarm
sheathe_weld2.Part1 = Handle
sheathe_weld2.Parent = nil
sheathe_weld2.C0 = CFrame.new(0,-rarm.Size.Y/2,0)*CFrame.Angles(math.rad(-90),0,0)
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)
_sheathe_weld2 = Instance.new("Weld")
_sheathe_weld2.Part0 = larm
_sheathe_weld2.Part1 = Sheath
_sheathe_weld2.Parent = nil
_sheathe_weld2.C1 = CFrame.new(1.4,0,0.8)*CFrame.Angles(math.rad(0),math.rad(-85),math.rad(-90))
Handle.Anchored = false
katana_m.Parent = char
--
local blood_att
function create_blood_att()
if not blood_att or not blood_att.Parent then else return end
blood_att = Instance.new("Attachment")
blood_att.Parent = Blade
local ParticleEmitter0 = Instance.new("ParticleEmitter")
local ParticleEmitter1 = Instance.new("ParticleEmitter")
ParticleEmitter0.Parent = blood_att
ParticleEmitter0.Speed = NumberRange.new(1, 1)
ParticleEmitter0.Rotation = NumberRange.new(0, 360)
ParticleEmitter0.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0))
ParticleEmitter0.Enabled = false
ParticleEmitter0.Texture = "rbxassetid://244369543"
ParticleEmitter0.Transparency = NumberSequence.new({
NumberSequenceKeypoint.new(0,1),
NumberSequenceKeypoint.new(0.0436,0.981),
NumberSequenceKeypoint.new(0.423,0.969),
NumberSequenceKeypoint.new(1,1),
})
ParticleEmitter0.Size = NumberSequence.new({
NumberSequenceKeypoint.new(0,5.69),
NumberSequenceKeypoint.new(0.728,6.44),
NumberSequenceKeypoint.new(1,0),
})
ParticleEmitter0.Acceleration = Vector3.new(0, -0.5, 0)
ParticleEmitter0.Drag = -1
ParticleEmitter0.Lifetime = NumberRange.new(1, 1)
ParticleEmitter0.Rate = 20
ParticleEmitter0.RotSpeed = NumberRange.new(5, 5)
ParticleEmitter0.SpreadAngle = Vector2.new(360, 360)
ParticleEmitter0.VelocitySpread = 360
ParticleEmitter1.Parent = blood_att
ParticleEmitter1.Speed = NumberRange.new(3, 3)
ParticleEmitter1.Rotation = NumberRange.new(0, 360)
ParticleEmitter1.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0))
ParticleEmitter1.Enabled = false
ParticleEmitter1.Texture = "rbxassetid://421529480"
ParticleEmitter1.Transparency = NumberSequence.new({
NumberSequenceKeypoint.new(0,1),
NumberSequenceKeypoint.new(0.0355,0.212),
NumberSequenceKeypoint.new(0.156,0.837),
NumberSequenceKeypoint.new(0.478,0.881),
NumberSequenceKeypoint.new(0.709,1),
NumberSequenceKeypoint.new(1,1),
})
ParticleEmitter1.Size = NumberSequence.new({
NumberSequenceKeypoint.new(0,0.5),
NumberSequenceKeypoint.new(0.14,1.5),
NumberSequenceKeypoint.new(0.607,3.5),
NumberSequenceKeypoint.new(1,0),
})
ParticleEmitter1.Acceleration = Vector3.new(0, -12, 0)
ParticleEmitter1.Drag = -1
ParticleEmitter1.Lifetime = NumberRange.new(2.5, 2.5)
ParticleEmitter1.Rate = 80
ParticleEmitter1.SpreadAngle = Vector2.new(360, 360)
ParticleEmitter1.VelocitySpread = 360
ParticleEmitter0.Enabled = false
ParticleEmitter1.Enabled = false
end
--
local wallhits = {3203893315,3203893704,3203893934}
local bladeswings = {338586299,338586318,338586331}
local bladehits = {3203895449,3203894821,3203895660,344936319}
local bladedismembers = {3744367524,3744368077,3744368365,3744368660}
local bladeclashes = {4953121379,4953118406,4953118940,4953120382,4953120611,3932476666,3744370206,3744369932,3744369672}
--
local bladehit_s = Instance.new("Sound")
bladehit_s.SoundId = 'rbxassetid://' .. bladehits[math.random(1,#bladehits)]
bladehit_s.Volume = 0.7
bladehit_s.Parent = Blade
local bladedismember_s = Instance.new("Sound")
bladedismember_s.SoundId = 'rbxassetid://' .. bladedismembers[math.random(1,#bladedismembers)]
bladedismember_s.Volume = 0.8
bladedismember_s.Parent = Blade
local bladeclash_s = Instance.new("Sound")
bladeclash_s.SoundId = 'rbxassetid://' .. bladeclashes[math.random(1,#bladeclashes)]
bladeclash_s.Volume = 0.6
bladeclash_s.Parent = Blade
local hitwall = Instance.new("Sound")
hitwall.SoundId = 'rbxassetid://' .. wallhits[math.random(1,#wallhits)]
hitwall.Volume = 0.6
hitwall.Parent = Blade
local blade_swing = Instance.new("Sound")
blade_swing.SoundId = 'rbxassetid://' .. bladeswings[math.random(1,#bladeswings)]
blade_swing.Volume = 0.5
blade_swing.Parent = Blade
local unsheathe = Instance.new("Sound")
unsheathe.SoundId = 'rbxassetid://274937234'
unsheathe.Volume = 0.5
unsheathe.PlaybackSpeed = 1
unsheathe.Parent = Blade
local sheathe = Instance.new("Sound")
sheathe.SoundId = 'rbxassetid://3211793833'
sheathe.Volume = 0.5
sheathe.PlaybackSpeed = 1
sheathe.Parent = Blade
local bleeding = Instance.new("Sound")
bleeding.SoundId = 'rbxassetid://360007673'
bleeding.Volume = 0.5
bleeding.Parent = Blade
local motors = {}
local welds = {}
if ls then
table.insert(motors,1,{ls,ls.Parent})
ls.Parent = nil
ls = Instance.new("Weld")
ls.Name = 'Left Shoulder'
ls.Part0 = torso
ls.Part1 = larm
ls.Parent = torso
table.insert(welds,1,{ls,ls.Parent})
end
if rs then
table.insert(motors,1,{rs,rs.Parent})
rs.Parent = nil
rs = Instance.new("Weld")
rs.Name = 'Right Shoulder'
rs.Part0 = torso
rs.Part1 = rarm
rs.Parent = torso
table.insert(welds,1,{rs,rs.Parent})
end
if lh then
table.insert(motors,1,{lh,lh.Parent})
lh.Parent = nil
lh = Instance.new("Weld")
lh.Name = 'Left Hip'
lh.Part0 = torso
lh.Part1 = lleg
lh.Parent = torso
table.insert(welds,1,{lh,lh.Parent})
end
if rh then
table.insert(motors,1,{rh,rh.Parent})
rh.Parent = nil
rh = Instance.new("Weld")
rh.Name = 'Right Hip'
rh.Part0 = torso
rh.Part1 = rleg
rh.Parent = torso
table.insert(welds,1,{rh,rh.Parent})
end
if neck then
table.insert(motors,1,{neck,neck.Parent})
neck.Parent = nil
neck = Instance.new("Weld")
neck.Name = 'Neck'
neck.Part0 = torso
neck.Part1 = head
neck.Parent = torso
table.insert(welds,1,{neck,neck.Parent})
end
if rj then
table.insert(motors,1,{rj,rj.Parent})
rj.Parent = nil
rj = Instance.new("Weld")
rj.Name = 'RootJoint'
rj.Part0 = rootpart
rj.Part1 = torso
rj.Parent = torso
table.insert(welds,1,{rj,rj.Parent})
end
local remote = Instance.new("RemoteEvent")
remote.Parent = plr['PlayerGui']
local blocking,blocking2 = false,false
local sprinting,sprinting2 = false,false
local crouching = false
local attacking = false
local finishing = false
local dancing = false
local jumping = false
local falling = false
local toggling_dance = false
local changing_stun_type = false
local fists = false
local katana = false
local equipped = false
local bloody = false
local pa,hka,ka,sa,lka,ksa = 1,2,1,1,1,1
local screen,healthbar,healthstat,staminabar,staminastat,blockbar,blockstat
local blockhealth,blockhealthmax = math.huge,math.huge
local stamina,staminamax = math.huge,math.huge
local block_counter,stamina_counter = 0,0
local last_health = hum.Health
local anim_speed = 0.7
local sine = 0
local dmg = 20
local hit_id = 0
local stun_type = math.random(1,2)
local stun_duration = 0.5
local block_stun_cooldown = 0
local blood_cooldown = 0
local anim_wait = 0.02*100
local anim = 'idle'
local last_mpos = Vector3.new()
local last_trans = {}
local bloodlol_t = {}
local knocked_t = {}
local ragdolled = {}
local ghost_id = 0
local animator = hum:FindFirstChildOfClass("Animator")
local animate = char:FindFirstChild("Animate")
local dance_anim = Instance.new("Animation")
dance_anim.AnimationId = 'rbxassetid://35654637'
dance_anim.Parent = hum
local enabled = {}
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
local punches = {3932504231,3932505023,3932506183,3932506625,4306980885}
local finishes = {3847883680,3847884467,3847885772,3929462677}
local bonecracks = {3848986758,3848987400}
local swing_s = Instance.new("Sound")
swing_s.SoundId = 'rbxassetid://138097048'
swing_s.Volume = 1
swing_s.Parent = torso
local punch = Instance.new("Sound")
punch.SoundId = 'rbxassetid://138097048'
punch.Volume = 0.7
punch.Parent = torso
local finish = Instance.new("Sound")
finish.SoundId = 'rbxassetid://3847883680'
finish.Volume = 0.4
finish.Parent = torso
local mash = Instance.new("Sound")
mash.SoundId = 'rbxassetid://2517519047'
mash.Looped = true
mash.Volume = 1
mash.Parent = torso
local bone_crack = Instance.new("Sound")
bone_crack.SoundId = 'rbxassetid://138097048'
bone_crack.Volume = 0.4
bone_crack.Parent = torso
local dodge_s = Instance.new("Sound")
dodge_s.SoundId = 'rbxassetid://4458055429'
dodge_s.Volume = 0.35
dodge_s.Parent = torso
local falldamage = Instance.new("Sound")
falldamage.SoundId = 'rbxassetid://535681058'
falldamage.Volume = 1
falldamage.Parent = torso
local dash_s = Instance.new("Sound")
dash_s.SoundId = 'rbxassetid://4909206080'
dash_s.Volume = 1
dash_s.Parent = torso
local za_warudo = Instance.new("Sound")
za_warudo.SoundId = 'rbxassetid://601606956'
za_warudo.Volume = 5
za_warudo.Parent = torso
local muda_s = Instance.new("Sound")
muda_s.SoundId = 'rbxassetid://616593932'
muda_s.Volume = 2
muda_s.Parent = torso
local _blockingval = Instance.new("ObjectValue")
_blockingval.Name = 'blocking'
_blockingval.Parent = nil
local larm_trail = Instance.new("Trail")
local att1,att2 = Instance.new("Attachment",larm),Instance.new("Attachment",larm)
att1.Position = Vector3.new(0,-(larm.Size.Y/2),0)
att2.Position = Vector3.new(0,(larm.Size.Y/2),0)
larm_trail.Attachment0 = att1
larm_trail.Attachment1 = att2
larm_trail.LightInfluence = 1
larm_trail.Transparency = NumberSequence.new(0,1)
larm_trail.MinLength = 0
larm_trail.Lifetime = 0.5
larm_trail.Enabled = false
larm_trail.Parent = larm
local rarm_trail = Instance.new("Trail")
local att1,att2 = Instance.new("Attachment",rarm),Instance.new("Attachment",rarm)
att1.Position = Vector3.new(0,-(rarm.Size.Y/2),0)
att2.Position = Vector3.new(0,(rarm.Size.Y/2),0)
rarm_trail.Attachment0 = att1
rarm_trail.Attachment1 = att2
rarm_trail.LightInfluence = 1
rarm_trail.Transparency = NumberSequence.new(0,1)
rarm_trail.MinLength = 0
rarm_trail.Lifetime = 0.5
rarm_trail.Enabled = false
rarm_trail.Parent = rarm
local lleg_trail = Instance.new("Trail")
local att1,att2 = Instance.new("Attachment",lleg),Instance.new("Attachment",lleg)
att1.Position = Vector3.new(0,-(lleg.Size.Y/2),0)
att2.Position = Vector3.new(0,(lleg.Size.Y/2),0)
lleg_trail.Attachment0 = att1
lleg_trail.Attachment1 = att2
lleg_trail.LightInfluence = 1
lleg_trail.Transparency = NumberSequence.new(0,1)
lleg_trail.MinLength = 0
lleg_trail.Lifetime = 0.5
lleg_trail.Enabled = false
lleg_trail.Parent = lleg
local rleg_trail = Instance.new("Trail")
local att1,att2 = Instance.new("Attachment",rleg),Instance.new("Attachment",rleg)
att1.Position = Vector3.new(0,-(rleg.Size.Y/2),0)
att2.Position = Vector3.new(0,(rleg.Size.Y/2),0)
rleg_trail.Attachment0 = att1
rleg_trail.Attachment1 = att2
rleg_trail.LightInfluence = 1
rleg_trail.Transparency = NumberSequence.new(0,1)
rleg_trail.MinLength = 0
rleg_trail.Lifetime = 0.5
rleg_trail.Enabled = false
rleg_trail.Parent = rleg
local idle_anim = Instance.new("Animation")
idle_anim.AnimationId = 'rbxassetid://125750544'
idle_anim.Parent = hum
function reset_anims(mode)
if mode == false then
for i,v in pairs(motors) do v[1].Parent = v[2]; end;
for i,v in pairs(welds) do v[1].Parent = nil; end;
elseif mode == true then
for i,v in pairs(welds) do v[1].Parent = v[2]; end;
for i,v in pairs(motors) do v[1].Parent = nil; end;
end
if mode == true then
if animator then
animator.Parent = hum
end
local T = hum:GetPlayingAnimationTracks()
for i = 1,#T do
T[i]:Stop()
end
local i = hum:LoadAnimation(idle_anim)
i.Priority = Enum.AnimationPriority.Action
i:AdjustSpeed(0)
i:Play()
i.TimePosition = ((50/100)*i.Length)
elseif mode == false then
if animate then
animate.Parent = char
end
if animator then
animator.Parent = hum
end
end
--Swait(10)
if mode == true then
if animator then
animator.Parent = nil
end
ls.C0 = CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
ls.C1 = CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
rs.C0 = CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
rs.C1 = CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
neck.C0 = CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))
neck.C1 = CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))
rh.C0 = CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
rh.C1 = CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
lh.C0 = CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
lh.C1 = CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
rj.C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))
rj.C1 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))
end
end
reset_anims(true)
equipped = true
--[[
local tool = Instance.new("Tool")
tool.Name = 'Combat V2'
tool.CanBeDropped = false
tool.RequiresHandle = false
tool.Parent = plr['Backpack']
tool.Equipped:Connect(function()
equipped = true
reset_anims(true)
end)
tool.Unequipped:Connect(function()
equipped = false
dance(false)
reset_anims(false)
end)
]]
function create_stars(p)
local star_att = Instance.new("Attachment")
star_att.Parent = p
local dizzy_stars = Instance.new("ParticleEmitter")
dizzy_stars.Name = "Star"
dizzy_stars.Parent = star_att
dizzy_stars.Speed = NumberRange.new(1, 1)
dizzy_stars.Rotation = NumberRange.new(360, 360)
dizzy_stars.Texture = "http://www.roblox.com/asset/?id=114332039"
dizzy_stars.Transparency = NumberSequence.new(0,1)
dizzy_stars.Size = NumberSequence.new({
NumberSequenceKeypoint.new(0,0.125),
NumberSequenceKeypoint.new(0.184,0.2),
NumberSequenceKeypoint.new(1,0),
})
dizzy_stars.Lifetime = NumberRange.new(2, 2)
dizzy_stars.LockedToPart = true
dizzy_stars.Rate = 5
dizzy_stars.RotSpeed = NumberRange.new(360, 360)
dizzy_stars.SpreadAngle = Vector2.new(90, 90)
dizzy_stars.VelocitySpread = 90
dizzy_stars.Enabled = true
return star_att,dizzy_stars
end
function change_stun_type()
spawn(function()
stun_type = stun_type + 1
if stun_type > 2 then
stun_type = 1
end
if not changing_stun_type then
changing_stun_type = true
for i,v in pairs(char:GetChildren()) do
if (v:IsA("BasePart") or v:IsA("UnionOperation")) and (v.Name ~= 'HumanoidRootPart') then
local s = v:FindFirstChild('stun_s')
if not s then
s = Instance.new("SelectionBox")
s.Visible = false
s.Parent = v
s.Color3 = Color3.new(1, 0.333333, 0)
s.Adornee = v
s.LineThickness = 0
s.SurfaceColor = BrickColor.new("New Yeller")
s.SurfaceColor3 = Color3.new(1, 1, 0)
s.SurfaceTransparency = 0.8
end
spawn(function()
s.Visible = true
repeat wait() until not hum:FindFirstChild("Stunned")
changing_stun_type = false
s.Visible = false
end)
end
end
end
end)
end
function bleed2(frick,targhum,can_hurt,t,splat)
spawn(function()
if not frick:FindFirstChild("bleeding from kry's combat") then else return end
local tempbleedval = Instance.new("ObjectValue")
tempbleedval.Name = "bleeding from kry's combat"
tempbleedval.Parent = frick
local bleeding = true
local rig = targhum.RigType
local limbs = {'Head','Left Arm','Right Arm','Left Leg','Right Leg','RightUpperLeg','LeftUpperLeg','RightUpperArm','LeftUpperArm','RightLowerLeg','LeftLowerLeg','RightLowerArm','LeftLowerArm','RightFoot','LeftFoot','RightHand','LeftHand'}
spawn(function()
wait(t)
bleeding = false
tempbleedval:Destroy()
end)
while bleeding and frick and frick.Parent do
if --[[(targhum and targhum.Parent and targhum.Health > 0) or]] (not frick or not frick.Parent or not targhum or not targhum.Parent) then
break
end
local max_limbs = 0
local current_limbs = 0
local gone_limbs = 0
local targchar = targhum.Parent
if rig == Enum.HumanoidRigType.R6 then
max_limbs = 5
elseif rig == Enum.HumanoidRigType.R15 then
max_limbs = 13
end
for i,v in pairs(targchar:GetChildren()) do
local found = false
for i,n in pairs(limbs) do if n == v.Name then found = true; end; end;
if found and not v:FindFirstChild("Dismembered") then
current_limbs = current_limbs + 1
end
end
gone_limbs = (max_limbs-current_limbs)
if targhum and can_hurt then
if gone_limbs >= 1 then
targhum:TakeDamage(0.5*gone_limbs)
else
targhum:TakeDamage(0.5)
end
end
spawn(function()
local thing = Instance.new('Part')
thing.Parent = workspace
thing.Size = Vector3.new(0.1,0.1,0.1)
thing.CFrame = frick.CFrame*CFrame.new(0,frick.Size.Y/2,0)
if splat then
thing.Transparency = 0
elseif not splat then
thing.Transparency = 1
end
thing.Color = Color3.fromRGB(75, 0, 0)
thing.Material = Enum.Material.Glass
thing.Name = "blood_drop"
thing.CanCollide =false
thing:BreakJoints()
local mesh = Instance.new('SpecialMesh')
mesh.MeshType = Enum.MeshType.Sphere
mesh.Parent = thing
--game:GetService("Debris"):AddItem(thing,5)
local att1,att2 = Instance.new("Attachment"),Instance.new("Attachment")
att1.Parent = thing
att1.Position = Vector3.new(0,-(thing.Size.Y/2),0)
att2.Parent = thing
att2.Position = Vector3.new(0,(thing.Size.Y/2),0)
if splat then
local trail_drop = Instance.new("Trail")
trail_drop.Parent = thing
trail_drop.Attachment0 = att1
trail_drop.Attachment1 = att2
trail_drop.Color = ColorSequence.new(Color3.new(0.294118, 0, 0),Color3.new(0.294118, 0, 0))
trail_drop.FaceCamera = true
trail_drop.LightInfluence = 1
trail_drop.Transparency = NumberSequence.new(0.1,1)
trail_drop.Lifetime = 1
trail_drop.MinLength = 0
end
local rawrxd = Instance.new('BodyForce')
rawrxd.Parent = thing
if splat then
rawrxd.Force = frick.CFrame.upVector+Vector3.new(math.random(-5, 5)/10,3,math.random(-5, 5)/10)
elseif not splat then
rawrxd.Force = frick.CFrame.upVector*(math.random()*2)+Vector3.new(math.random(-5, 5)/10,1.5,0)
end
game:GetService("Debris"):AddItem(rawrxd,0.01)
thing.Touched:connect(function(tou)
if tou and tou.Parent and not tou:IsDescendantOf(targchar) and not tou.Parent:FindFirstChildOfClass("Humanoid") and not tou.Parent.Parent:FindFirstChildOfClass("Humanoid") and not tou.Parent:IsA("Accessory") and tou.Name ~= 'Handle' and tou.Parent.Name ~= 'Handle' and not tou.Parent:IsA("Tool") and not string.match(tou.Name:lower(),'blood_drop') and not string.match(tou.Name:lower(),'bullet') and not string.match(tou.Name:lower(),'bone') and not string.match(tou.Name:lower(),'gun mag') and not string.match(tou.Name:lower(),'limb') then
local pos = Vector3.new(thing.Position.X,(tou.Position.Y+(tou.Size.Y/2))+(0.02/2),thing.Position.Z)
local Point1 = pos-Vector3.new(0.01,0.01,0.01)
local Point2 = pos+Vector3.new(0.01,0.01,0.01)
local Region = Region3.new(Point1,Point2)
for _,Part in pairs(game.Workspace:FindPartsInRegion3(Region,nil,math.huge)) do
if Part.Name == "blood" then
tou = Part
end
end
thing:Destroy()
if tou.Name == "blood" then
local reee = tou.CFrame
if tou.Transparency > -0.2 then
tou.Transparency = tou.Transparency - 0.1
end
if tou.Size.X < 5 then
tou.Size = tou.Size+Vector3.new(0.4,0,0.4)
tou.CFrame = reee
elseif tou.Size.X < 7.5 then
tou.Size = tou.Size+Vector3.new(0.3,0,0.3)
tou.CFrame = reee
elseif tou.Size.X < 10 then
tou.Size = tou.Size+Vector3.new(0.2,0,0.2)
tou.CFrame = reee
end
elseif tou.CanCollide == true then
local bloodlol = Instance.new('Part')
if gone_limbs >= 1 then
bloodlol.Size = Vector3.new(1*gone_limbs,0.2,1*gone_limbs)
else
bloodlol.Size = Vector3.new(1,0.2,1)
end
bloodlol.Name = "blood"
bloodlol.Anchored = true
bloodlol.CanCollide = false
bloodlol.Material = Enum.Material.Glass
bloodlol.Color = Color3.fromRGB(75, 0, 0)
local mesh = Instance.new('SpecialMesh')
mesh.MeshType = Enum.MeshType.Sphere
mesh.Parent = bloodlol
bloodlol.Parent = workspace
bloodlol.CFrame = CFrame.new(pos)
table.insert(bloodlol_t,1,bloodlol)
end
end
end)
end)
wait(0.1)
end
tempbleedval:Destroy()
end)
end
function make_bone(obj,targtorso)
if obj.Name == 'Left Arm' or obj.Name == 'LeftUpperArm' then
local bone = Instance.new("Part")
bone.name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = targtorso.CFrame
bone.Size = targtorso.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(targtorso,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = targtorso
weld.C1 = CFrame.new(-0.61,0.77,0.03)*CFrame.Angles(math.rad(90),0,math.rad(90))
weld.Parent = bone
targtorso.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
--
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = obj.CFrame
bone.Size = obj.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = obj
weld.C1 = CFrame.new(0.13,0.26,0)
weld.Parent = bone
obj.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://36780032'
mesh.TextureId = 'rbxassetid://36780292'
mesh.Parent = bone
elseif obj.Name == 'Right Arm' or obj.Name == 'RightUpperArm' then
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = targtorso.CFrame
bone.Size = targtorso.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(targtorso,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = targtorso
weld.C1 = CFrame.new(0.61,0.77,0.03)*CFrame.Angles(math.rad(90),0,math.rad(-90))
weld.Parent = bone
targtorso.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
--
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = obj.CFrame
bone.Size = obj.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = obj
weld.C1 = CFrame.new(-0.13,0.26,0)
weld.Parent = bone
obj.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://36780156'
mesh.TextureId = 'rbxassetid://36780292'
mesh.Parent = bone
elseif obj.Name == 'Left Leg' or obj.Name == 'LeftUpperLeg' then
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = targtorso.CFrame
bone.Size = targtorso.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(targtorso,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = targtorso
weld.C1 = CFrame.new(-0.6,-0.64,0.11)*CFrame.Angles(0,0,math.rad(180))
weld.Parent = bone
targtorso.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
--
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = obj.CFrame
bone.Size = obj.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = obj
weld.C1 = CFrame.new(0,0.09,0.13)
weld.Parent = bone
obj.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://36780156'
mesh.TextureId = 'rbxassetid://36780292'
mesh.Parent = bone
elseif obj.Name == 'Right Leg' or obj.Name == 'RightUpperLeg' then
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = targtorso.CFrame
bone.Size = targtorso.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(targtorso,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = targtorso
weld.C1 = CFrame.new(0.6,-0.64,0.11)*CFrame.Angles(0,0,math.rad(180))
weld.Parent = bone
targtorso.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
--
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = obj.CFrame
bone.Size = obj.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = obj
weld.C1 = CFrame.new(0,0.09,0.13)
weld.Parent = bone
obj.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://36780195'
mesh.TextureId = 'rbxassetid://36780292'
mesh.Parent = bone
elseif obj.Name == 'Head' then
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = targtorso.CFrame
bone.Size = targtorso.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(targtorso,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = targtorso
weld.C1 = CFrame.new(0,0.66,0)
weld.Parent = bone
targtorso.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
--
local bone = Instance.new("Part")
bone.Name = 'bone'
bone.CanCollide = false
bone.Anchored = false
bone.CFrame = obj.CFrame
bone.Size = obj.Size
bone.Massless = true
bone.Locked = true
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
game:GetService("PhysicsService"):SetPartCollisionGroup(bone,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = bone
weld.Part1 = obj
weld.C1 = CFrame.new(0,-0.23,0)*CFrame.Angles(0,math.rad(-90),0)
weld.Parent = bone
obj.Anchored = false
bone.Parent = script
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = 'rbxassetid://1076136382'
mesh.TextureId = 'rbxassetid://1076137938'
mesh.Scale = Vector3.new(0.03,0.03,0.03)
mesh.Parent = bone
end
end
function check_weld(v)
if v:IsA("Motor6D") or v:IsA("BallSocketConstraint") or v:IsA("Motor") or v:IsA("Constraint") or v:IsA("Weld") or v:IsA("ManualWeld") or v:IsA("WeldConstraint") or v:IsA("ManualGlue") or v:IsA("CylindricalConstraint") or v:IsA("NoCollisionConstraint") or v:IsA("HingeConstraint") then
v:Destroy()
end
end
function limb_collide(obj,mode)
if (obj:IsA("UnionOperation") or obj:IsA("BasePart")) and not obj:FindFirstChild('limb') then else return end
local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
if not exists then
game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
end
game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
--
local t = {}
--
local cb = Instance.new("Part")
cb.Name = 'limb'
cb.Transparency = 1
cb.CanCollide = true
cb.Anchored = false
cb.CFrame = obj.CFrame
cb.Size = obj.Size
cb.Massless = true
cb.Locked = true
game:GetService("PhysicsService"):SetPartCollisionGroup(cb,'Limb Collide')
game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
local weld = Instance.new("Weld")
weld.Part0 = cb
weld.Part1 = obj
weld.Parent = cb
obj.Massless = true
obj.Anchored = false
if mode or obj:FindFirstChild("Dismembered") then
cb.Parent = obj -- .Parent
else
cb.Parent = script
table.insert(t,1,cb)
end
--
if not string.match(obj.Name:lower(),'torso') and not string.match(obj.Name:lower(),'rootpart') and not string.match(obj.Name:lower(),'head') then
local lv = Vector3.new() -- Vector3.new(cb.Size.X,0,cb.Size.Z)
local cb2 = Instance.new("Part")
cb2.Name = 'limb'
cb2.Transparency = 1
cb2.CanCollide = true
cb2.Anchored = false
cb2.CFrame = obj.CFrame
cb2.Size = lv
cb2.Massless = true
cb2.Locked = true
local weld2 = Instance.new("Weld")
weld2.Part0 = cb
weld2.Part1 = cb2
weld2.C1 = CFrame.new(0,(cb.Size.Y/2),0)
weld2.Parent = cb2
if mode or obj:FindFirstChild("Dismembered") then
cb2.Parent = obj -- .Parent
else
cb2.Parent = script
table.insert(t,1,cb2)
end
end
--
return t
end
function break_limb(obj,rig,targtorso,targhum,dir)
if not obj:FindFirstChild('Dismembered') and obj.Name:lower() ~= 'torso' and obj.Name:lower() ~= 'humanoidrootpart' and obj.Name:lower() ~= 'uppertorso' and obj.Name:lower() ~= 'lowertorso' then else return end
local confirm = Instance.new("ObjectValue")
confirm.Name = 'Dismembered'
confirm.Parent = obj
if rig == Enum.HumanoidRigType.R6 then
for i,v in pairs(targtorso:GetDescendants()) do
if check_weld(v) then
if obj.Name == 'Head' and v.Name:lower() == 'neck' then
v:Destroy()
elseif obj.Name == 'Left Arm' and v.Name:lower() == 'left shoulder' then
v:Destroy()
elseif obj.Name == 'Right Arm' and v.Name:lower() == 'right shoulder' then
v:Destroy()
elseif obj.Name == 'Left Leg' and v.Name:lower() == 'left hip' then
if v:IsA("Motor6D") and obj.Parent:FindFirstChild("Right Leg") and not obj.Parent:FindFirstChild("Right Leg"):FindFirstChild("Dismembered") then
targhum.WalkSpeed = targhum.WalkSpeed/2
elseif v:IsA("Motor6D") then
targhum.WalkSpeed = 0
end
v:Destroy()
elseif obj.Name == 'Right Leg' and v.Name:lower() == 'right hip' then
if v:IsA("Motor6D") and obj.Parent:FindFirstChild("Left Leg") and not obj.Parent:FindFirstChild("Left Leg"):FindFirstChild("Dismembered") then
targhum.WalkSpeed = targhum.WalkSpeed/2
elseif v:IsA("Motor6D") then
targhum.WalkSpeed = 0
end
v:Destroy()
end
end
end
for i,v in pairs(obj:GetChildren()) do
if check_weld(v) then
if obj.Name == 'Left Leg' then
if v:IsA("Motor6D") and obj.Parent:FindFirstChild("Right Leg") and not obj.Parent:FindFirstChild("Right Leg"):FindFirstChild("Dismembered") then
targhum.WalkSpeed = targhum.WalkSpeed/2
elseif v:IsA("Motor6D") then
targhum.WalkSpeed = 0
end
elseif obj.Name == 'Right Leg' then
if v:IsA("Motor6D") and obj.Parent:FindFirstChild("Left Leg") and not obj.Parent:FindFirstChild("Left Leg"):FindFirstChild("Dismembered") then
targhum.WalkSpeed = targhum.WalkSpeed/2
elseif v:IsA("Motor6D") then
targhum.WalkSpeed = 0
end
end
v:Destroy()
end
end
elseif rig == Enum.HumanoidRigType.R15 then
for i,v in pairs(obj:GetChildren()) do
if check_weld(v) then
if v:IsA("Motor6D") then
if v:IsA("Motor6D") and ((obj.Name == 'LeftUpperLeg' and obj.Parent:FindFirstChild("RightUpperLeg") and not obj.Parent:FindFirstChild("RightUpperLeg"):FindFirstChild("Dismembered")) or (obj.Name == 'RightUpperLeg' and obj.Parent:FindFirstChild("LeftUpperLeg") and not obj.Parent:FindFirstChild("LeftUpperLeg"):FindFirstChild("Dismembered"))) then
targhum.WalkSpeed = targhum.WalkSpeed/2
elseif v:IsA("Motor6D") and (obj.Name == 'RightUpperLeg' or obj.Name == 'LeftUpperLeg') then
targhum.WalkSpeed = 0
end
end
v:Destroy()
end
end
end
--bleed2(obj,targhum,false,5,false)
add_blood(obj)
make_bone(obj,targtorso)
local kb = 17
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bv.Velocity = dir*kb+Vector3.new(0,kb,0)
bv.Parent = obj
game:GetService("Debris"):AddItem(bv,0.1)
limb_collide(obj,true)
end
function Ragdoll(targchar,headless,insta,kill)
local pc = targchar
local targhum = pc:FindFirstChild("Humanoid")
local js,js2 = {},{}
for _,obj in pairs(pc:GetDescendants()) do
if obj:IsA("BasePart") or obj:IsA("UnionOperation") then
obj.Massless = true
obj.Locked = true
end
end
if kill == true then
pc.Archivable = true
local old_pc = pc
pc = pc:Clone()
for i,v in pairs(pc:GetDescendants()) do
limb_collide(v,true)
if v:IsA("ParticleEmitter") then
v.Enabled = false
end
if v:IsA("SelectionBox") or v:IsA("BodyVelocity") or v:IsA("BodyPosition") or v:IsA("BodyAngularVelocity") or v:IsA("BodyForce") or v:IsA("BodyGyro") or v:IsA("BodyThrust") or v:IsA("BodyMover") then
if v:IsA("BodyVelocity") then
game:GetService("Debris"):AddItem(v,0.15)
else
v:Destroy()
end
end
if (v:IsA("Script") and v.Name == 'Health') or (v:IsA("LocalScript") and v.Name == 'Animate') then
v:Destroy()
end
if v:IsA("Humanoid") then
v.BreakJointsOnDeath = false
v.Health = 0
v.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
v.PlatformStand = true
end
end
for i,v in pairs(old_pc:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") or v:IsA("ForceField") or v:IsA("Accessory") or v:IsA("Decal") or v:IsA("Texture") or v:IsA("SurfaceGui") then
v:destroy()
end
if v:IsA("Humanoid") then
v.BreakJointsOnDeath = true
v.Health = 0
v.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
v.PlatformStand = true
end
end
pc.Parent = workspace
game:GetService("Debris"):AddItem(pc,30)
end
--if kill and targhum:FindFirstChild("Ragdolled") then return; end;
if pc ~= nil then
local hum = pc:FindFirstChild'Humanoid'
local LArm = pc:FindFirstChild'Left Arm'
local RArm = pc:FindFirstChild'Right Arm'
local LLeg = pc:FindFirstChild'Left Leg'
local RLeg = pc:FindFirstChild'Right Leg'
local torso = pc:FindFirstChild'Torso'
local head = pc:FindFirstChild'Head'
local LUA = pc:FindFirstChild'LeftUpperArm'
local LLA = pc:FindFirstChild'LeftLowerArm'
local LH = pc:FindFirstChild'LeftHand'
local RUA = pc:FindFirstChild'RightUpperArm'
local RLA = pc:FindFirstChild'RightLowerArm'
local RH = pc:FindFirstChild'RightHand'
local LUL = pc:FindFirstChild'LeftUpperLeg'
local LLL = pc:FindFirstChild'LeftLowerLeg'
local LF = pc:FindFirstChild'LeftFoot'
local RUL = pc:FindFirstChild'RightUpperLeg'
local RLL = pc:FindFirstChild'RightLowerLeg'
local RF = pc:FindFirstChild'RightFoot'
local UT = pc:FindFirstChild'UpperTorso'
local LT = pc:FindFirstChild'LowerTorso'
if hum and LArm and RArm and LLeg and RLeg and head then
hum.BreakJointsOnDeath = false
if insta then
if hum.RigType==Enum.HumanoidRigType.R6 then
for _,v in pairs(torso:GetDescendants()) do
if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA('Weld') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
if not kill then
table.insert(js2,1,{obj = v,par = v.Parent})
v.Parent = nil
elseif kill then
v:Destroy()
end
end
end
local vis = false
local vis2 = false
if LArm and not LArm:FindFirstChild('Dismembered') then
local at1 = Instance.new("Attachment")
at1.Parent = torso
at1.Visible = vis
at1.Orientation = torso.Orientation + Vector3.new(0,180,0)
at1.Position = Vector3.new(-1,1,0)
local at1p2 = Instance.new("Attachment")
at1p2.Parent = LArm
at1p2.Visible = vis
at1p2.Orientation = LArm.Orientation + Vector3.new(0,180,0)
at1p2.Position = Vector3.new(.5,1,0)
local bis = Instance.new("BallSocketConstraint")
bis.Parent = LArm
bis.Attachment0 = at1
bis.Attachment1 = at1p2
bis.LimitsEnabled = true
bis.UpperAngle = 15
bis.Visible = vis2
bis.TwistLimitsEnabled = true
bis.UpperAngle = -45
bis.TwistLowerAngle = -45
table.insert(js,1,bis)
end
if RArm and not RArm:FindFirstChild('Dismembered') then
local at2 = Instance.new("Attachment")
at2.Parent = torso
at2.Visible = vis
at2.Orientation = torso.Orientation + Vector3.new(0,0,0)
at2.Position = Vector3.new(1,1,0)
local at2p2 = Instance.new("Attachment")
at2p2.Parent = RArm
at2p2.Visible = vis
at2p2.Orientation = RArm.Orientation + Vector3.new(0,0,0)
at2p2.Position = Vector3.new(-.5,1,0)
local bis2 = Instance.new("BallSocketConstraint")
bis2.Parent = RArm
bis2.Attachment0 = at2
bis2.Attachment1 = at2p2
bis2.LimitsEnabled = true
bis2.UpperAngle = 15
bis2.Visible = vis2
bis2.TwistLimitsEnabled = true
bis2.UpperAngle = -45
bis2.TwistLowerAngle = -45
table.insert(js,1,bis2)
end
if RLeg and not RLeg:FindFirstChild('Dismembered') then
local at3 = Instance.new("Attachment")
at3.Parent = torso
at3.Visible = vis
at3.Orientation = torso.Orientation + Vector3.new(90,0,-90)
at3.Position = Vector3.new(.5,-1,0)
local at3p2 = Instance.new("Attachment")
at3p2.Parent = RLeg
at3p2.Visible = vis
at3p2.Orientation = RLeg.Orientation + Vector3.new(90,0,-90)
at3p2.Position = Vector3.new(0,1,0)
local bis3 = Instance.new("BallSocketConstraint")
bis3.Parent = RLeg
bis3.Attachment0 = at3
bis3.Attachment1 = at3p2
bis3.LimitsEnabled = true
bis3.UpperAngle = 180-15
bis3.Visible = vis2
table.insert(js,1,bis3)
end
if LLeg and not LLeg:FindFirstChild('Dismembered') then
local at4 = Instance.new("Attachment")
at4.Parent = torso
at4.Visible = vis
at4.Orientation = torso.Orientation + Vector3.new(90,0,-90)
at4.Position = Vector3.new(-.5,-1,0)
local at4p2 = Instance.new("Attachment")
at4p2.Parent = LLeg
at4p2.Visible = vis
at4p2.Orientation = LLeg.Orientation + Vector3.new(90,0,-90)
at4p2.Position = Vector3.new(0,1,0)
local bis4 = Instance.new("BallSocketConstraint")
bis4.Parent = LLeg
bis4.Attachment0 = at4
bis4.Attachment1 = at4p2
bis4.LimitsEnabled = true
bis4.UpperAngle = 180-15
bis4.Visible = vis2
table.insert(js,1,bis4)
end
if head and not headless and not head:FindFirstChild('Dismembered') then
local at5 = Instance.new("Attachment")
at5.Parent = torso
at5.Visible = vis
at5.Orientation = torso.Orientation + Vector3.new(180,90,0)
at5.Position = Vector3.new(0,1,0)
local at5p2 = Instance.new("Attachment")
at5p2.Parent = head
at5p2.Visible = vis
at5p2.Orientation = head.Orientation + Vector3.new(180,90,0)
at5p2.Position = Vector3.new(0,-.5,0)
local bis5 = Instance.new("BallSocketConstraint")
bis5.Parent = head
bis5.Attachment0 = at5p2
bis5.Attachment1 = at5
bis5.LimitsEnabled = true
bis5.UpperAngle = 75
bis5.Visible = vis2
bis5.TwistLimitsEnabled = true
bis5.UpperAngle = -45
bis5.TwistLowerAngle = -45
table.insert(js,1,bis5)
else
--head:BreakJoints()
end
end
else
hum.Died:Connect(function()
if hum.RigType==Enum.HumanoidRigType.R6 then
for _,v in pairs(torso:GetDescendants()) do
if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA('Weld') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
if not kill then
table.insert(js2,1,{obj = v,par = v.Parent})
v.Parent = nil
elseif kill then
v:Destroy()
end
end
end
local vis = false
local vis2 = false
if LArm and not LArm:FindFirstChild('Dismembered') then
local at1 = Instance.new("Attachment")
at1.Parent = torso
at1.Visible = vis
at1.Orientation = torso.Orientation + Vector3.new(0,180,0)
at1.Position = Vector3.new(-1,1,0)
local at1p2 = Instance.new("Attachment")
at1p2.Parent = LArm
at1p2.Visible = vis
at1p2.Orientation = LArm.Orientation + Vector3.new(0,180,0)
at1p2.Position = Vector3.new(.5,1,0)
local bis = Instance.new("BallSocketConstraint")
bis.Parent = LArm
bis.Attachment0 = at1
bis.Attachment1 = at1p2
bis.LimitsEnabled = true
bis.UpperAngle = 15
bis.Visible = vis2
bis.TwistLimitsEnabled = true
bis.UpperAngle = -45
bis.TwistLowerAngle = -45
table.insert(js,1,bis)
end
if RArm and not RArm:FindFirstChild('Dismembered') then
local at2 = Instance.new("Attachment")
at2.Parent = torso
at2.Visible = vis
at2.Orientation = torso.Orientation + Vector3.new(0,0,0)
at2.Position = Vector3.new(1,1,0)
local at2p2 = Instance.new("Attachment")
at2p2.Parent = RArm
at2p2.Visible = vis
at2p2.Orientation = RArm.Orientation + Vector3.new(0,0,0)
at2p2.Position = Vector3.new(-.5,1,0)
local bis2 = Instance.new("BallSocketConstraint")
bis2.Parent = RArm
bis2.Attachment0 = at2
bis2.Attachment1 = at2p2
bis2.LimitsEnabled = true
bis2.UpperAngle = 15
bis2.Visible = vis2
bis2.TwistLimitsEnabled = true
bis2.UpperAngle = -45
bis2.TwistLowerAngle = -45
table.insert(js,1,bis2)
end
if RLeg and not RLeg:FindFirstChild('Dismembered') then
local at3 = Instance.new("Attachment")
at3.Parent = torso
at3.Visible = vis
at3.Orientation = torso.Orientation + Vector3.new(90,0,-90)
at3.Position = Vector3.new(.5,-1,0)
local at3p2 = Instance.new("Attachment")
at3p2.Parent = RLeg
at3p2.Visible = vis
at3p2.Orientation = RLeg.Orientation + Vector3.new(90,0,-90)
at3p2.Position = Vector3.new(0,1,0)
local bis3 = Instance.new("BallSocketConstraint")
bis3.Parent = RLeg
bis3.Attachment0 = at3
bis3.Attachment1 = at3p2
bis3.LimitsEnabled = true
bis3.UpperAngle = 180-15
bis3.Visible = vis2
table.insert(js,1,bis3)
end
if LLeg and not LLeg:FindFirstChild('Dismembered') then
local at4 = Instance.new("Attachment")
at4.Parent = torso
at4.Visible = vis
at4.Orientation = torso.Orientation + Vector3.new(90,0,-90)
at4.Position = Vector3.new(-.5,-1,0)
local at4p2 = Instance.new("Attachment")
at4p2.Parent = LLeg
at4p2.Visible = vis
at4p2.Orientation = LLeg.Orientation + Vector3.new(90,0,-90)
at4p2.Position = Vector3.new(0,1,0)
local bis4 = Instance.new("BallSocketConstraint")
bis4.Parent = LLeg
bis4.Attachment0 = at4
bis4.Attachment1 = at4p2
bis4.LimitsEnabled = true
bis4.UpperAngle = 180-15
bis4.Visible = vis2
table.insert(js,1,bis4)
end
if head and not headless and not head:FindFirstChild('Dismembered') then
local at5 = Instance.new("Attachment")
at5.Parent = torso
at5.Visible = vis
at5.Orientation = torso.Orientation + Vector3.new(180,90,0)
at5.Position = Vector3.new(0,1,0)
local at5p2 = Instance.new("Attachment")
at5p2.Parent = head
at5p2.Visible = vis
at5p2.Orientation = head.Orientation + Vector3.new(180,90,0)
at5p2.Position = Vector3.new(0,-.5,0)
local bis5 = Instance.new("BallSocketConstraint")
bis5.Parent = head
bis5.Attachment0 = at5p2
bis5.Attachment1 = at5
bis5.LimitsEnabled = true
bis5.UpperAngle = 75
bis5.Visible = vis2
bis5.TwistLimitsEnabled = true
bis5.UpperAngle = -45
bis5.TwistLowerAngle = -45
table.insert(js,1,bis5)
else
--head:BreakJoints()
end
end
end)
end
elseif head and hum then
hum.BreakJointsOnDeath = false
if insta then
if hum.RigType==Enum.HumanoidRigType.R15 then
for _,v in pairs(pc:GetDescendants()) do
if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
if not kill then
table.insert(js2,1,{obj = v,par = v.Parent})
v.Parent = nil
elseif kill then
v:Destroy()
end
end
end
local vis = false
local vis2 = false
if LF and not LF:FindFirstChild('Dismembered') then
local bsc1 = Instance.new("BallSocketConstraint",LF)
bsc1.Attachment0 = LF.LeftAnkleRigAttachment
bsc1.Attachment1 = LLL.LeftAnkleRigAttachment
table.insert(js,1,bsc1)
end
if LLL and not LLL:FindFirstChild('Dismembered') then
local bsc2 = Instance.new("BallSocketConstraint",LLL)
bsc2.Attachment0 = LLL.LeftKneeRigAttachment
bsc2.Attachment1 = LUL.LeftKneeRigAttachment
table.insert(js,1,bsc2)
end
if LUL and not LUL:FindFirstChild('Dismembered') then
local bsc3 = Instance.new("BallSocketConstraint",LUL)
bsc3.Attachment0 = LUL.LeftHipRigAttachment
bsc3.Attachment1 = LT.LeftHipRigAttachment
table.insert(js,1,bsc3)
end
if RF and not RF:FindFirstChild('Dismembered') then
local bsc4 = Instance.new("BallSocketConstraint",RF)
bsc4.Attachment0 = RF.RightAnkleRigAttachment
bsc4.Attachment1 = RLL.RightAnkleRigAttachment
table.insert(js,1,bsc4)
end
if RLL and not RLL:FindFirstChild('Dismembered') then
local bsc5 = Instance.new("BallSocketConstraint",RLL)
bsc5.Attachment0 = RLL.RightKneeRigAttachment
bsc5.Attachment1 = RUL.RightKneeRigAttachment
table.insert(js,1,bsc5)
end
if RUL and not RUL:FindFirstChild('Dismembered') then
local bsc6 = Instance.new("BallSocketConstraint",RUL)
bsc6.Attachment0 = RUL.RightHipRigAttachment
bsc6.Attachment1 = LT.RightHipRigAttachment
table.insert(js,1,bsc6)
end
if LH and not LH:FindFirstChild('Dismembered') then
local bsc7 = Instance.new("BallSocketConstraint",LH)
bsc7.Attachment0 = LH.LeftWristRigAttachment
bsc7.Attachment1 = LLA.LeftWristRigAttachment
table.insert(js,1,bsc7)
end
if LLA and not LLA:FindFirstChild('Dismembered') then
local bsc8 = Instance.new("BallSocketConstraint",LLA)
bsc8.Attachment0 = LLA.LeftElbowRigAttachment
bsc8.Attachment1 = LUA.LeftElbowRigAttachment
table.insert(js,1,bsc8)
end
if LUA and not LUA:FindFirstChild('Dismembered') then
local bsc9 = Instance.new("BallSocketConstraint",LUA)
bsc9.Attachment0 = LUA.LeftShoulderAttachment
bsc9.Attachment1 = UT.LeftCollarAttachment
table.insert(js,1,bsc9)
end
if RH and not RH:FindFirstChild('Dismembered') then
local bsc10 = Instance.new("BallSocketConstraint",RH)
bsc10.Attachment0 = RH.RightWristRigAttachment
bsc10.Attachment1 = RLA.RightWristRigAttachment
table.insert(js,1,bsc10)
end
if RLA and not RLA:FindFirstChild('Dismembered') then
local bsc11 = Instance.new("BallSocketConstraint",RLA)
bsc11.Attachment0 = RLA.RightElbowRigAttachment
bsc11.Attachment1 = RUA.RightElbowRigAttachment
table.insert(js,1,bsc11)
end
if RUA and not RUA:FindFirstChild('Dismembered') then
local bsc12 = Instance.new("BallSocketConstraint",RUA)
bsc12.Attachment0 = RUA.RightShoulderAttachment
bsc12.Attachment1 = UT.RightCollarAttachment
table.insert(js,1,bsc12)
end
if LT and not LT:FindFirstChild('Dismembered') then
local bsc13 = Instance.new("BallSocketConstraint",LT)
bsc13.Attachment0 = LT.WaistRigAttachment
bsc13.Attachment1 = UT.WaistRigAttachment
table.insert(js,1,bsc13)
end
if head and not headless and not head:FindFirstChild('Dismembered') then
local bsc14 = Instance.new("BallSocketConstraint",head)
bsc14.Attachment0 = UT.NeckRigAttachment
bsc14.Attachment1 = head.NeckRigAttachment
bsc14.LimitsEnabled = true
bsc14.UpperAngle = -75
bsc14.TwistLimitsEnabled = true
bsc14.UpperAngle = -45
bsc14.TwistLowerAngle = -45
table.insert(js,1,bsc14)
else
--head:BreakJoints()
end
end
else
hum.Died:Connect(function()
if hum.RigType==Enum.HumanoidRigType.R15 then
for _,v in pairs(pc:GetDescendants()) do
if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
if not kill then
table.insert(js2,1,{obj = v,par = v.Parent})
v.Parent = nil
elseif kill then
v:Destroy()
end
end
end
local vis = false
local vis2 = false
if LF and not LF:FindFirstChild('Dismembered') then
local bsc1 = Instance.new("BallSocketConstraint",LF)
bsc1.Attachment0 = LF.LeftAnkleRigAttachment
bsc1.Attachment1 = LLL.LeftAnkleRigAttachment
table.insert(js,1,bsc1)
end
if LLL and not LLL:FindFirstChild('Dismembered') then
local bsc2 = Instance.new("BallSocketConstraint",LLL)
bsc2.Attachment0 = LLL.LeftKneeRigAttachment
bsc2.Attachment1 = LUL.LeftKneeRigAttachment
table.insert(js,1,bsc2)
end
if LUL and not LUL:FindFirstChild('Dismembered') then
local bsc3 = Instance.new("BallSocketConstraint",LUL)
bsc3.Attachment0 = LUL.LeftHipRigAttachment
bsc3.Attachment1 = LT.LeftHipRigAttachment
table.insert(js,1,bsc3)
end
if RF and not RF:FindFirstChild('Dismembered') then
local bsc4 = Instance.new("BallSocketConstraint",RF)
bsc4.Attachment0 = RF.RightAnkleRigAttachment
bsc4.Attachment1 = RLL.RightAnkleRigAttachment
table.insert(js,1,bsc4)
end
if RLL and not RLL:FindFirstChild('Dismembered') then
local bsc5 = Instance.new("BallSocketConstraint",RLL)
bsc5.Attachment0 = RLL.RightKneeRigAttachment
bsc5.Attachment1 = RUL.RightKneeRigAttachment
table.insert(js,1,bsc5)
end
if RUL and not RUL:FindFirstChild('Dismembered') then
local bsc6 = Instance.new("BallSocketConstraint",RUL)
bsc6.Attachment0 = RUL.RightHipRigAttachment
bsc6.Attachment1 = LT.RightHipRigAttachment
table.insert(js,1,bsc6)
end
if LH and not LH:FindFirstChild('Dismembered') then
local bsc7 = Instance.new("BallSocketConstraint",LH)
bsc7.Attachment0 = LH.LeftWristRigAttachment
bsc7.Attachment1 = LLA.LeftWristRigAttachment
table.insert(js,1,bsc7)
end
if LLA and not LLA:FindFirstChild('Dismembered') then
local bsc8 = Instance.new("BallSocketConstraint",LLA)
bsc8.Attachment0 = LLA.LeftElbowRigAttachment
bsc8.Attachment1 = LUA.LeftElbowRigAttachment
table.insert(js,1,bsc8)
end
if LUA and not LUA:FindFirstChild('Dismembered') then
local bsc9 = Instance.new("BallSocketConstraint",LUA)
bsc9.Attachment0 = LUA.LeftShoulderAttachment
bsc9.Attachment1 = UT.LeftCollarAttachment
table.insert(js,1,bsc9)
end
if RH and not RH:FindFirstChild('Dismembered') then
local bsc10 = Instance.new("BallSocketConstraint",RH)
bsc10.Attachment0 = RH.RightWristRigAttachment
bsc10.Attachment1 = RLA.RightWristRigAttachment
table.insert(js,1,bsc10)
end
if RLA and not RLA:FindFirstChild('Dismembered') then
local bsc11 = Instance.new("BallSocketConstraint",RLA)
bsc11.Attachment0 = RLA.RightElbowRigAttachment
bsc11.Attachment1 = RUA.RightElbowRigAttachment
table.insert(js,1,bsc11)
end
if RUA and not RUA:FindFirstChild('Dismembered') then
local bsc12 = Instance.new("BallSocketConstraint",RUA)
bsc12.Attachment0 = RUA.RightShoulderAttachment
bsc12.Attachment1 = UT.RightCollarAttachment
table.insert(js,1,bsc12)
end
if LT and not LT:FindFirstChild('Dismembered') then
local bsc13 = Instance.new("BallSocketConstraint",LT)
bsc13.Attachment0 = LT.WaistRigAttachment
bsc13.Attachment1 = UT.WaistRigAttachment
table.insert(js,1,bsc13)
end
if head and not headless and not head:FindFirstChild('Dismembered') then
local bsc14 = Instance.new("BallSocketConstraint",head)
bsc14.Attachment0 = UT.NeckRigAttachment
bsc14.Attachment1 = head.NeckRigAttachment
bsc14.LimitsEnabled = true
bsc14.UpperAngle = -75
bsc14.TwistLimitsEnabled = true
bsc14.UpperAngle = -45
bsc14.TwistLowerAngle = -45
table.insert(js,1,bsc14)
else
--head:BreakJoints()
end
end
end)
end
end
end
return js,js2
end
local blood_images = {931617584,1663434319,1391189545,4533673847,3236192667,2565888666,612591729,120362139,116830967,122022304,131339257,247766282,121678640,176677800,120361912,176678070,176678086,176677869} --305296807,256293532,148713503,176678030
local e_s = 1
function add_decal(f,t,obj,d,r)
spawn(function()
local texture = Instance.new("Texture")
texture.Parent = obj
texture.Face = f
texture.Texture = 'rbxassetid://' .. t
if not r then
game:GetService("Debris"):AddItem(texture,d)
end
if f == 'Left' or f == 'Right' then
texture.StudsPerTileV = obj.Size.Y + e_s
if (obj.Size.X > obj.Size.Z) then
texture.StudsPerTileV = obj.Size.Z + e_s
elseif (obj.Size.Z > obj.Size.X) then
texture.StudsPerTileU = obj.Size.X + e_s
else
texture.StudsPerTileU = obj.Size.X + e_s
end
elseif f == 'Front' or f == 'Back' then
texture.StudsPerTileV = obj.Size.Y + e_s
if (obj.Size.X > obj.Size.Z) then
texture.StudsPerTileV = obj.Size.X + e_s
elseif (obj.Size.Z > obj.Size.X) then
texture.StudsPerTileU = obj.Size.Z + e_s
else
texture.StudsPerTileU = obj.Size.X + e_s
end
elseif f == 'Top' or f == 'Bottom' then
texture.StudsPerTileV = obj.Size.X + e_s
texture.StudsPerTileU = obj.Size.Z + e_s
end
end)
end
function add_blood(obj,t)
local t1,t2,t3,t4,t5,t6 = blood_images[math.random(1,#blood_images)],blood_images[math.random(1,#blood_images)],blood_images[math.random(1,#blood_images)],blood_images[math.random(1,#blood_images)],blood_images[math.random(1,#blood_images)],blood_images[math.random(1,#blood_images)]
add_decal('Top',t1,obj,5,t)
add_decal('Bottom',t2,obj,5,t)
add_decal('Left',t3,obj,5,t)
add_decal('Right',t4,obj,5,t)
add_decal('Front',t5,obj,5,t)
add_decal('Back',t6,obj,5,t)
end
function add_blood2(obj)
--[[
local blood_particle = Instance.new("ParticleEmitter")
blood_particle.Parent = obj
blood_particle.Speed = NumberRange.new(5, 14)
blood_particle.Color = ColorSequence.new(Color3.new(0.45098, 0, 0),Color3.new(0.45098, 0, 0))
blood_particle.LightEmission = 0.20000000298023
blood_particle.LightInfluence = 1
blood_particle.Texture = "http://www.roblox.com/asset/?id=134531274"
blood_particle.Transparency = NumberSequence.new(0.30000001192093,0.30000001192093)
blood_particle.ZOffset = 1
blood_particle.Size = NumberSequence.new(0.12499988079071,0)
blood_particle.Acceleration = Vector3.new(0, -20, 0)
blood_particle.EmissionDirection = Enum.NormalId.Front
blood_particle.Lifetime = NumberRange.new(0.5, 1.5)
blood_particle.Rate = 100000
blood_particle.SpreadAngle = Vector2.new(360, 360)
blood_particle.VelocitySpread = 360
blood_particle.Enabled = true
spawn(function()
wait(0.3)
blood_particle.Enabled = false
game:GetService("Debris"):AddItem(blood_particle,2)
end)
]]
spawn(function()
create_blood_att()
if blood_att then
blood_att.Parent = obj
end
local bcd = blood_cooldown
blood_cooldown = 0.3
if (0 >= bcd) then
for i,v in pairs(blood_att:GetChildren()) do
v.Enabled = true
end
repeat Swait(1) until (0 >= blood_cooldown)
for i,v in pairs(blood_att:GetChildren()) do
v.Enabled = false
end
if blood_att ~= nil then blood_att.Parent = torso; end;
end
end)
end
function touch_dmg(p,t,current_hit_id,mode,_kb)
spawn(function()
while attacking do
Swait()
spawn(function()
local hitregion = Region3.new(p.Position-(p.Size/2),p.Position+(p.Size/2))
local regionparts = workspace:FindPartsInRegion3WithIgnoreList(hitregion,{char,script})
for _,obj in pairs(regionparts) do
local knock = nil
local targplr,targchar,targhum,targhead,targtorso,hitval,killval,knockval,blockval
pcall(function()
if obj.Parent:IsA("Accessory") or obj.Parent:IsA("Tool") then
targchar = obj.Parent.Parent
else
targchar = obj.Parent
end
end)
for i,v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Character and obj:IsDescendantOf(v.Character) then
targchar = v.Character
end
end
pcall(function()
targplr = game:GetService("Players"):GetPlayerFromCharacter(targchar)
end)
pcall(function()
targhum = targchar:FindFirstChildOfClass("Humanoid")
end)
pcall(function()
hitval = targhum:FindFirstChild("Hit by " .. plr.Name .. current_hit_id)
end)
pcall(function()
killval = targhum:FindFirstChild("killer")
end)
pcall(function()
knockval = targhum:FindFirstChild("knocked")
end)
pcall(function()
blockval = targhum:FindFirstChild("blocking")
end)
pcall(function()
finishingval = targhum:FindFirstChild("finishing")
end)
pcall(function()
targhead = targchar:FindFirstChild("Head")
end)
pcall(function()
targtorso = targchar:FindFirstChild("Torso") or targchar:FindFirstChild("UpperTorso") or targchar:FindFirstChild("HumanoidRootPart")
end)
--if (targplr and targplr.TeamColor == plr.TeamColor and not targplr.Neutral and not plr.Neutral) then return end
if targchar and targhum and targhead and targtorso --[[and targhum.Health > 0]] and not obj:FindFirstChild("Dismembered") and attacking --[[and (current_hit_id == hit_id)]] and not hitval --[[and not killval]] and (not finishingval) and ((mode ~= 2) or not targplr or (mode == 4) or ((mode == 2) and (targhum.PlatformStand or targhum.Sit or 0 >= targhum.Health))) then
local temphitval = Instance.new("ObjectValue")
temphitval.Name = ("Hit by " .. plr.Name .. current_hit_id)
temphitval.Parent = targhum
if mode == 4 then
game:GetService("Debris"):AddItem(temphitval,t)
end
local ch = targhum.Health
local tempdamage = dmg
if tempdamage >= targhum.Health and targhum.Health > 1 and targplr then
tempdamage = targhum.Health - 1
targhum:TakeDamage(tempdamage)
elseif ((targhum.Health > dmg) or not targplr) then
targhum:TakeDamage(tempdamage)
end
if not knockval and not killval and not blockval then
if p == Blade then
stun_duration = 0.4
elseif mode == 3 then
stun_duration = 0.5
else
stun_duration = 0.6
end
local tempstunval = Instance.new("ObjectValue")
tempstunval.Name = 'Stunned'
tempstunval.Parent = targhum
game:GetService("Debris"):AddItem(tempstunval,stun_duration)
if mode == 3 then
knock = Instance.new("ObjectValue")
knock.Name = 'knocked'
knock.Parent = targhum
game:GetService("Debris"):AddItem(knock,t)
end
end
if (ch > targhum.Health) or (0 >= targhum.Health) or (15 >= targhum.Health) or (mode == 4) then
if obj.Name ~= 'HumanoidRootPart' then
add_blood(obj)
add_blood2(obj)
end
if p == Blade then
local mrd = 0
if (15 >= targhum.Health) then
mrd = math.random(1,5)
else
mrd = math.random(1,15)
end
if mrd == 1 then
bladedismember_s.SoundId = 'rbxassetid://' .. bladedismembers[math.random(1,#bladedismembers)]
bladedismember_s:Play()
if obj.Parent == targchar and obj.Name ~= 'Torso' and obj.Name ~= 'LowerTorso' and obj.Name ~= 'UpperTorso' and obj.Name ~= 'HumanoidRootPart' then
break_limb(obj,hum.RigType,targtorso,targhum,rootpart.CFrame.lookVector)
else
local parts = {}
for i,v in pairs(targchar:GetChildren()) do
if (v:IsA("BasePart") or v:IsA("UnionOperation")) and not v:FindFirstChild("Dismembered") and v.Name ~= 'Torso' and v.Name ~= 'LowerTorso' and v.Name ~= 'UpperTorso' and v.Name ~= 'HumanoidRootPart' then
table.insert(parts,1,v)
end
end
if #parts > 0 then
local _obj = parts[math.random(1,#parts)]
break_limb(_obj,hum.RigType,targtorso,targhum,rootpart.CFrame.lookVector)
end
end
else
bladehit_s.SoundId = 'rbxassetid://' .. bladehits[math.random(1,#bladehits)]
bladehit_s:Play()
end
--bleed2(targtorso,targhum,false,4,false)
if not bloody then
bloody = true
add_blood(Blade,true)
end
else
punch.SoundId = 'rbxassetid://' .. punches[math.random(1,#punches)]
punch:Play()
end
elseif katana then
bladeclash_s.PlaybackSpeed = math.random(95,105)/100
bladeclash_s.SoundId = 'rbxassetid://' .. bladeclashes[math.random(1,#bladeclashes)]
bladeclash_s:Play()
end
if 0 >= targhum.Health then
if not killval and not targhum:FindFirstChild("Ragdolled") then
local ragval = Instance.new("ObjectValue")
ragval.Name = 'Ragdolled'
ragval.Parent = targhum
local tempkillval = Instance.new("ObjectValue")
tempkillval.Name = 'killer'
tempkillval.Value = plr
tempkillval.Parent = targhum
targhum:TakeDamage(1/0)
targhum.AutoRotate = false
targhum.PlatformStand = true
Ragdoll(targchar,false,true,true)
end
if mode == 2 then
finish.SoundId = 'rbxassetid://' .. finishes[math.random(1,#finishes)]
finish:Play()
end
end
if targchar and targhum and targhum ~= hum and hum and not killval then
spawn(function()
if (15 >= targhum.Health or (knock and knock.Parent)) --[[and targhum.Health > 0]] and not targhum:FindFirstChild("Ragdolled") then
local ragval = Instance.new("ObjectValue")
ragval.Name = 'Ragdolled'
ragval.Parent = targhum
local sa,pe = create_stars(targhead)
targhum:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)
targhum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)
spawn(function()
local kb = _kb or 15
local b = Instance.new("BodyVelocity")
b.Parent = targtorso
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb + Vector3.new(0,2,0)
game:GetService("Debris"):AddItem(b,0.15)
end)
local collision_limbs = {}
for i,v in pairs(targchar:GetChildren()) do
local limbs = limb_collide(v)
if limbs then
for i,limb in pairs(limbs) do
table.insert(collision_limbs,1,limb)
end
end
end
local ar = targhum.AutoRotate
targhum.AutoRotate = false
targhum.PlatformStand = true
local js,js2 = Ragdoll(targchar,false,true)
--[[
knocked_t[hum] = true
table.insert(ragdolled,1,{knock = knock,hum = targhum})
repeat wait(0.1) until not knocked_t[targhum]
]]
while (15 >= targhum.Health or (knock and knock.Parent)) and targhum.Health > 0 do
targhum.AutoRotate = false
targhum.PlatformStand = true
wait(0.1)
end
for i,v in pairs(js) do v:Destroy(); end;
for i,v in pairs(js2) do if not v.obj:FindFirstChild("Dismembered") then v.obj.Parent = v.par; end; end;
for i,v in pairs(collision_limbs) do v:Destroy(); end;
if targhum and 0 >= targhum.Health then
targhum.AutoRotate = false
targhum.PlatformStand = true
Ragdoll(targchar,false,true,true)
return;
end;
for i,v in pairs(targchar:GetChildren()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
game:GetService("PhysicsService"):SetPartCollisionGroup(v,"Default")
end
end
if pe then
pe.Enabled = false
game:GetService("Debris"):AddItem(pe,2)
end
if ar then
targhum.AutoRotate = true
end
ragval:Destroy()
targhum.Sit = false
targhum.PlatformStand = false
targtorso.Velocity = Vector3.new()
end
end)
end
end
end
end)
end
end)
end
function left_slice(speed,current_hit_id)
stamina = stamina - 9
dmg = 14
enabled[rs] = false
--enabled[rj] = false
blade_swing.PlaybackSpeed = math.random(95,105)/100
blade_swing.SoundId = 'rbxassetid://' .. bladeswings[math.random(1,#bladeswings)]
blade_swing:Play()
local rr = math.random(15,45)
touch_dmg(Blade,2,current_hit_id)
for i = 1,3 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-20),math.rad(-rr),math.rad(-145))*CFrame.new(0,-0.3,0),speed)
Swait(anim_wait)
end
k_trail.Enabled = true
for i = 1,2 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-rr),math.rad(-45))*CFrame.new(0,0,0),speed)
Swait(anim_wait)
end
for i = 1,3 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(rr),math.rad(25))*CFrame.new(0,0,0),speed)
Swait(anim_wait)
end
enabled[rs] = true
--enabled[rj] = true
k_trail.Enabled = false
end
function right_slice(speed,current_hit_id)
stamina = stamina - 9
dmg = 14
enabled[rs] = false
--enabled[rj] = false
blade_swing.PlaybackSpeed = math.random(95,105)/100
blade_swing.SoundId = 'rbxassetid://' .. bladeswings[math.random(1,#bladeswings)]
blade_swing:Play()
local rr = math.random(15,45)
touch_dmg(Blade,2,current_hit_id)
for i = 1,3 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(20),math.rad(-rr),math.rad(-145))*CFrame.new(0,-0.3,0),speed)
Swait(anim_wait)
end
k_trail.Enabled = true
for i = 1,2 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(rr),math.rad(-45))*CFrame.new(0,0,0),speed)
Swait(anim_wait)
end
for i = 1,3 do
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-rr),math.rad(25))*CFrame.new(0,0,0),speed)
Swait(anim_wait)
end
enabled[rs] = true
--enabled[rj] = true
k_trail.Enabled = false
end
function left_punch(speed,current_hit_id)
stamina = stamina - 7
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
dmg = 10
touch_dmg(larm,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
larm_trail.Enabled = true
for i = 1,2 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(120))*CFrame.new(0,0.5,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-150))*CFrame.new(0,0.7,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(1)),speed)
Swait(anim_wait)
end
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
for i = 1,3 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-60),math.rad(0),math.rad(110))*CFrame.new(0.7,0,0.8),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-130))*CFrame.new(-0.1,0.5,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(-1)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
larm_trail.Enabled = false
end
function right_punch(speed,current_hit_id)
stamina = stamina - 7
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
dmg = 10
touch_dmg(rarm,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
rarm_trail.Enabled = true
for i = 1,2 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(150))*CFrame.new(0,0.7,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-120))*CFrame.new(0,0.5,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(-1)),speed)
Swait(anim_wait)
end
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
for i = 1,3 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(130))*CFrame.new(-0.1,0.5,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-60),math.rad(0),math.rad(-110))*CFrame.new(-0.7,0,0.8),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(1)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
rarm_trail.Enabled = false
end
function air_punch(speed,current_hit_id)
stamina = stamina - 10
dmg = 15
touch_dmg(larm,2,current_hit_id)
touch_dmg(rarm,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
rarm_trail.Enabled = true
larm_trail.Enabled = true
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(140))*CFrame.new(0,0,0.5),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-140))*CFrame.new(0,0,0.5),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(45)),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(10),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
enabled[neck] = false
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(75))*CFrame.new(0,0,0.5),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-75))*CFrame.new(0,0,0.5),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(25)),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
enabled[neck] = true
rarm_trail.Enabled = false
larm_trail.Enabled = false
end
function left_kick(speed,current_hit_id)
stamina = stamina - 15
dmg = 16
touch_dmg(lleg,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rj] = false
enabled[neck] = false
lleg_trail.Enabled = true
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-15)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-5)),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(-5),math.rad(-45)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(15)),speed)
Swait(anim_wait)
end
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(15)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(5)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(5)),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(5),math.rad(75)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-10)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
enabled[neck] = true
lleg_trail.Enabled = false
end
function right_kick(speed,current_hit_id)
stamina = stamina - 15
dmg = 16
touch_dmg(rleg,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
rleg_trail.Enabled = true
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(5)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(15)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(5)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(5),math.rad(45)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),speed)
Swait(anim_wait)
end
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,5 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-15)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(-5),math.rad(-75)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(10)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
enabled[neck] = true
rleg_trail.Enabled = false
end
function air_kick(speed)
end
function right_round_house(speed,current_hit_id)
stamina = stamina - 20
dmg = 25
touch_dmg(rleg,2,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
rleg_trail.Enabled = true
for i = 1,3 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(5)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(15)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(5)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(5),math.rad(45)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),speed)
Swait(anim_wait)
end
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,4 do
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
enabled[neck] = true
rleg_trail.Enabled = true
end
function left_sweep(speed,current_hit_id)
stamina = stamina - 20
dmg = 12
hum.WalkSpeed = 0
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
lleg_trail.Enabled = true
local kb = 25
local b = Instance.new("BodyVelocity")
b.Parent = rootpart
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb
game:GetService("Debris"):AddItem(b,0.15)
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(35),math.rad(0))*CFrame.new(0,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-45))*CFrame.new(0.5,0,0.2),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(60))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
touch_dmg(lleg,1,current_hit_id,3,25)
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-25)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-45)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(35),math.rad(-25))*CFrame.new(0,-1,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-45))*CFrame.new(0.1,0.1,-0.1),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(45*i))*CFrame.new(0,0,-1),speed)
Swait(anim_wait)
end
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-45)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(45),math.rad(-35)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(35),math.rad(-25))*CFrame.new(0,-1,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-45))*CFrame.new(0.1,0.1,-0.1),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(180+(45*i)))*CFrame.new(0,0,-1.2),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
lleg_trail.Enabled = false
end
function right_sweep(speed,current_hit_id)
stamina = stamina - 20
dmg = 12
hum.WalkSpeed = 0
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
rleg_trail.Enabled = true
local kb = 25
local b = Instance.new("BodyVelocity")
b.Parent = rootpart
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb
game:GetService("Debris"):AddItem(b,0.15)
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-5)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(35),math.rad(0))*CFrame.new(0,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-45))*CFrame.new(0.5,0,0.2),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(60))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
touch_dmg(rleg,1,current_hit_id,3,25)
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(25)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(45)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(45))*CFrame.new(-0.1,0.1,-0.1),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(-35),math.rad(25))*CFrame.new(0,-1,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-45*i))*CFrame.new(0,0,-1),speed)
Swait(anim_wait)
end
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(45)),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(25)),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-35)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(45))*CFrame.new(-0.1,0.1,-0.1),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(-35),math.rad(25))*CFrame.new(0,-1,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-180+(-45*i)))*CFrame.new(0,0,-1.2),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
rleg_trail.Enabled = false
end
function left_low_kick(speed,current_hit_id)
stamina = stamina - 13
dmg = 22
hum.WalkSpeed = 8
touch_dmg(lleg,1,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
lleg_trail.Enabled = true
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,6 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(80))*CFrame.new(0.5,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-150))*CFrame.new(0,0.5,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(25)),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(100))*CFrame.new(0.5,0,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(25),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
lleg_trail.Enabled = false
end
function right_low_kick(speed,current_hit_id)
stamina = stamina - 13
dmg = 22
hum.WalkSpeed = 8
touch_dmg(rleg,1,current_hit_id)
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
rleg_trail.Enabled = true
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,6 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(150))*CFrame.new(0,0.5,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-80))*CFrame.new(-0.5,0,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-100))*CFrame.new(-0.5,0,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(25),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
rleg_trail.Enabled = false
end
function left_high_kick(speed,current_hit_id)
stamina = stamina - 30
dmg = 25
hum.WalkSpeed = 0
touch_dmg(lleg,1,current_hit_id,3,30)
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
lleg_trail.Enabled = true
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
local kb = 30
local b = Instance.new("BodyVelocity")
b.Parent = rootpart
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb
game:GetService("Debris"):AddItem(b,0.15)
for i = 1,6 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(150),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.5),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(75),math.rad(-10),math.rad(10))*CFrame.new(0,0,-0.2),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(45)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(60),math.rad(0),math.rad(0))*CFrame.new(-0.3,-1.3,0.7),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*CFrame.new(0,-0.5,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-60),math.rad(-90))*CFrame.new(0,0,-1),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
lleg_trail.Enabled = false
end
function right_high_kick(speed,current_hit_id)
stamina = stamina - 30
dmg = 25
hum.WalkSpeed = 0
touch_dmg(rleg,1,current_hit_id,3,30)
enabled[ls] = false
enabled[rs] = false
enabled[lh] = false
enabled[rh] = false
enabled[rj] = false
enabled[neck] = false
rleg_trail.Enabled = true
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
local kb = 30
local b = Instance.new("BodyVelocity")
b.Parent = rootpart
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb
game:GetService("Debris"):AddItem(b,0.15)
for i = 1,6 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(75),math.rad(10),math.rad(-10))*CFrame.new(0,0,-0.2),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(150),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.6),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-45)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))*CFrame.new(0,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(60),math.rad(0),math.rad(0))*CFrame.new(0.3,-1.3,0.7),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(60),math.rad(90))*CFrame.new(0,0,-1),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[lh] = true
enabled[rh] = true
enabled[rj] = true
enabled[neck] = true
rleg_trail.Enabled = false
end
function time_stop(speed,current_hit_id)
finishing = true
local hitregion = Region3.new(rootpart.Position-(Vector3.new(3, 6, 3)/2),rootpart.Position+(Vector3.new(3, -6, 3)/2))
local targchar,targtorso,targhead,targhum
local regionparts = workspace:FindPartsInRegion3WithIgnoreList(hitregion,{char,script})
for _,obj in pairs(regionparts) do
if not obj:IsDescendantOf(char) then
local tempchar,temptorso,temphead,temphum
pcall(function()
if not obj.Parent:IsA("Accessory") then
tempchar = obj.Parent
elseif obj.Parent:IsA("Accessory") then
tempchar = obj.Parent.Parent
end
end)
for i,v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Character and obj:IsDescendantOf(v.Character) then
tempchar = v.Character
end
end
pcall(function()
temptorso = tempchar:FindFirstChild("Torso") or tempchar:FindFirstChild("UpperTorso") or tempchar:FindFirstChild("HumanoidRootPart")
end)
pcall(function()
temphead = tempchar:FindFirstChild("Head")
end)
pcall(function()
temphum = tempchar:FindFirstChildOfClass("Humanoid")
end)
if tempchar and temptorso and temphead and temphum and not temphum:FindFirstChild('killer') and temphum.Health > 0 and 15 > temphum.Health and (temphum.PlatformStand or temphum.Sit) then
targchar = tempchar
targtorso = temptorso
targhead = temphead
targhum = temphum
end
end
end
if targchar and targtorso and targhead and targhum and not targhum:FindFirstChild('killer') and targhum.Health > 0 and 15 > targhum.Health and (targhum.PlatformStand or targhum.Sit) then
za_warudo:Play()
local finishval = Instance.new("ObjectValue")
finishval.Name = 'finishing'
finishval.Parent = hum
stamina = stamina - 50
dmg = 10
--hum.WalkSpeed = 0
--targhum.Health = 1
torso.Anchored = true
targtorso.CFrame = (torso.CFrame*CFrame.new(0,0.5,-1.7))
wait()
targtorso.Anchored = true
sheathe_weld.Parent = Handle
sheathe_weld2.Parent = nil
_sheathe_weld.Parent = Handle
_sheathe_weld2.Parent = nil
local Part0 = Instance.new("Part")
local Decal1 = Instance.new("Decal")
local Decal2 = Instance.new("Decal")
local Decal3 = Instance.new("Decal")
local Decal4 = Instance.new("Decal")
local Decal5 = Instance.new("Decal")
local Decal6 = Instance.new("Decal")
local Part7 = Instance.new("Part")
Part0.Parent = script
Part0.CFrame = CFrame.new(42.4755936, 8.44500637, 103.907288, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part0.Position = Vector3.new(42.4755936, 8.44500637, 103.907288)
Part0.Color = Color3.new(1, 1, 0.8)
Part0.Size = Vector3.new(1, 1, 1)
Part0.Anchored = true
Part0.BottomSurface = Enum.SurfaceType.Smooth
Part0.BrickColor = BrickColor.new("Pastel yellow")
Part0.CanCollide = false
Part0.Locked = true
Part0.CastShadow = false
Part0.Material = Enum.Material.ForceField
Part0.TopSurface = Enum.SurfaceType.Smooth
Part0.brickColor = BrickColor.new("Pastel yellow")
Part0.Shape = Enum.PartType.Ball
Decal1.Parent = Part0
Decal1.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal1.Transparency = 0.80000001192093
Decal1.Face = Enum.NormalId.Top
Decal2.Parent = Part0
Decal2.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal2.Transparency = 0.80000001192093
Decal2.Face = Enum.NormalId.Right
Decal3.Parent = Part0
Decal3.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal3.Transparency = 0.80000001192093
Decal3.Face = Enum.NormalId.Bottom
Decal4.Parent = Part0
Decal4.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal4.Transparency = 0.80000001192093
Decal4.Face = Enum.NormalId.Back
Decal5.Parent = Part0
Decal5.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal5.Transparency = 0.80000001192093
Decal5.Face = Enum.NormalId.Left
Decal6.Parent = Part0
Decal6.Texture = "http://www.roblox.com/asset/?id=2031969"
Decal6.Transparency = 0.80000001192093
Part7.Parent = script
Part7.CFrame = CFrame.new(42.4760017, 8.44499969, 103.906998, 1, 0, 0, 0, 1, 0, 0, 0, 1)
Part7.Position = Vector3.new(42.4760017, 8.44499969, 103.906998)
Part7.Color = Color3.new(0.992157, 0.917647, 0.552941)
Part7.Size = Vector3.new(2, 2, 2)
Part7.Anchored = true
Part7.BottomSurface = Enum.SurfaceType.Smooth
Part7.BrickColor = BrickColor.new("Cool yellow")
Part7.CanCollide = false
Part7.Locked = true
Part7.CastShadow = false
Part7.Material = Enum.Material.ForceField
Part7.TopSurface = Enum.SurfaceType.Smooth
Part7.brickColor = BrickColor.new("Cool yellow")
Part7.Shape = Enum.PartType.Ball
Part0.Position = torso.Position
Part0.Transparency = 1
Part7.Position = torso.Position
Part7.Transparency = 1
local s = 50
local s2 = (s + 1)
game:GetService("TweenService"):Create(Part0,TweenInfo.new(1),{Size = Vector3.new(s,s,s),Transparency = 0}):Play()
game:GetService("TweenService"):Create(Part7,TweenInfo.new(1),{Size = Vector3.new(s2,s2,s2),Transparency = 0}):Play()
wait(0.9)
--touch_dmg(larm,0.1,current_hit_id,4)
--touch_dmg(rarm,0.1,current_hit_id,4)
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
enabled[rj] = false
enabled[lh] = false
enabled[rh] = false
muda_s:Play()
while muda_s.IsPlaying do --for i = 1,10 do
rarm_trail.Enabled = false
larm_trail.Enabled = true
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
punch.SoundId = 'rbxassetid://' .. punches[math.random(1,#punches)]
punch:Play()
local ch = targhum.Health
local tempdamage = dmg
if tempdamage >= targhum.Health and targhum.Health > 1 then
tempdamage = targhum.Health - 1
targhum:TakeDamage(tempdamage)
elseif (targhum.Health > dmg) then
targhum:TakeDamage(tempdamage)
end
--add_blood(targhead)
--add_blood2(targhead)
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed*2)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-60),math.rad(0),math.rad(110))*CFrame.new(0.7,0,0.8),speed*2)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed*2)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-130))*CFrame.new(-0.1,0.5,0),speed*2)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed*2)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(-1)),speed*2)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed*2)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed*2)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed*2)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed*2)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed*2)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed*2)
Swait(anim_wait)
end
rarm_trail.Enabled = true
larm_trail.Enabled = false
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
punch.SoundId = 'rbxassetid://' .. punches[math.random(1,#punches)]
punch:Play()
local ch = targhum.Health
local tempdamage = dmg
if tempdamage >= targhum.Health and targhum.Health > 1 then
tempdamage = targhum.Health - 1
targhum:TakeDamage(tempdamage)
elseif (targhum.Health > dmg) then
targhum:TakeDamage(tempdamage)
end
--add_blood(targhead)
--add_blood2(targhead)
for i = 1,4 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed*2)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(130))*CFrame.new(-0.1,0.5,0),speed*2)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed*2)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-60),math.rad(0),math.rad(-110))*CFrame.new(-0.7,0,0.8),speed*2)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed*2)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(1),math.rad(1)),speed*2)
Swait(anim_wait)
end
end
Swait()
finish.PlaybackSpeed = math.random(95,105)/100
finish.SoundId = 'rbxassetid://206082273'
finish:Play()
targtorso.Anchored = false
targhum.PlatformStand = false
targhum.Sit = false
local kb = 30
local b = Instance.new("BodyVelocity")
b.Parent = targtorso
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*kb + Vector3.new(0,2,0)
game:GetService("Debris"):AddItem(b,0.15)
local tempkillval = Instance.new("ObjectValue")
tempkillval.Name = 'killer'
tempkillval.Value = plr
tempkillval.Parent = targhum
targhum:TakeDamage(1/0)
--Ragdoll(targchar,false,true)
add_blood2(targtorso)
game:GetService("TweenService"):Create(Part0,TweenInfo.new(0.2),{Size = Vector3.new(),Transparency = 1}):Play()
game:GetService("TweenService"):Create(Part7,TweenInfo.new(0.2),{Size = Vector3.new(),Transparency = 1}):Play()
game:GetService("Debris"):AddItem(Part0,0.21)
game:GetService("Debris"):AddItem(Part7,0.21)
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rj] = true
enabled[lh] = true
enabled[rh] = true
rarm_trail.Enabled = false
larm_trail.Enabled = false
torso.Anchored = false
finishval:Destroy()
if katana then
sheathe_weld.Parent = nil
sheathe_weld2.Parent = Handle
_sheathe_weld.Parent = nil
_sheathe_weld2.Parent = Handle
end
end
finishing = false
end
function basic_finish(speed,current_hit_id)
finishing = true
local hitregion = Region3.new(rootpart.Position-(Vector3.new(3, 6, 3)/2),rootpart.Position+(Vector3.new(3, -6, 3)/2))
local targchar,targtorso,targhum
local regionparts = workspace:FindPartsInRegion3WithIgnoreList(hitregion,{char,script})
for _,obj in pairs(regionparts) do
--if not obj:IsDescendantOf(char) then
local tempchar,temptorso,temphum
pcall(function()
if not obj.Parent:IsA("Accessory") then
tempchar = obj.Parent
elseif obj.Parent:IsA("Accessory") then
tempchar = obj.Parent.Parent
end
end)
for i,v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Character and obj:IsDescendantOf(v.Character) then
tempchar = v.Character
end
end
pcall(function()
temptorso = tempchar:FindFirstChild("Torso") or tempchar:FindFirstChild("UpperTorso") or tempchar:FindFirstChild("HumanoidRootPart")
end)
pcall(function()
temphum = tempchar:FindFirstChildOfClass("Humanoid")
end)
if tempchar and temptorso and temphum and not temphum:FindFirstChild('killer') and temphum.Health > 0 and 15 > temphum.Health and (temphum.PlatformStand or temphum.Sit) then
targchar = tempchar
targtorso = temptorso
targhum = temphum
end
--end
end
if targchar and targtorso and targhum and not targhum:FindFirstChild('killer') and targhum.Health > 0 and 15 > targhum.Health and (targhum.PlatformStand or targhum.Sit) then
local finishval = Instance.new("ObjectValue")
finishval.Name = 'finishing'
finishval.Parent = hum
targtorso.Anchored = true
--hum.WalkSpeed = 0
local rpos = Vector3.new(targtorso.Position.X,torso.Position.Y,targtorso.Position.Z)
torso.CFrame = CFrame.new(torso.Position,rpos)*CFrame.new(0,-0.5,0.1)
wait()
torso.Anchored = true
if fists then
finish.SoundId = 'rbxassetid://' .. finishes[math.random(1,#finishes)]
enabled[neck] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
rleg_trail.Enabled = true
for i = 1,5 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.5,-0.9,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,2 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(0.7,-0.1,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
finish:Play()
punch.SoundId = 'rbxassetid://' .. punches[math.random(1,#punches)]
punch:Play()
local tempkillval = Instance.new("ObjectValue")
tempkillval.Name = 'killer'
tempkillval.Value = plr
tempkillval.Parent = targhum
targhum:TakeDamage(1/0)
targtorso.Anchored = false
--targhum.PlatformStand = false
--Ragdoll(targchar,false,true)
add_blood(targtorso)
add_blood2(rleg)
for i = 1,3 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.7,0.1,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
for i = 1,5 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.5,-0.9,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
elseif katana then
finish.SoundId = 'rbxassetid://' .. bladehits[math.random(1,#bladehits)]
enabled[rs] = false
enabled[ls] = false
enabled[neck] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
k_trail.Enabled = true
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)*CFrame.Angles(math.rad(180),math.rad(0),math.rad(0))
for i = 1,8 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(5))*CFrame.new(0,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(190),math.rad(-180),math.rad(-15))*CFrame.new(-0.1,-0.3,0.2),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))*CFrame.new(-0.5,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-45))*CFrame.new(0,0,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
blade_swing.SoundId = 'rbxassetid://' .. bladeswings[math.random(1,#bladeswings)]
blade_swing:Play()
for i = 1,7 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-5))*CFrame.new(0,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(140),math.rad(-180),math.rad(80))*CFrame.new(-0.1,-0.3,0.3),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-20))*CFrame.new(-0.5,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25))*CFrame.new(0,0,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
finish:Play()
local tempkillval = Instance.new("ObjectValue")
tempkillval.Name = 'killer'
tempkillval.Value = plr
tempkillval.Parent = targhum
targhum:TakeDamage(1/0)
targtorso.Anchored = false
--targhum.PlatformStand = false
--Ragdoll(targchar,false,true)
add_blood(targtorso)
add_blood2(Blade)
if not bloody then
bloody = true
add_blood(Blade,true)
end
for i = 1,11 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-5))*CFrame.new(0,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(140),math.rad(-180),math.rad(80))*CFrame.new(-0.1,-0.3,0.3),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-20))*CFrame.new(-0.5,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25))*CFrame.new(0,0,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
bladedismember_s.SoundId = 'rbxassetid://' .. bladedismembers[math.random(1,#bladedismembers)]
bladedismember_s:Play()
add_blood2(targtorso)
for i = 1,13 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-5))*CFrame.new(0,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(190),math.rad(-200),math.rad(-15))*CFrame.new(-0.1,-0.3,0.3),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-20))*CFrame.new(-0.5,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25))*CFrame.new(0,0,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0))*CFrame.new(0,0,-0.5),speed)
Swait(anim_wait)
end
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)
end
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
torso.Anchored = false
rleg_trail.Enabled = false
k_trail.Enabled = false
finishval:Destroy()
--[[
elseif stamina >= 10 then
stamina = stamina - 10
dmg = 10
hum.WalkSpeed = 0
--enabled[ls] = false
--enabled[rs] = false
enabled[neck] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
rleg_trail.Enabled = true
for i = 1,5 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.5,-0.9,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
touch_dmg(rleg,2,current_hit_id,2)
swing_s.PlaybackSpeed = math.random(90,110)/100
swing_s:Play()
for i = 1,5 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.7,0.1,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
for i = 1,5 do
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(-0.5,-0.9,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),speed)
Swait(anim_wait)
end
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
rleg_trail.Enabled = false
]]
end
finishing = false
end
function carry(speed)
local hitregion = Region3.new(rootpart.Position-(Vector3.new(5, 6, 5)/2),rootpart.Position+(Vector3.new(5, -6, 5)/2))
local targchar,targtorso,targhum
local regionparts = workspace:FindPartsInRegion3WithIgnoreList(hitregion,{char,script})
for _,obj in pairs(regionparts) do
--if not obj:IsDescendantOf(char) then
local tempchar,temptorso,temphum
pcall(function()
if not obj.Parent:IsA("Accessory") then
tempchar = obj.Parent
elseif obj.Parent:IsA("Accessory") then
tempchar = obj.Parent.Parent
end
end)
for i,v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Character and obj:IsDescendantOf(v.Character) then
tempchar = v.Character
end
end
pcall(function()
temptorso = tempchar:FindFirstChild("Torso") or tempchar:FindFirstChild("UpperTorso") or tempchar:FindFirstChild("HumanoidRootPart")
end)
pcall(function()
temphum = tempchar:FindFirstChildOfClass("Humanoid")
end)
if tempchar and temptorso and temphum and not temphum:FindFirstChild("Being Carried") and (15 > temphum.Health) and (temphum.PlatformStand or temphum.Sit or (0 >= temphum.Health) or temphum:FindFirstChild('knocked')) then
targchar = tempchar
targtorso = temptorso
targhum = temphum
end
--end
end
if (targchar and targtorso and targhum and not targhum:FindFirstChild("Being Carried") and (15 > targhum.Health) and (targhum.PlatformStand or targhum.Sit or (0 >= targhum.Health) or targhum:FindFirstChild('knocked'))) then
carrying = true
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
local cval = Instance.new("ObjectValue")
cval.Name = 'Being Carried'
cval.Parent = targhum
local bp = Instance.new("BodyPosition")
bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bp.P = 100000
bp.Parent = targtorso
while carrying and (targchar and targtorso and targhum and (15 > targhum.Health) and (targhum.PlatformStand or targhum.Sit or (0 >= targhum.Health) or targhum:FindFirstChild('knocked'))) do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(45))*CFrame.new(0.8,0,0.6),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-45))*CFrame.new(-0.8,0,0.6),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),speed)
--targtorso.CFrame = torso.CFrame*CFrame.new(0,0,-4.5)
bp.Position = (torso.CFrame*CFrame.new(0,0,-4.5)).p
wait()
end
if bp then
bp:Destroy()
end
if cval then
cval:Destroy()
end
carrying = false
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
end
end
function ghost(mode)
local gid = ghost_id
last_trans[gid] = {}
local _last_trans = last_trans[gid]
pcall(function()
for i,v in pairs(char:GetDescendants()) do
if (v.Name ~= 'HumanoidRootPart') then
if mode then
local c = nil
if (v:IsA("BasePart") or v:IsA("UnionOperation")) then
c = v:Clone()
c.Transparency = 0.5
c.Material = Enum.Material.SmoothPlastic
c.Color = Color3.new(1,1,1)
c.Anchored = true
c.CanCollide = false
c.Locked = true
c.Massless = true
for i,v in pairs(c:GetChildren()) do
if not v:IsA("SpecialMesh") and not v:IsA("BlockMesh") and not v:IsA("CharacterMesh") then
v:Destroy()
end
end
c.Parent = script
end
pcall(function()
_last_trans[v] = v.Transparency
game:GetService("TweenService"):Create(v,TweenInfo.new(0.1),{Transparency = 1}):Play()
end)
if c then
spawn(function()
wait(0.2)
game:GetService("TweenService"):Create(c,TweenInfo.new(1),{Transparency = 1}):Play()
game:GetService("Debris"):AddItem(c,1.1)
end)
end
elseif not mode then
local lt = _last_trans[v]
pcall(function()
if lt then
game:GetService("TweenService"):Create(v,TweenInfo.new(0.1),{Transparency = lt}):Play()
else
game:GetService("TweenService"):Create(v,TweenInfo.new(0.1),{Transparency = 0}):Play()
end
end)
end
end
end
end)
end
function dash(speed,key)
attacking = true
attacking2 = true
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
stamina = stamina - 20
local kb = 100
local dir = Vector3.new()
if key == 'w' then
dir = rootpart.CFrame.lookVector
elseif key == 'a' then
dir = rootpart.CFrame.rightVector*-1
elseif key == 's' then
dir = rootpart.CFrame.lookVector*-1
elseif key == 'd' then
dir = rootpart.CFrame.rightVector
end
local bv = Instance.new("BodyVelocity")
bv.Parent = rootpart
bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bv.Velocity = dir*kb
dash_s:Play()
ghost_id = (ghost_id+1)
--ghost(true)
for i = 1,8 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(-15))*CFrame.new(0,0,0),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(15))*CFrame.new(0,0,0),speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(0)),speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-1),math.rad(0),math.rad(45))*CFrame.new(-1,-0.5,0),speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-1),math.rad(0),math.rad(-35))*CFrame.new(0,-0.3,0),speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0))*CFrame.new(0,0,0),speed)
Swait(anim_wait)
end
--ghost(false)
if bv then
bv:Destroy()
end
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
attacking2 = false
attacking = false
end
function equip_katana(mode,speed)
if not toggling_katana then else return end
toggling_katana = true
dance(false)
enabled[rs] = false
enabled[ls] = false
_sheathe_weld.Parent = nil
_sheathe_weld2.Parent = Handle
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)
if mode then
for i = 1,14 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-2),math.rad(0),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(-105),math.rad(-20))*CFrame.new(-0.5,-0.15,0.4),speed)
Swait(anim_wait)
end
sheathe_weld.Parent = nil
sheathe_weld2.Parent = Handle
for i = 1,2 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed/3)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed/3)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-35),math.rad(0),math.rad(0)),speed/3)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(-5))*CFrame.new(-0.1,0.1,-0.6),speed/3)
Swait(anim_wait)
end
unsheathe:Play()
sheathe:Stop()
for i = 1,12 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed/3)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed/3)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-35),math.rad(0),math.rad(0)),speed/3)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(-5))*CFrame.new(-0.1,0.1,-0.6),speed/3)
Swait(anim_wait)
end
elseif not mode then
for i = 1,14 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed/3)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed/3)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-35),math.rad(0),math.rad(0)),speed/3)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(-5))*CFrame.new(-0.1,0.1,-0.6),speed/3)
Swait(anim_wait)
end
sheathe_weld.Parent = Handle
sheathe_weld2.Parent = nil
for i = 1,2 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-2),math.rad(0),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(-105),math.rad(-20))*CFrame.new(-0.5,-0.15,0.4),speed)
Swait(anim_wait)
end
sheathe:Play()
unsheathe:Stop()
for i = 1,12 do
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(70),math.rad(15))*CFrame.new(0,0.1,-0.2),speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-2),math.rad(0),math.rad(0)),speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(-105),math.rad(-20))*CFrame.new(-0.5,-0.15,0.4),speed)
Swait(anim_wait)
end
for i,v in pairs(Blade:GetChildren()) do
if v:IsA("Texture") then
v:Destroy()
end
end
bloody = false
_sheathe_weld.Parent = Handle
_sheathe_weld2.Parent = nil
end
enabled[rs] = true
enabled[ls] = true
toggling_katana = false
end
function dance(mode)
if not toggling_dance then else return end
toggling_dance = true
if mode and not dancing then
dancing = true
blocking = false
blocking2 = false
enabled[ls] = false
enabled[rs] = false
enabled[neck] = false
enabled[rh] = false
enabled[lh] = false
enabled[rj] = false
reset_anims(false)
local d = hum:LoadAnimation(dance_anim)
d.Priority = Enum.AnimationPriority.Action
d:Play()
mash:Play()
elseif not mode and dancing then
mash:Stop()
reset_anims(true)
enabled[ls] = true
enabled[rs] = true
enabled[neck] = true
enabled[rh] = true
enabled[lh] = true
enabled[rj] = true
dancing = false
end
toggling_dance = false
end
function alive()
local alive = false
if (plr and plr.Parent and char and char.Parent and hum and hum.Parent and hum.Health > 0 and torso and torso.Parent) then
alive = true
end
return alive
end
function create_gui(p)
local screen = Instance.new("ScreenGui")
local ImageLabel1 = Instance.new("ImageLabel")
local blockstat = Instance.new("TextLabel")
local blockbar = Instance.new("ImageLabel")
local ImageLabel4 = Instance.new("ImageLabel")
local healthstat = Instance.new("TextLabel")
local healthbar = Instance.new("ImageLabel")
local ImageLabel7 = Instance.new("ImageLabel")
local staminastat = Instance.new("TextLabel")
local staminabar = Instance.new("ImageLabel")
screen.Parent = p
ImageLabel1.Name = "Block"
ImageLabel1.Parent = screen
ImageLabel1.Position = UDim2.new(0.317999989, 0, 0.940303028, 0)
ImageLabel1.Size = UDim2.new(0.331917137, 0, 0.0316969417, 0)
ImageLabel1.BackgroundColor = BrickColor.new("Institutional white")
ImageLabel1.BackgroundColor3 = Color3.new(1, 1, 1)
ImageLabel1.BackgroundTransparency = 1
ImageLabel1.Image = "rbxassetid://3570695787"
ImageLabel1.ImageColor3 = Color3.new(1, 0.647059, 0.619608)
ImageLabel1.ScaleType = Enum.ScaleType.Slice
ImageLabel1.SliceCenter = Rect.new(100, 100, 100, 100)
blockstat.Name = "title"
blockstat.Parent = ImageLabel1
blockstat.Size = UDim2.new(1, 0, 1, 0)
blockstat.BackgroundColor = BrickColor.new("Institutional white")
blockstat.BackgroundColor3 = Color3.new(1, 1, 1)
blockstat.BackgroundTransparency = 1
blockstat.ZIndex = 3
blockstat.Font = Enum.Font.GothamBlack
blockstat.FontSize = Enum.FontSize.Size24
blockstat.Text = "Block: NAN"
blockstat.TextColor = BrickColor.new("Institutional white")
blockstat.TextColor3 = Color3.new(1, 1, 1)
blockstat.TextSize = 20
blockstat.TextStrokeTransparency = 0
blockstat.TextWrap = true
blockstat.TextWrapped = true
blockbar.Name = "bar"
blockbar.Parent = ImageLabel1
blockbar.Size = UDim2.new(1, 0, 1, 0)
blockbar.BackgroundColor = BrickColor.new("Institutional white")
blockbar.BackgroundColor3 = Color3.new(1, 1, 1)
blockbar.BackgroundTransparency = 1
blockbar.Image = "rbxassetid://3570695787"
blockbar.ImageColor3 = Color3.new(1, 0.545098, 0.827451)
blockbar.ScaleType = Enum.ScaleType.Slice
blockbar.SliceCenter = Rect.new(100, 100, 100, 100)
ImageLabel4.Name = "Health"
ImageLabel4.Parent = screen
ImageLabel4.Position = UDim2.new(0.317578763, 0, 0.859090745, 0)
ImageLabel4.Size = UDim2.new(0.332338333, 0, 0.0316969417, 0)
ImageLabel4.BackgroundColor = BrickColor.new("Institutional white")
ImageLabel4.BackgroundColor3 = Color3.new(1, 1, 1)
ImageLabel4.BackgroundTransparency = 1
ImageLabel4.Image = "rbxassetid://3570695787"
ImageLabel4.ImageColor3 = Color3.new(1, 0.25098, 0.262745)
ImageLabel4.ScaleType = Enum.ScaleType.Slice
ImageLabel4.SliceCenter = Rect.new(100, 100, 100, 100)
healthstat.Name = "title"
healthstat.Parent = ImageLabel4
healthstat.Size = UDim2.new(1, 0, 1, 0)
healthstat.BackgroundColor = BrickColor.new("Institutional white")
healthstat.BackgroundColor3 = Color3.new(1, 1, 1)
healthstat.BackgroundTransparency = 1
healthstat.ZIndex = 3
healthstat.Font = Enum.Font.GothamBlack
healthstat.FontSize = Enum.FontSize.Size24
healthstat.Text = "Health: NAN"
healthstat.TextColor = BrickColor.new("Institutional white")
healthstat.TextColor3 = Color3.new(1, 1, 1)
healthstat.TextSize = 20
healthstat.TextStrokeTransparency = 0
healthstat.TextWrap = true
healthstat.TextWrapped = true
healthbar.Name = "bar"
healthbar.Parent = ImageLabel4
healthbar.Size = UDim2.new(1, 0, 1, 0)
healthbar.BackgroundColor = BrickColor.new("Institutional white")
healthbar.BackgroundColor3 = Color3.new(1, 1, 1)
healthbar.BackgroundTransparency = 1
healthbar.Image = "rbxassetid://3570695787"
healthbar.ImageColor3 = Color3.new(0.286275, 1, 0.235294)
healthbar.ScaleType = Enum.ScaleType.Slice
healthbar.SliceCenter = Rect.new(100, 100, 100, 100)
ImageLabel7.Name = "Stamina"
ImageLabel7.Parent = screen
ImageLabel7.Position = UDim2.new(0.317999989, 0, 0.899393916, 0)
ImageLabel7.Size = UDim2.new(0.331917137, 0, 0.0316969417, 0)
ImageLabel7.BackgroundColor = BrickColor.new("Institutional white")
ImageLabel7.BackgroundColor3 = Color3.new(1, 1, 1)
ImageLabel7.BackgroundTransparency = 1
ImageLabel7.Image = "rbxassetid://3570695787"
ImageLabel7.ImageColor3 = Color3.new(0.858824, 0.737255, 1)
ImageLabel7.ScaleType = Enum.ScaleType.Slice
ImageLabel7.SliceCenter = Rect.new(100, 100, 100, 100)
staminastat.Name = "title"
staminastat.Parent = ImageLabel7
staminastat.Size = UDim2.new(1, 0, 1, 0)
staminastat.BackgroundColor = BrickColor.new("Institutional white")
staminastat.BackgroundColor3 = Color3.new(1, 1, 1)
staminastat.BackgroundTransparency = 1
staminastat.ZIndex = 3
staminastat.Font = Enum.Font.GothamBlack
staminastat.FontSize = Enum.FontSize.Size24
staminastat.Text = "Stamina: NAN"
staminastat.TextColor = BrickColor.new("Institutional white")
staminastat.TextColor3 = Color3.new(1, 1, 1)
staminastat.TextSize = 20
staminastat.TextStrokeTransparency = 0
staminastat.TextWrap = true
staminastat.TextWrapped = true
staminabar.Name = "bar"
staminabar.Parent = ImageLabel7
staminabar.Size = UDim2.new(1, 0, 1, 0)
staminabar.BackgroundColor = BrickColor.new("Institutional white")
staminabar.BackgroundColor3 = Color3.new(1, 1, 1)
staminabar.BackgroundTransparency = 1
staminabar.Image = "rbxassetid://3570695787"
staminabar.ImageColor3 = Color3.new(1, 0.941177, 0.27451)
staminabar.ScaleType = Enum.ScaleType.Slice
staminabar.SliceCenter = Rect.new(100, 100, 100, 100)
return screen,healthbar,healthstat,staminabar,staminastat,blockbar,blockstat
end
function raycast(Pos, Dir, Max, Ignore)
return game:service("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
end
function knocked()
local r = false
if hum.PlatformStand and (15 > hum.Health or hum:FindFirstChild("knocked")) then
r = true
end
return r
end
function update()
healthstat.Text = 'Health: ' .. tostring(math.floor(hum.Health)) .. "/" .. tostring(math.floor(hum.MaxHealth))
game:GetService("TweenService"):Create(healthbar,TweenInfo.new(0.3),{Size = UDim2.new((hum.Health/hum.MaxHealth), 0, 1, 0)}):Play()
--
staminastat.Text = 'Stamina: ' .. tostring(math.floor(stamina)) .. "/" .. tostring(math.floor(staminamax))
game:GetService("TweenService"):Create(staminabar,TweenInfo.new(0.3),{Size = UDim2.new((stamina/staminamax), 0, 1, 0)}):Play()
--
blockstat.Text = 'Block: ' .. tostring(math.floor(blockhealth)) .. "/" .. tostring(math.floor(blockhealthmax))
game:GetService("TweenService"):Create(blockbar,TweenInfo.new(0.3),{Size = UDim2.new((blockhealth/blockhealthmax), 0, 1, 0)}):Play()
end
hum.ChildAdded:Connect(function(obj)
if obj.Name == 'Stunned' then
change_stun_type()
end
end)
hum.HealthChanged:Connect(function(new_health)
if --[[alive() and]] (last_health > new_health) and blocking2 and not knocked() and (blockhealth >= 25) and not hum:FindFirstChild("Fall Damage") then
blockhealth = blockhealth - 25
block_counter = 1
hum.Health = last_health
spawn(function()
local kb = 20
local b = Instance.new("BodyVelocity")
b.Parent = torso
b.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
b.Velocity = rootpart.CFrame.lookVector*-1*kb + Vector3.new(0,1,0)
game:GetService("Debris"):AddItem(b,0.1)
end)
--[[if katana then
dodge_s.SoundId = 'rbxassetid://' .. bladeclash[math.random(1,#bladeclash)]
else]]
dodge_s.SoundId = 'rbxassetid://4458055429'
--end
if dodge_s then
dodge_s:Play()
end
local bp = torso:FindFirstChild("block_p")
if bp then bp = bp:FindFirstChild("block_p") end
if not bp then
local att = Instance.new("Attachment")
att.Name = 'block_p'
att.Parent = torso
bp = Instance.new("ParticleEmitter")
bp.Name = "block_p"
bp.Parent = att
bp.Speed = NumberRange.new(15, 15)
bp.Color = ColorSequence.new(Color3.new(0.921569, 1, 0.192157),Color3.new(1, 0.972549, 0.666667))
bp.LightEmission = 1
bp.Texture = "http://www.roblox.com/asset/?id=271370648"
bp.Transparency = NumberSequence.new({
NumberSequenceKeypoint.new(0,1),
NumberSequenceKeypoint.new(0.1,0.25),
NumberSequenceKeypoint.new(0.2,0),
NumberSequenceKeypoint.new(0.5,0),
NumberSequenceKeypoint.new(0.75,0.35),
NumberSequenceKeypoint.new(1,1),
})
bp.Size = NumberSequence.new({
NumberSequenceKeypoint.new(0,0.3),
NumberSequenceKeypoint.new(0.103,0.7),
NumberSequenceKeypoint.new(1,0),
})
bp.Acceleration = Vector3.new(0, 0, 0)
bp.Lifetime = NumberRange.new(0.35, 0.35)
bp.Rate = 360
bp.SpreadAngle = Vector2.new(360,360)
bp.Speed = NumberRange.new(10,10)
bp.Rotation = NumberRange.new(90,90)
end
spawn(function()
bp.Enabled = true
wait(0.1)
bp.Enabled = false
end)
elseif (last_health > new_health) and ((blockhealth >= 25) or not blocking or not blocking2) then
block_stun_cooldown = 0.1
end
last_health = hum.Health
end)
screen,healthbar,healthstat,staminabar,staminastat,blockbar,blockstat = create_gui(plr['PlayerGui'])
hum.Died:Connect(function()
if screen then
screen:Destroy()
end
end)
spawn(function()
while wait(0.1) do
--[[
for i,v in pairs(ragdolled) do
local targhum = v.hum
local knock = v.knock
if (15 >= targhum.Health or (knock and knock.Parent)) and targhum.Health > 0 then
targhum.PlatformStand = true
knocked_t[targhum] = true
else
knocked_t[targhum] = false
end
end
for i,v in pairs(bloodlol_t) do
if v then
if v.Transparency < 1 then
v.Transparency = v.Transparency + 0.05
else
v:Destroy()
end
end
end
]]
if blood_cooldown > 0 then
blood_cooldown = blood_cooldown - 0.1
elseif 0 > blood_cooldown then
blood_cooldown = 0
end
if screen then
update()
end
if block_stun_cooldown > 0 then
block_stun_cooldown = block_stun_cooldown - 0.1
elseif 0 > block_stun_cooldown then
block_stun_cooldown = 0
end
if stamina_counter > 0 then
stamina_counter = stamina_counter - 0.1
elseif 0 > stamina_counter then
stamina_counter = 0
end
if block_counter > 0 then
block_counter = block_counter - 0.1
elseif 0 > block_counter then
block_counter = 0
end
end
end)
spawn(function()
while wait(0.6) do
if not finishing then
if (0 >= stamina_counter) and (staminamax > stamina) then
if 0 > stamina then
stamina = 0
end
stamina = stamina + 9
if (stamina > staminamax) then
stamina = staminamax
end
end
if (0 >= block_counter) and (blockhealthmax > blockhealth) then
if (0 > blockhealth) then
blockhealth = 0
end
blockhealth = blockhealth + 7
if (blockhealth > blockhealthmax) then
blockhealth = blockhealthmax
end
end
end
end
end)
local footsteps = {
Fabric = {
4085884845,
4085885171
},
Concrete = {
4085860640,
4085860959
},
Grass = {
4085928076,
4085927377
},
Dirt = {
4085928076,
4085927377
},
Glass = {
4085888884,
4085889170
},
Metal = {
4085894561,
4085894913
},
Rubble = {
4085865543,
4085865926
},
Sand = {
4085867669,
4085868134
},
Snow = {
4085886274,
4085886651
},
Water = {
4085887687,
4085888023
},
Wood = {
4085869219,
4085869581
},
Stone = {
3744398825,
3744399210,
3744399642,
3744399949
}
};
local referenceChart = {
[Enum.Material.Plastic]="Fabric",
[Enum.Material.Grass]="Grass",
[Enum.Material.Pebble]="Rubble",
[Enum.Material.Metal]="Metal",
[Enum.Material.Ice]="Ice",
[Enum.Material.Grass]="Grass",
[Enum.Material.Concrete]="Concrete",
[Enum.Material.Marble]="Concrete",
[Enum.Material.Wood]="Wood",
[Enum.Material.WoodPlanks]="Wood",
[Enum.Material.Sand]="Sand",
[Enum.Material.Glass]="Glass",
[Enum.Material.ForceField]="Glass",
[Enum.Material.Neon]="Glass",
[Enum.Material.Fabric]="Fabric",
[Enum.Material.DiamondPlate]="Metal",
[Enum.Material.CorrodedMetal]="Metal",
[Enum.Material.Slate]="Stone"
};
local step_s = Instance.new("Sound");
step_s.Parent = rootpart;
step_s.Volume = 0.9;
step_s.Name = "FootSteps";
local material = "Stone";
local walking = false;
local walkTick = tick();
local function play()
if (walking and footsteps[material]) then
step_s.SoundId = "rbxassetid://" .. footsteps[material][math.random(1, #footsteps[material])];
step_s:Play();
else
step_s:Stop();
end
end
hum.Changed:Connect(function(prop)
if (prop == "MoveDirection") and equipped then
if (hum.Sit == false and hum.PlatformStand == false and hum.MoveDirection.Magnitude > 0) then
if (walking == false) then
walking = true;
walkTick = tick();
local walkTickN = walkTick;
while (walking and walkTick == walkTickN) do
local ray = Ray.new(rootpart.Position, Vector3.new(0, -5, 0));
local part = workspace:FindPartOnRay(ray, char);
if (part) then
(function()
if (part.Material == Enum.Material.Grass and part.Color.g < .5) then
material = "Dirt";
return;
end
if (part.Material == Enum.Material.Sand and part.Color.r > .5 and part.Color.g > .5 and part.Color.b > .5) then
material = "Snow";
return;
end
material = referenceChart[part.Material] or "Air";
end)()
else
material = "Air";
end
play();
if anim == 'crouch' and crouching then
wait(0.6)
elseif anim == 'run' and not crouching then
wait(0.2);
else
wait(0.4);
end
end
end
else
walking = false;
end
end
if (prop == "Sit") and equipped then
if (hum.Sit) then
walking = false;
end
end
end)
remote.OnServerEvent:Connect(function(lplr,mode,mode2)
if alive() and equipped and (plr == lplr) then else return end
if mode == 1 and (fists or katana) and not toggling_dance and not toggling_katana then
blocking = mode2
dance(false)
if not knocked() and blocking and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = true
_blockingval.Parent = hum;
else
blocking2 = false
_blockingval.Parent = nil;
end;
elseif mode == 2 and not toggling_dance then
sprinting = mode2
elseif mode == 3 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and (fists or katana) and not knocked() and not toggling_dance and not toggling_katana and not blocking2 then else return end
if fists and (anim ~= 'run') and (stamina >= 7) then
attacking = true
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
if not jumping then
if pa == 1 then
left_punch(0.7,hit_id)
elseif pa == 2 then
right_punch(0.7,hit_id)
end
elseif jumping then
if (stamina >= 10) then
air_punch(0.7,hit_id)
else
if pa == 1 then
left_punch(0.7,hit_id)
elseif pa == 2 then
right_punch(0.7,hit_id)
end
end
end
pa = pa + 1
if pa > 2 then
pa = 1
end
elseif katana and (stamina >= 9) then
attacking = true
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
if ksa == 1 then
left_slice(0.7,hit_id)
elseif ksa == 2 then
right_slice(0.7,hit_id)
end
ksa = ksa + 1
if ksa > 2 then
ksa = 1
end
end
attacking = false
elseif mode == 4 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and fists and not knocked() and not crouching and not toggling_dance and not toggling_katana and not blocking2 and (anim ~= 'run') and (stamina >= 13) then else return end
attacking = true
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
if not jumping and stamina >= 15 then
if ka == 1 then
left_kick(0.7,hit_id)
elseif ka == 2 then
right_kick(0.7,hit_id)
end
ka = ka + 1
if ka > 2 then
ka = 1
end
elseif jumping then
if (stamina >= 13) then
if lka == 1 then
left_low_kick(0.6,hit_id)
elseif lka == 2 then
right_low_kick(0.6,hit_id)
end
lka = lka + 1
if lka > 2 then
lka = 1
end
elseif stamina >= 15 then
if ka == 1 then
left_kick(0.7,hit_id)
elseif ka == 2 then
right_kick(0.7,hit_id)
end
ka = ka + 1
if ka > 2 then
ka = 1
end
end
end
attacking = false
elseif mode == 5 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and (fists or katana) and not finishing and not knocked() and not crouching and not toggling_dance and not toggling_katana and not blocking2 and (anim ~= 'run') then else return end
attacking = true
attacking2 = true
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
basic_finish(0.5,hit_id)
attacking2 = false
attacking = false
elseif mode == 6 then
if not toggling_dance then else return end
crouching = mode2
dance(false)
elseif mode == 7 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and fists and not knocked() and not toggling_dance and not toggling_katana and not blocking2 and (anim ~= 'run') and (stamina >= 30) then else return end
attacking = true
attacking2 = true
dance(false)
if not jumping then
hit_id = hit_id + 1
stamina_counter = 1
if hka == 1 then
left_high_kick(0.6,hit_id)
elseif hka == 2 then
right_high_kick(0.6,hit_id)
end
hka = hka + 1
if hka > 2 then
hka = 1
end
end
attacking2 = false
attacking = false
elseif mode == 8 then
if not attacking and not carrying and not finishing and not knocked() and not toggling_dance and not toggling_katana then else return end
blocking = false
blocking2 = false
fists = not fists
if fists and katana then
katana = false
equip_katana(false,0.7)
end
elseif mode == 9 then
last_mpos = mode2
elseif mode == 10 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and fists and not knocked() and not toggling_dance and not toggling_katana and not blocking2 and (anim ~= 'run') and (stamina >= 20) then else return end
attacking = true
attacking2 = true
dance(false)
if not jumping then
hit_id = hit_id + 1
stamina_counter = 1
if sa == 1 then
left_sweep(0.5,hit_id)
elseif sa == 2 then
right_sweep(0.5,hit_id)
end
sa = sa + 1
if sa > 2 then
sa = 1
end
end
attacking2 = false
attacking = false
elseif mode == 11 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and not attacking2 and not knocked() and not toggling_dance and not toggling_katana and (anim == 'idle' or anim == 'crouch') then else return end
dance(true)
elseif mode == 12 and not hum:FindFirstChild("Stunned") then
if not attacking and not attacking2 and not knocked() and not toggling_dance and not toggling_katana then else return end
if mode2 == true then
carry(0.6)
elseif mode2 == false then
carrying = false
end
elseif mode == 13 and not hum:FindFirstChild("Stunned") then
if not attacking and not carrying and not finishing and not knocked() and not toggling_dance and not toggling_katana then else return end
blocking = false
blocking2 = false
katana = not katana
if katana and fists then
fists = false
end
equip_katana(katana,0.7)
elseif mode == 14 then
local fallval = Instance.new("ObjectValue")
fallval.Name = 'Fall Damage'
fallval.Parent = hum
local tempdmg = ((hum.MaxHealth/100)*mode2)
hum:TakeDamage(tempdmg)
if not alive() and not hum:FindFirstChild("Ragdolled") then
bone_crack.SoundId = 'rbxassetid://' .. bonecracks[math.random(1,#bonecracks)]
bone_crack:Play()
local tempkillval = Instance.new("ObjectValue")
tempkillval.Name = 'killer'
tempkillval.Value = nil -- plr
tempkillval.Parent = hum
hum:TakeDamage(1/0)
local ragval = Instance.new("ObjectValue")
ragval.Name = 'Ragdolled'
ragval.Parent = hum
hum.AutoRotate = false
hum.PlatformStand = true
Ragdoll(char,false,true,true)
end
game:GetService("Debris"):AddItem(fallval,0.1)
if mode2 < 14 then
falldamage.SoundId = "rbxassetid://4057626616"
falldamage:Play()
elseif mode2 >= 14 then
falldamage.SoundId = "rbxassetid://535681058"
falldamage:Play()
if not hum:FindFirstChild("knocked") then
knock = Instance.new("ObjectValue")
knock.Name = 'knocked'
knock.Parent = hum
game:GetService("Debris"):AddItem(knock,2)
end
if alive() then
spawn(function()
if (knock and knock.Parent) and hum.Health > 0 and not hum:FindFirstChild("Ragdolled") then
local ragval = Instance.new("ObjectValue")
ragval.Name = 'Ragdolled'
ragval.Parent = hum
local sa,pe = create_stars(head)
hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown,false)
hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false)
local collision_limbs = {}
for i,v in pairs(char:GetChildren()) do
local limbs = limb_collide(v)
if limbs then
for i,limb in pairs(limbs) do
table.insert(collision_limbs,1,limb)
end
end
end
local ar = hum.AutoRotate
hum.AutoRotate = false
hum.PlatformStand = true
local js,js2 = Ragdoll(char,false,true)
--[[
knocked_t[hum] = true
table.insert(ragdolled,1,{knock = knock,hum = hum})
repeat wait(0.1) until not knocked_t[hum]
]]
while (15 >= hum.Health or (knock and knock.Parent)) and hum.Health > 0 do
hum.PlatformStand = true
wait(0.1)
end
for i,v in pairs(js) do v:Destroy(); end;
for i,v in pairs(js2) do if not v.obj:FindFirstChild("Dismembered") then v.obj.Parent = v.par; end; end;
for i,v in pairs(collision_limbs) do v:Destroy(); end;
if hum and 0 >= hum.Health then
hum.AutoRotate = false
hum.PlatformStand = true
Ragdoll(char,false,true,true)
return;
end;
for i,v in pairs(char:GetChildren()) do
if v:IsA("BasePart") or v:IsA("UnionOperation") then
game:GetService("PhysicsService"):SetPartCollisionGroup(v,"Default")
end
end
if pe then
pe.Enabled = false
game:GetService("Debris"):AddItem(pe,2)
end
if ar then
hum.AutoRotate = true
end
ragval:Destroy()
hum.Sit = false
hum.PlatformStand = false
torso.Velocity = Vector3.new()
end
end)
end
end
elseif mode == 15 and not hum:FindFirstChild("Stunned") then
if not attacking and not finishing and not carrying and not attacking2 and not knocked() and not toggling_dance and not toggling_katana and stamina >= 20 then else return end
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
dash(0.7,mode2)
elseif mode == 16 and not hum:FindFirstChild("Stunned") then
if not attacking and not finishing and not attacking2 and not carrying and not knocked() and not toggling_dance and not toggling_katana and not blocking2 and (anim ~= 'run') and (stamina >= 50) then else return end
attacking = true
attacking2 = true
dance(false)
hit_id = hit_id + 1
stamina_counter = 1
time_stop(0.6,hit_id)
attacking2 = false
attacking = false
end
end)
NLS([[
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character
local mouse = plr:GetMouse()
local remote = script.Parent
local started_dash_timer,can_dash = {},{}
function dash_timer(key)
spawn(function()
if not started_dash_timer[key] then else return end
started_dash_timer[key] = true
wait(0.2)
can_dash[key] = false
started_dash_timer[key] = false
end)
end
mouse.KeyDown:Connect(function(key)
if key == 'f' then
remote:FireServer(1,true)
elseif key == '2' then
remote:FireServer(2,true)
elseif key == 'e' then
remote:FireServer(4,true)
elseif key == 'r' then
remote:FireServer(5,true)
elseif key == 'c' then
remote:FireServer(6,true)
elseif key == 'g' then
remote:FireServer(7,true)
elseif key == 'q' then
remote:FireServer(8,true)
elseif key == 'v' then
remote:FireServer(10,true)
elseif key == 'b' then
remote:FireServer(11,true)
elseif key == 't' then
remote:FireServer(12,true)
elseif key == 'y' then
remote:FireServer(13,true)
elseif (key == 'w') or (key == 'a') or (key == 's') or (key == 'd') then
if can_dash[key] then
can_dash[key] = false
remote:FireServer(15,key)
else
can_dash[key] = true
dash_timer(key)
end
elseif key == 'x' then
remote:FireServer(16,true)
end
end)
mouse.KeyUp:Connect(function(key)
if key == 'f' then
remote:FireServer(1,false)
elseif key == '2' then
remote:FireServer(2,false)
elseif key == 'c' then
remote:FireServer(6,false)
elseif key == 't' then
remote:FireServer(12,false)
end
end)
mouse.Button1Down:Connect(function()
remote:FireServer(3,true)
end)
mouse.Button1Down:Connect(function()
remote:FireServer(3,false)
end)
function SetCharacterLocalTransparency(transparency)
for i,v in pairs(char:GetChildren()) do
if (v:IsA("BasePart") and v.Name ~= 'HumanoidRootPart' and v.Name ~= 'Torso' and v.Name ~= 'Head') then
v.LocalTransparencyModifier = transparency
end
end
end
hum = char:WaitForChild("Humanoid")
fallremote = script.Parent
pos = Vector3.new()
isFalling = false
hum.FreeFalling:Connect(function()
if not char:FindFirstChild("fallblock") then
local e = Instance.new("Part")
e.Name = "fallblock"
e.Anchored = true
e.CanCollide = false
e.Massless = true
e.Size = Vector3.new()
e.Transparency = 1
e.Parent = char
e.Position = char.Torso.Position
pos = e.Position
elseif char:FindFirstChild("fallblock") then
pos = char.fallblock.Position
end
end)
hum.Climbing:Connect(function()
isFalling = false
pos = Vector3.new()
end)
hum.StateChanged:Connect(function(state)
if state == Enum.HumanoidStateType.Landed then
if char:FindFirstChild("fallblock") then
char.fallblock:Destroy()
end
local mag = math.abs(pos.Y - char.Torso.Position.Y)
pos = Vector3.new()
if mag >= 8 then
remote:FireServer(14,mag)
end
elseif state == Enum.HumanoidStateType.Climbing then
pos = Vector3.new()
isFalling = false
end
end)
game:GetService("RunService").RenderStepped:Connect(function()
--remote:FireServer(9,mouse.Hit.p)
SetCharacterLocalTransparency(0);
end)
]],remote)
warn[[
== KrY's Combat Loaded ==
= Main Controls =
- R to Basic Finish
- X to Time Stop Finish
- T to Carry(Hold)
- B to Dance/Taunt
- C to Crouch
- Ctrl to Sprint
- Double tap W,A,S,D to dash
= Fist Controls =
- Click to Punch
- Q to Toggle Fists
- F to Block
- E to Kick
- V to Leg Sweep
- G to High Kick
= Alt Attack Variations =
- Punch(Click) while jumping
- Kick(E) while jumping
= Katana Controls =
- Click to Slice
- Y to Toggle katana
]]
game:GetService("RunService").Heartbeat:Connect(function()
if alive() and equipped then else
attacking = false;
attacking2 = false;
crouching = false;
falling = false;
sprinting = false;
sprinting2 = false;
blocking = false;
blocking2 = false;
carrying = false;
_blockingval.Parent = nil;
step_s:Stop()
return;
end;
sine = sine+0.1
local bodyvel = (rootpart.Velocity*Vector3.new(1,0,1)).magnitude
local fallvel = rootpart.Velocity.y
local hitfloor,posfloor=raycast(rootpart.Position,(CFrame.new(rootpart.Position,rootpart.Position - Vector3.new(0,1,0))).lookVector,4,{script,char})
local rightvector = (rootpart.Velocity * rootpart.CFrame.rightVector).X + (rootpart.Velocity * rootpart.CFrame.rightVector).Z
local lookvector = (rootpart.Velocity * rootpart.CFrame.lookVector).X + (rootpart.Velocity * rootpart.CFrame.lookVector).Z
if not attacking2 and sprinting and not crouching and stamina >= 0.1 then
sprinting2 = true
hum.WalkSpeed = 24
elseif not attacking2 and not crouching then
sprinting2 = false
hum.WalkSpeed = 16
elseif not attacking2 and crouching then
sprinting2 = false
hum.WalkSpeed = 8
end
local speed_val = hum.WalkSpeed/10
if 0.8 >= speed_val then
speed_val = 0.8
elseif speed_val > 2 then
speed_val = 2
end
if not hitfloor then
jumping = true
else
jumping = false
end
local k = knocked()
local a = alive()
if k or not a then
carrying = false
end
if k or carrying or not blocking or attacking or attacking2 or (25 > blockhealth) or (block_stun_cooldown > 0) then
blocking2 = false
_blockingval.Parent = nil
end
if not hitfloor and ((fallvel > 1) or (fallvel < -1)) then
falling = true
else
falling = false
end
if lookvector > hum.WalkSpeed then
lookvector = hum.WalkSpeed
end
if lookvector < -hum.WalkSpeed then
lookvector = -hum.WalkSpeed
end
if rightvector > hum.WalkSpeed then
rightvector = hum.WalkSpeed
end
if rightvector < -hum.WalkSpeed then
rightvector = -hum.WalkSpeed
end
local lookvel = lookvector / hum.WalkSpeed
local rightvel = rightvector / hum.WalkSpeed
local lookvel2 = lookvel
if lookvel2 > 0 then
lookvel2 = 1
elseif lookvel2 < 0 then
lookvel2 = -1
end
if hum:FindFirstChild("Stunned") then
blocking2 = false
_blockingval.Parent = nil
if dancing then
dance(false)
end
hum.WalkSpeed = 0
--change_stun_type()
local _anim_speed = anim_speed*1.5
if stun_type == 1 then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),_anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(10),math.rad(0),math.rad(10)),_anim_speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),_anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(-55)),_anim_speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),_anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(5),math.rad(25)),_anim_speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),_anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),_anim_speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),_anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),_anim_speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),_anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(0)),_anim_speed)
elseif stun_type == 2 then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),_anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(5),math.rad(0),math.rad(55)),_anim_speed)
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),_anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(10),math.rad(0),math.rad(-10)),_anim_speed)
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),_anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(5),math.rad(-25)),_anim_speed)
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),_anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(15)),_anim_speed)
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),_anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),_anim_speed)
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),_anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.Angles(math.rad(15),math.rad(0),math.rad(0)),_anim_speed)
end
return
end
if not k and not dancing and not finishing then
if fists and anim ~= 'run' then
if not blocking2 then
if enabled[ls] then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.new(-0.2,-0.1,0.2)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(120)),anim_speed)
end
if enabled[rs] then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.new(0.2,-0.1,0.2)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(-120)),anim_speed)
end
elseif blocking2 then
if enabled[ls] then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.new(-0.8,0.2,0.9)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(170)),anim_speed)
end
if enabled[rs] then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.new(0.8,0.2,0.9)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-170)),anim_speed)
end
end
elseif katana then
if not blocking2 then
_sheathe_weld.Parent = nil
_sheathe_weld2.Parent = Handle
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)
if anim ~= 'run' then
if enabled[ls] then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(3),math.rad(0),math.rad(-5)),anim_speed)
end
if enabled[rs] then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
--rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-45))*CFrame.new(-0.1,0,0.4),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(10),math.rad(25),math.rad(-15))*CFrame.new(-0.1,0,0),anim_speed)
end
elseif anim == 'run' then
if enabled[ls] then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(7),math.rad(0),math.rad(-25)),anim_speed)
end
if enabled[rs] then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
--rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-40))*CFrame.new(-0.1,0,0.1),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(35),math.rad(25),math.rad(-15))*CFrame.new(-0.1,0.2,0),anim_speed)
end
end
elseif blocking2 and anim ~= 'run' then
_sheathe_weld.Parent = Handle
_sheathe_weld2.Parent = nil
sheathe_weld2.C1 = CFrame.new(0, 0, 0, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 1)*CFrame.new(0,0.3,0)*CFrame.Angles(math.rad(90),math.rad(-88),math.rad(0))
if enabled[ls] then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-7),math.rad(15),math.rad(110))*CFrame.new(0,0,0),anim_speed)
end
if enabled[rs] then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(1),math.rad(20),math.rad(-80))*CFrame.new(0.3,0.1,0),anim_speed)
end
end
end
end
if (fallvel > 1) and falling and not k then
if dancing then
dance(false)
end
anim = 'jump'
if blocking and not carrying and not attacking and not attacking2 and not k and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = blocking
_blockingval.Parent = hum
end
if enabled[rh] then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(15))*CFrame.new(-0.5,-0.7,0),anim_speed/2)
end
if enabled[lh] then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))*CFrame.new(0.5,-0.7,0),anim_speed/2)
end
if enabled[rj] then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,0)*CFrame.Angles(math.rad(lookvel*-4),math.rad(rightvel*-4),math.rad(0)),anim_speed)
end
elseif (fallvel < -1) and falling and not k then
anim = 'fall'
if blocking and not carrying and not k and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = blocking
_blockingval.Parent = hum
end
if enabled[rh] then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-10))*CFrame.new(-0.2,-0.4,0),anim_speed/2)
end
if enabled[lh] then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(10))*CFrame.new(0.2,-0.4,0),anim_speed/2)
end
if enabled[rj] then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,0)*CFrame.Angles(math.rad(lookvel*-3),math.rad(rightvel*-4),math.rad(0)),anim_speed)
end
end
if bodyvel >= 1 and dancing then
dance(false)
end
if crouching and not k then
anim = 'crouch'
if blocking and not carrying and not attacking and not attacking2 and not k and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = blocking
_blockingval.Parent = hum
end
if enabled[ls] and not fists and not katana then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-1 * math.cos(sine*speed_val)),0,math.rad(-1 * math.cos(sine*speed_val))),anim_speed)
end
if enabled[rs] and not fists and not katana then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(1 * math.cos(sine*speed_val)),0,math.rad(-1 * math.cos(sine*speed_val))),anim_speed)
end
if enabled[neck] then
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
end
if enabled[rh] and not falling then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))*CFrame.new(-0.5,-1,0),anim_speed)
end
if enabled[lh] and not falling then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-75))*CFrame.new(0.5,0.2,0),anim_speed)
end
if enabled[rj] and not falling then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,-1),anim_speed)
end
end
if 0 >= bodyvel and not crouching then
anim = 'idle'
if blocking and not carrying and not attacking and not attacking2 and not k and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = blocking
_blockingval.Parent = hum
end
if enabled[ls] and not fists and not katana then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-1 * math.cos(sine*speed_val)),0,math.rad(-1 * math.cos(sine*speed_val))),anim_speed)
end
if enabled[rs] and not fists and not katana then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(1 * math.cos(sine*speed_val)),0,math.rad(-1 * math.cos(sine*speed_val))),anim_speed)
end
if enabled[neck] then
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
end
if enabled[rh] and not falling then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.new(0,-0.01 * math.cos(sine*speed_val),0),anim_speed)
end
if enabled[lh] and not falling then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.new(0,-0.01 * math.cos(sine*speed_val),0),anim_speed)
end
if enabled[rj] and not falling then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,-0.01 * math.cos(sine*speed_val)),anim_speed)
end
elseif bodyvel >= 1 and not k then
if sprinting2 and not crouching then
anim = 'run'
blocking2 = false
_blockingval.Parent = nil
stamina = stamina - 0.1
stamina_counter = 1
if enabled[ls] and not katana then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(lookvel*-15 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*80 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*-0.1 + 0.2 * math.cos(sine*speed_val),0,0),anim_speed)
end
if enabled[rs] and not katana then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(lookvel*15 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*80 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*0.1 - 0.2 * math.cos(sine*speed_val),0,0),anim_speed)
end
if enabled[neck] then
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
end
if enabled[rh] and not falling then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(rightvel*-2 + 4 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2 * -75 * math.sin(sine*speed_val)))*CFrame.new(lookvel2 * -0.3 + 0.6 * math.cos(sine*speed_val),lookvel2 * 0.2 - 0.4 * math.sin(sine*speed_val),0),anim_speed)
end
if enabled[lh] and not falling then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(rightvel*-2 - 4 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2 * -75 * math.sin(sine*speed_val)))*CFrame.new(lookvel2 * -0.3 + 0.6 * math.cos(sine*speed_val),lookvel2 * 0.2 + 0.4 * math.sin(sine*speed_val),0),anim_speed)
end
if enabled[rj] and not falling then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,-0.02+(0.02 * math.sin(sine*1.5*speed_val)))*CFrame.Angles(math.rad(lookvel*-15),math.rad(rightvel*-4),math.rad(0)),anim_speed)
end
else
if not crouching then
anim = 'walk'
end
if blocking and not carrying and not attacking and not attacking2 and not k and (blockhealth >= 25) and (0 >= block_stun_cooldown) then
blocking2 = blocking
_blockingval.Parent = hum
end
if enabled[ls] and not fists and not katana then
if not crouching then
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(lookvel*-7.5 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*40 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*-0.05 + 0.1 * math.cos(sine*speed_val),0,0),anim_speed)
else
ls.C0 = clerp(ls.C0,CFrame.new(-1,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
ls.C1 = clerp(ls.C1,CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-4 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel*20 * math.sin(sine*speed_val)))*CFrame.new(-0.025 * math.cos(sine*speed_val),0,0),anim_speed)
end
end
if enabled[rs] and not fists and not katana then
if not crouching then
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(lookvel*7.5 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*40 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*0.05 - 0.1 * math.cos(sine*speed_val),0,0),anim_speed)
else
rs.C0 = clerp(rs.C0,CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rs.C1 = clerp(rs.C1,CFrame.new(-.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(4 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel*20 * math.sin(sine*speed_val)))*CFrame.new(0.025 * math.cos(sine*speed_val),0,0),anim_speed)
end
end
if enabled[neck] and not crouching then
neck.C0 = clerp(neck.C0,CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
neck.C1 = clerp(neck.C1,CFrame.new(0,-.5,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
end
if enabled[rh] and not falling then
if not crouching then
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(-1 + 2 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2 * -30 * math.sin(sine*speed_val)))*CFrame.new(lookvel2 * -0.1 + 0.2 * math.cos(sine*speed_val),lookvel2 * 0.1 - 0.2 * math.sin(sine*speed_val),0),anim_speed)
else
rh.C0 = clerp(rh.C0,CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)),anim_speed)
rh.C1 = clerp(rh.C1,CFrame.new(.5,1,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))*CFrame.new(-0.5,-1,0)*CFrame.Angles(math.rad(rightvel*-0.5 + 1 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*-15 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*-0.025 + 0.05 * math.cos(sine*speed_val),lookvel2*0.025 - 0.05 * math.cos(sine*speed_val),0),anim_speed)
end
end
if enabled[lh] and not falling then
if not crouching then
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(-1 - 2 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2 * -30 * math.sin(sine*speed_val)))*CFrame.new(lookvel2 * -0.1 + 0.2 * math.cos(sine*speed_val),lookvel2 * 0.1 + 0.2 * math.sin(sine*speed_val),0),anim_speed)
else
lh.C0 = clerp(lh.C0,CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),anim_speed)
lh.C1 = clerp(lh.C1,CFrame.new(-.5,1,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-75))*CFrame.new(0.5,0.2,0)*CFrame.Angles(math.rad(rightvel*-0.5 - 1 * math.sin(sine*speed_val)),math.rad(0),math.rad(lookvel2*-15 * math.sin(sine*speed_val)))*CFrame.new(lookvel2*0.025 + 0.05 * math.cos(sine*speed_val),lookvel2*-0.025 + 0.05 * math.cos(sine*speed_val),0),anim_speed)
end
end
if enabled[rj] and not falling then
rj.C0 = clerp(rj.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0)),anim_speed)
if not crouching then
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,-0.025+(0.025 * math.sin(sine*1.5*speed_val)))*CFrame.Angles(math.rad(lookvel*-5),math.rad(rightvel*-2),math.rad(0)),anim_speed)
else
rj.C1 = clerp(rj.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-90),math.rad(-180),math.rad(0))*CFrame.new(0,0,-1+(-0.025+(0.025 * math.sin(sine*speed_val))))*CFrame.Angles(math.rad(lookvel*-1),math.rad(rightvel*-0.4),math.rad(0)),anim_speed)
end
end
end
end
end)