Skip to content
RoRoScripts
UnknownUniversal

Super knife

Script
Views
428
Likes
0
Dislikes
0
Added
Script
local Players    = game:GetService("Players")
local RS         = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local UIS        = game:GetService("UserInputService")
local Debris     = game:GetService("Debris")
local Tween      = game:GetService("TweenService")
local LP         = Players.LocalPlayer
local mouse      = LP:GetMouse()

local tool = Instance.new("Tool")
tool.Name = "SuperKnife2000"
tool.RequiresHandle = true
tool.CanBeDropped = false
tool.Grip = CFrame.new(0, -0.2, -0.1) * CFrame.Angles(math.rad(-90), 0, 0)

local function makePart(name, size, color, material, parentPart, c0, shape, parent)
	local p = Instance.new("Part")
	p.Name = name
	p.Size = size
	p.Color = color
	p.Material = material
	p.CanCollide = false
	p.Massless = true
	p.TopSurface = Enum.SurfaceType.Smooth
	p.BottomSurface = Enum.SurfaceType.Smooth
	if shape then p.Shape = shape end
	p.Parent = parent or tool

	if parentPart then
		local w = Instance.new("Weld")
		w.Part0 = parentPart
		w.Part1 = p
		w.C0 = c0 or CFrame.new()
		w.Parent = parentPart
	end
	return p
end

local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(0.30, 0.30, 0.95)
handle.Color = Color3.fromRGB(30, 17, 9)
handle.Material = Enum.Material.Wood
handle.CanCollide = false
handle.Massless = true
handle.Parent = tool

for face = 1, 8 do
	for seg = 1, 24 do
		local angle = (face - 1) * math.rad(45)
		local z = -0.44 + seg * 0.037
		local shade = 25 + (seg % 5) * 6
		local offset = CFrame.new(0, 0, z) * CFrame.Angles(0, angle, 0) * CFrame.new(0, 0.155, 0)
		makePart("Plank", Vector3.new(0.13, 0.03, 0.035),
			Color3.fromRGB(shade, shade - 10, shade - 20),
			Enum.Material.Wood, handle, offset)
	end
end

for face = 1, 8 do
	for ring = 1, 14 do
		local angle = (face - 1) * math.rad(45)
		local z = -0.4 + ring * 0.056
		local offset = CFrame.new(0, 0, z) * CFrame.Angles(0, angle, 0) * CFrame.new(0, 0.17, 0) * CFrame.Angles(math.rad(14), 0, 0)
		makePart("Wrap", Vector3.new(0.14, 0.022, 0.026),
			Color3.fromRGB(12, 6, 3), Enum.Material.Fabric, handle, offset)
	end
end

for face = 1, 8 do
	for xi = -3, 3 do
		for zi = -3, 3 do
			local angle = (face - 1) * math.rad(45)
			local offset = CFrame.new(0, 0, zi * 0.07) * CFrame.Angles(0, angle, 0)
				* CFrame.new(xi * 0.026, 0.152, 0)
				* CFrame.Angles(math.rad(45), 0, math.rad(45))
			makePart("Knurl", Vector3.new(0.014, 0.014, 0.014),
				Color3.fromRGB(14, 8, 4), Enum.Material.Metal, handle, offset)
		end
	end
end

for face = 1, 8 do
	for i = 1, 4 do
		local angle = (face - 1) * math.rad(45)
		local offset = CFrame.new(0, 0, -0.3 + i * 0.18) * CFrame.Angles(0, angle, 0) * CFrame.new(0, 0.15, 0)
		makePart("Rib", Vector3.new(0.08, 0.018, 0.14),
			Color3.fromRGB(60, 40, 22), Enum.Material.Wood, handle, offset)
	end
end

for i = 1, 20 do
	local z = -0.44 + i * 0.044
	makePart("Ring", Vector3.new(0.33, 0.33, 0.010),
		Color3.fromRGB(16, 9, 4), Enum.Material.Fabric, handle, CFrame.new(0, 0, z))
end

local pommelBase = makePart("PommelBase", Vector3.new(0.42, 0.42, 0.12),
	Color3.fromRGB(85, 85, 95), Enum.Material.Metal, handle, CFrame.new(0, 0, 0.52))

for i = 1, 16 do
	local a = math.rad(i * 22.5)
	makePart("PommelFacet", Vector3.new(0.04, 0.38, 0.14),
		Color3.fromRGB(120, 120, 130), Enum.Material.Metal, pommelBase,
		CFrame.new(math.cos(a) * 0.19, math.sin(a) * 0.19, 0) * CFrame.Angles(0, 0, a))
end

makePart("PommelRing", Vector3.new(0.44, 0.44, 0.02),
	Color3.fromRGB(160, 140, 55), Enum.Material.Metal, pommelBase, CFrame.new(0, 0, 0.065))

local bolt = makePart("Bolt", Vector3.new(0.16, 0.12, 0.12),
	Color3.fromRGB(180, 180, 190), Enum.Material.Metal, pommelBase, CFrame.new(0, 0, 0.10))
makePart("BoltCore", Vector3.new(0.07, 0.14, 0.14),
	Color3.fromRGB(60, 60, 70), Enum.Material.Metal, bolt, CFrame.new(0, 0, 0.01))

for i = 1, 24 do
	local a = math.rad(i * 15)
	makePart("Rivet", Vector3.new(0.028, 0.028, 0.028),
		Color3.fromRGB(200, 200, 210), Enum.Material.Metal, pommelBase,
		CFrame.new(math.cos(a) * 0.15, math.sin(a) * 0.15, 0.07), Enum.PartType.Ball)
end

makePart("PommelCap", Vector3.new(0.34, 0.34, 0.02),
	Color3.fromRGB(140, 140, 150), Enum.Material.Metal, pommelBase, CFrame.new(0, 0, -0.065))

for i = 1, 40 do
	local a = math.rad(i * 9)
	makePart("PommelEngrave", Vector3.new(0.018, 0.006, 0.006),
		Color3.fromRGB(60, 60, 70), Enum.Material.Metal, pommelBase,
		CFrame.new(math.cos(a) * 0.17, math.sin(a) * 0.17, -0.07), Enum.PartType.Ball)
end

local guardPlate = makePart("GuardPlate", Vector3.new(1.0, 0.18, 0.18),
	Color3.fromRGB(170, 150, 55), Enum.Material.Metal, handle, CFrame.new(0, 0, -0.48))

makePart("GuardTop", Vector3.new(1.0, 0.04, 0.08),
	Color3.fromRGB(215, 190, 85), Enum.Material.Metal, guardPlate, CFrame.new(0, 0.11, 0))
makePart("GuardBot", Vector3.new(1.0, 0.04, 0.08),
	Color3.fromRGB(215, 190, 85), Enum.Material.Metal, guardPlate, CFrame.new(0, -0.11, 0))

for i = 1, 80 do
	local x = -0.48 + (i - 1) * 0.0122
	makePart("GuardNotch", Vector3.new(0.008, 0.21, 0.05),
		Color3.fromRGB(130, 110, 40), Enum.Material.Metal, guardPlate, CFrame.new(x, 0, 0))
end

for i = 1, 4 do
	local xS = (i <= 2) and 1 or -1
	local yS = (i % 2 == 1) and 1 or -1
	makePart("GuardCorner", Vector3.new(0.10, 0.10, 0.10),
		Color3.fromRGB(200, 180, 80), Enum.Material.Metal, guardPlate,
		CFrame.new(xS * 0.48, yS * 0.10, 0))
	makePart("GuardRivet", Vector3.new(0.03, 0.03, 0.03),
		Color3.fromRGB(220, 200, 100), Enum.Material.Metal, guardPlate,
		CFrame.new(xS * 0.32, yS * 0.07, 0), Enum.PartType.Ball)
end

makePart("GuardStud", Vector3.new(0.22, 0.22, 0.22),
	Color3.fromRGB(190, 170, 70), Enum.Material.Metal, guardPlate, CFrame.new(0, 0, 0))
makePart("GuardCore", Vector3.new(0.10, 0.26, 0.26),
	Color3.fromRGB(140, 120, 40), Enum.Material.Metal, guardPlate, CFrame.new(0, 0, 0), Enum.PartType.Cylinder)

for i = 1, 48 do
	local x = -0.47 + (i - 1) * 0.02
	makePart("GuardTooth", Vector3.new(0.014, 0.06, 0.06),
		Color3.fromRGB(215, 190, 85), Enum.Material.Metal, guardPlate, CFrame.new(x, 0.14, 0))
end

local bladeRoot = makePart("BladeRoot", Vector3.new(0.14, 0.08, 1.5),
	Color3.fromRGB(228, 230, 238), Enum.Material.Metal, handle, CFrame.new(0, 0.055, -1.35))

for seg = 1, 50 do
	local t = seg / 50
	local width  = 0.135 - t * 0.08
	local height = 0.075  - t * 0.042
	local z = -0.08 - seg * 0.029

	local center = makePart("BladeSeg", Vector3.new(width, height, 0.03),
		Color3.fromRGB(218 + seg * 2, 222 + seg * 2, 234 + seg * 2),
		Enum.Material.Metal, bladeRoot, CFrame.new(0, 0, z))

	makePart("BladeTop", Vector3.new(width, 0.012, 0.03),
		Color3.fromRGB(200, 205, 215), Enum.Material.Metal, center, CFrame.new(0, height / 2, 0))

	local cut = makePart("BladeCut", Vector3.new(width + 0.006, 0.010, 0.03),
		Color3.fromRGB(255, 255, 255), Enum.Material.Glass, center, CFrame.new(0, -height / 2, 0))
	cut.Transparency = 0.05

	makePart("BladeSideL", Vector3.new(0.008, height, 0.03),
		Color3.fromRGB(180, 185, 195), Enum.Material.Metal, center, CFrame.new(-width / 2, 0, 0))
	makePart("BladeSideR", Vector3.new(0.008, height, 0.03),
		Color3.fromRGB(180, 185, 195), Enum.Material.Metal, center, CFrame.new(width / 2, 0, 0))
end

for i = 1, 50 do
	local z = -0.15 - i * 0.029
	makePart("Fuller", Vector3.new(0.045, 0.010, 0.025),
		Color3.fromRGB(120, 125, 135), Enum.Material.Metal, bladeRoot, CFrame.new(0, 0.025, z))
end

for i = 1, 25 do
	local z = -0.2 - i * 0.055
	makePart("Tooth", Vector3.new(0.05, 0.09, 0.04),
		Color3.fromRGB(180, 182, 192), Enum.Material.Metal, bladeRoot,
		CFrame.new(0, 0.07, z) * CFrame.Angles(math.rad(-18), 0, 0))
end

for i = 1, 70 do
	local z = -0.2 - i * 0.019
	makePart("Serrate", Vector3.new(0.06, 0.025, 0.015),
		Color3.fromRGB(200, 205, 215), Enum.Material.Metal, bladeRoot,
		CFrame.new(0, -0.055, z) * CFrame.Angles(math.rad(30), 0, 0))
end

local tipBase = makePart("TipBase", Vector3.new(0.08, 0.05, 0.16),
	Color3.fromRGB(235, 238, 245), Enum.Material.Metal, bladeRoot, CFrame.new(0, 0, -1.55))
local tipMid = makePart("TipMid", Vector3.new(0.06, 0.04, 0.12),
	Color3.fromRGB(240, 242, 250), Enum.Material.Metal, tipBase, CFrame.new(0, 0, -0.11))
local tipEnd = makePart("TipEnd", Vector3.new(0.04, 0.03, 0.09),
	Color3.fromRGB(245, 248, 255), Enum.Material.Metal, tipMid, CFrame.new(0, 0, -0.08))
local tipPoint = makePart("TipPoint", Vector3.new(0.02, 0.02, 0.05),
	Color3.fromRGB(255, 255, 255), Enum.Material.Glass, tipEnd, CFrame.new(0, 0, -0.05))
tipPoint.Transparency = 0.05

for i = 1, 50 do
	local z = -0.5 - i * 0.025
	makePart("Engrave", Vector3.new(0.09, 0.004, 0.006),
		Color3.fromRGB(85, 90, 100), Enum.Material.Metal, bladeRoot, CFrame.new(0, -0.038, z))
end

for i = 1, 20 do
	local z = -0.55 - i * 0.045
	makePart("Groove", Vector3.new(0.06, 0.006, 0.012),
		Color3.fromRGB(60, 0, 0), Enum.Material.Metal, bladeRoot, CFrame.new(0, -0.03, z))
end

local partCount = 0
for _, v in ipairs(tool:GetDescendants()) do
	if v:IsA("BasePart") then partCount += 1 end
end
print("[SUPER KNIFE v7] Блоков в ноже:", partCount)

tool.Parent = LP:WaitForChild("Backpack")

local fx = workspace:FindFirstChild("KnifeFX") or Instance.new("Folder")
fx.Name = "KnifeFX"
fx.Parent = workspace

local function bloodDrops(pos, count, force, spread)
	count  = count or 120
	force  = force or 1
	spread = spread or 120
	for i = 1, count do
		local drop = Instance.new("Part")
		drop.Shape = Enum.PartType.Ball
		drop.Size = Vector3.new(math.random(4,14)/100, math.random(4,14)/100, math.random(4,14)/100)
		drop.Color = Color3.fromRGB(math.random(60, 160), 0, 0)
		drop.Material = Enum.Material.SmoothPlastic
		drop.CanCollide = false
		drop.Position = pos + Vector3.new(math.random(-15,15)/100, math.random(-15,15)/100, math.random(-15,15)/100)
		drop.Parent = fx

		local bv = Instance.new("BodyVelocity")
		bv.Velocity = Vector3.new(
			math.random(-spread, spread) / 100 * force,
			math.random(30, 160) / 100 * force,
			math.random(-spread, spread) / 100 * force)
		bv.MaxForce = Vector3.new(1e5, 1e5, 1e5)
		bv.Parent = drop

		task.delay(math.random(6,14)/10, function()
			if drop.Parent then
				local stain = Instance.new("Part")
				stain.Shape = Enum.PartType.Cylinder
				stain.Size = Vector3.new(0.02, math.random(4,10)/10, math.random(4,10)/10)
				stain.Color = Color3.fromRGB(math.random(50, 110), 0, 0)
				stain.Material = Enum.Material.SmoothPlastic
				stain.CanCollide = false
				stain.Anchored = true
				stain.CFrame = CFrame.new(drop.Position) * CFrame.Angles(0, 0, math.rad(90))
				stain.Parent = fx
				Debris:AddItem(stain, 60)
			end
		end)

		Debris:AddItem(drop, 3)
	end
end

local function bloodSprayWalls(pos, radius)
	radius = radius or 25
	for i = 1, 16 do
		local dir = Vector3.new(math.random(-100,100), math.random(-30,60), math.random(-100,100)).Unit
		local ray = Ray.new(pos, dir * radius)
		local hit, hitPos, normal = workspace:FindPartOnRay(ray, LP.Character)
		if hit then
			local splat = Instance.new("Part")
			splat.Size = Vector3.new(math.random(4,12)/10, 0.05, math.random(4,12)/10)
			splat.Color = Color3.fromRGB(math.random(60, 130), 0, 0)
			splat.Material = Enum.Material.SmoothPlastic
			splat.CanCollide = false
			splat.Anchored = true
			splat.CFrame = CFrame.new(hitPos + normal * 0.05, hitPos + normal) * CFrame.Angles(0, 0, math.random()*math.pi)
			splat.Parent = fx
			Debris:AddItem(splat, 40)
		end
	end
end

local function bloodJet(pos, duration, force)
	duration = duration or 5
	force    = force or 1

	local jet = Instance.new("Part")
	jet.Size = Vector3.new(0.2, 0.2, 0.2)
	jet.Shape = Enum.PartType.Ball
	jet.Color = Color3.fromRGB(90, 0, 0)
	jet.Material = Enum.Material.Neon
	jet.CanCollide = false
	jet.Anchored = true
	jet.Transparency = 1
	jet.Position = pos
	jet.Parent = fx

	local e1 = Instance.new("ParticleEmitter")
	e1.Texture = "rbxassetid://243098098"
	e1.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0, Color3.fromRGB(180, 10, 10)),
		ColorSequenceKeypoint.new(0.5, Color3.fromRGB(120, 0, 0)),
		ColorSequenceKeypoint.new(1, Color3.fromRGB(60, 0, 0))}
	e1.Size = NumberSequence.new{
		NumberSequenceKeypoint.new(0, 0.40 * force),
		NumberSequenceKeypoint.new(1, 0.06)}
	e1.Transparency = NumberSequence.new{
		NumberSequenceKeypoint.new(0, 0.02),
		NumberSequenceKeypoint.new(1, 1)}
	e1.Lifetime = NumberRange.new(0.9, 1.8)
	e1.Speed = NumberRange.new(12 * force, 26 * force)
	e1.SpreadAngle = Vector2.new(22, 22)
	e1.Rate = 180
	e1.Acceleration = Vector3.new(0, -55, 0)
	e1.LightEmission = 0.35
	e1.Parent = jet

	local e2 = Instance.new("ParticleEmitter")
	e2.Texture = "rbxassetid://243098098"
	e2.Color = ColorSequence.new(Color3.fromRGB(200, 20, 20))
	e2.Size = NumberSequence.new(0.08)
	e2.Transparency = NumberSequence.new{
		NumberSequenceKeypoint.new(0, 0.05),
		NumberSequenceKeypoint.new(1, 1)}
	e2.Lifetime = NumberRange.new(0.4, 0.9)
	e2.Speed = NumberRange.new(20 * force, 40 * force)
	e2.SpreadAngle = Vector2.new(60, 60)
	e2.Rate = 140
	e2.Acceleration = Vector3.new(0, -70, 0)
	e2.Parent = jet

	local e3 = Instance.new("ParticleEmitter")
	e3.Texture = "rbxassetid://243098098"
	e3.Color = ColorSequence.new(Color3.fromRGB(80, 0, 0))
	e3.Size = NumberSequence.new(0.5)
	e3.Transparency = NumberSequence.new{
		NumberSequenceKeypoint.new(0, 0.1),
		NumberSequenceKeypoint.new(1, 1)}
	e3.Lifetime = NumberRange.new(1.2, 2.2)
	e3.Speed = NumberRange.new(6 * force, 14 * force)
	e3.SpreadAngle = Vector2.new(30, 30)
	e3.Rate = 60
	e3.Acceleration = Vector3.new(0, -40, 0)
	e3.Parent = jet

	task.delay(duration, function()
		e1.Rate, e2.Rate, e3.Rate = 0, 0, 0
		Debris:AddItem(jet, 2)
	end)
end

local function puddle(pos, sizeMax)
	local ray = Ray.new(pos + Vector3.new(0, 2, 0), Vector3.new(0, -20, 0))
	local hit, hitPos = workspace:FindPartOnRay(ray, LP.Character)
	local groundY = hit and hitPos.Y or (pos.Y - 2.5)

	for layer = 1, 3 do
		local p = Instance.new("Part")
		p.Shape = Enum.PartType.Cylinder
		p.Size = Vector3.new(0.02, 0.3 + layer * 0.1, 0.3 + layer * 0.1)
		p.Color = Color3.fromRGB(60 + layer * 8, 0, 0)
		p.Material = Enum.Material.Glass
		p.Transparency = 0.15 + layer * 0.08
		p.CanCollide = false
		p.Anchored = true
		p.CFrame = CFrame.new(Vector3.new(pos.X, groundY + 0.02 + layer * 0.01, pos.Z)) * CFrame.Angles(0, 0, math.rad(90))
		p.Parent = fx

		local maxSz = (sizeMax or math.random(40, 80) / 10) + layer * 0.4
		Tween:Create(p, TweenInfo.new(8, Enum.EasingStyle.Quad), {
			Size = Vector3.new(0.02, maxSz, maxSz)}):Play()
		Debris:AddItem(p, 100)
	end
end

local function spawnOrgan(pos, kind)
	local organ = Instance.new("Model")
	organ.Name = kind
	organ.Parent = workspace

	if kind == "Heart" then
		for i = 1, 40 do
			local b = Instance.new("Part")
			b.Shape = Enum.PartType.Ball
			b.Size = Vector3.new(math.random(4,9)/100, math.random(4,9)/100, math.random(4,9)/100)
			b.Color = Color3.fromRGB(math.random(120,170), math.random(10,40), math.random(10,40))
			b.Material = Enum.Material.SmoothPlastic
			b.CanCollide = true
			b.CFrame = CFrame.new(pos) * CFrame.new((math.random()-.5)*.25,(math.random()-.5)*.25,(math.random()-.5)*.25)
			b.Parent = organ
			local bv = Instance.new("BodyVelocity")
			bv.Velocity = Vector3.new(math.random(-30,30)/10, math.random(20,60)/10, math.random(-30,30)/10)
			bv.Parent = b
			Debris:AddItem(b, 25)
		end

	elseif kind == "Brain" then
		for i = 1, 180 do
			local b = Instance.new("Part")
			b.Shape = Enum.PartType.Ball
			b.Size = Vector3.new(math.random(3,7)/100, math.random(3,7)/100, math.random(3,7)/100)
			b.Color = Color3.fromRGB(math.random(190,230), math.random(130,170), math.random(160,190))
			b.Material = Enum.Material.SmoothPlastic
			b.CanCollide = true
			local theta = math.random() * math.pi * 2
			local phi = math.random() * math.pi
			local r = math.random() * 0.2
			b.CFrame = CFrame.new(pos + Vector3.new(
				math.sin(phi)*math.cos(theta)*r,
				math.sin(phi)*math.sin(theta)*r,
				math.cos(phi)*r))
			b.Parent = organ
			local bv = Instance.new("BodyVelocity")
			bv.Velocity = Vector3.new(math.random(-40,40)/10, math.random(10,70)/10, math.random(-40,40)/10)
			bv.Parent = b
			Debris:AddItem(b, 25)
		end

	elseif kind == "Intestines" then
		for i = 1, 220 do
			local b = Instance.new("Part")
			b.Size = Vector3.new(math.random(4,8)/100, math.random(4,8)/100, math.random(4,8)/100)
			b.Color = Color3.fromRGB(math.random(180,220), math.random(120,160), math.random(150,180))
			b.Material = Enum.Material.SmoothPlastic
			b.CanCollide = true
			local t = i / 220
			b.CFrame = CFrame.new(pos) * CFrame.new(math.sin(t*22)*0.35, -t*0.45, math.cos(t*22)*0.35)
			b.Parent = organ
			Debris:AddItem(b, 25)
		end

	elseif kind == "Lungs" then
		for i = 1, 80 do
			local b = Instance.new("Part")
			b.Shape = Enum.PartType.Ball
			b.Size = Vector3.new(math.random(4,8)/100, math.random(4,8)/100, math.random(4,8)/100)
			b.Color = Color3.fromRGB(math.random(180,210), math.random(140,170), math.random(150,180))
			b.Material = Enum.Material.SmoothPlastic
			b.CanCollide = true
			b.CFrame = CFrame.new(pos) * CFrame.new((math.random()-.5)*.35,(math.random()-.5)*.3,(math.random()-.5)*.35)
			b.Parent = organ
			Debris:AddItem(b, 25)
		end

	elseif kind == "Liver" then
		for i = 1, 60 do
			local b = Instance.new("Part")
			b.Size = Vector3.new(math.random(5,9)/100, math.random(5,9)/100, math.random(5,9)/100)
			b.Color = Color3.fromRGB(math.random(120,160), math.random(40,70), math.random(30,60))
			b.Material = Enum.Material.SmoothPlastic
			b.CanCollide = true
			b.CFrame = CFrame.new(pos) * CFrame.new((math.random()-.5)*.3,(math.random()-.5)*.25,(math.random()-.5)*.3)
			b.Parent = organ
			Debris:AddItem(b, 25)
		end

	elseif kind == "Skull" then
		for i = 1, 30 do
			local a = math.rad(i * 12)
			local b = Instance.new("Part")
			b.Shape = Enum.PartType.Ball
			b.Size = Vector3.new(5/100, 5/100, 5/100)
			b.Color = Color3.fromRGB(230, 225, 210)
			b.Material = Enum.Material.Sand
			b.CanCollide = true
			b.CFrame = CFrame.new(pos + Vector3.new(math.cos(a)*.16, math.sin(a)*.16, 0))
			b.Parent = organ
			Debris:AddItem(b, 30)
		end
		for i = 1, 20 do
			local b = Instance.new("Part")
			b.Size = Vector3.new(4/100, 6/100, 5/100)
			b.Color = Color3.fromRGB(220, 215, 200)
			b.Material = Enum.Material.Sand
			b.CanCollide = true
			b.CFrame = CFrame.new(pos + Vector3.new(-0.15+i*0.015, -0.16, 0))
			b.Parent = organ
			Debris:AddItem(b, 30)
		end
	end

	local sound = Instance.new("Sound")
	sound.SoundId = "rbxassetid://9120386436"
	sound.Volume = 1
	sound.Parent = organ
	sound:Play()
	Debris:AddItem(organ, 25)
end

local function severLimb(char, limbName, force)
	local limb = char:FindFirstChild(limbName)
	if not limb then return end
	local origin = limb.Position
	limb.Parent = workspace
	limb.CanCollide = true
	limb.Anchored = false
	limb.Massless = false
	limb.Velocity = Vector3.new(
		math.random(-60,60)/10, math.random(70,150)/10, math.random(-60,60)/10) * (force or 1)
	limb.RotVelocity = Vector3.new(
		math.random(-50,50)/10, math.random(-50,50)/10, math.random(-50,50)/10)
	limb.Color = Color3.fromRGB(math.random(60,110), 0, 0)
	Debris:AddItem(limb, 20)
	bloodJet(origin, 4, 1.0)
	bloodDrops(origin, 80, 1.3, 120)
	bloodSprayWalls(origin, 20)
end

local function dismember(victim)
	if not victim or not victim.Character then return end
	local char = victim.Character
	local hum  = char:FindFirstChildOfClass("Humanoid")
	local hrp  = char:FindFirstChild("HumanoidRootPart")
	local head = char:FindFirstChild("Head")
	if not hrp then return end

	for _, m in ipairs(char:GetDescendants()) do
		if m:IsA("Motor6D") or m:IsA("Weld") or m:IsA("JointInstance") then m:Destroy() end
	end

	local neckPos = head and head.Position or (hrp.Position + Vector3.new(0, 1.5, 0))

	spawnOrgan(neckPos, "Skull")
	spawnOrgan(neckPos + Vector3.new(0, 0.3, 0), "Brain")

	severLimb(char, "Head", 1.6)
	task.wait(0.06)
	severLimb(char, "Left Arm", 1.4)
	severLimb(char, "Right Arm", 1.4)
	task.wait(0.06)
	severLimb(char, "Left Leg", 1.2)
	severLimb(char, "Right Leg", 1.2)
	task.wait(0.06)
	for _, n in ipairs({"LeftHand","RightHand","LeftFoot","RightFoot"}) do
		severLimb(char, n, 1.0)
	end

	spawnOrgan(hrp.Position + Vector3.new(0, -0.3, 0), "Intestines")
	spawnOrgan(hrp.Position + Vector3.new(0, 0.2, 0), "Heart")
	spawnOrgan(hrp.Position + Vector3.new(0.3, 0.3, 0), "Lungs")
	spawnOrgan(hrp.Position + Vector3.new(-0.3, 0, 0), "Liver")

	bloodJet(neckPos, 8, 2.0)
	bloodDrops(neckPos, 250, 1.8, 200)
	bloodSprayWalls(neckPos, 30)

	local stump = Instance.new("Part")
	stump.Size = Vector3.new(0.6, 0.45, 0.6)
	stump.Color = Color3.fromRGB(100, 5, 5)
	stump.Material = Enum.Material.SmoothPlastic
	stump.CanCollide = false	stump.Anchored = true
	stump.Position = neckPos
	stump.Parent = fx
	Debris:AddItem(stump, 25)

	task.spawn(function()
		for i = 1, 20 do
			puddle(hrp.Position + Vector3.new(math.random(-35,35)/10, 0, math.random(-35,35)/10))
			task.wait(0.25)
		end
	end)

	task.spawn(function()
		for i = 1, 40 do
			for _, name in ipairs({"Head","Left Arm","Right Arm","Left Leg","Right Leg"}) do
				local part = workspace:FindFirstChild(name)
				if part and part.Parent then
					bloodDrops(part.Position, 3, 0.5, 30)
				end
			end
			task.wait(0.08)
		end
	end)

	if hum then hum.Health = 0 end
end

local equipped, grabbed, clickCount, lastClick = false, nil, 0, 0

local slice = Instance.new("Sound")
slice.SoundId = "rbxassetid://9120386436"
slice.Volume = 0.9
slice.Parent = tool

local squish = Instance.new("Sound")
squish.SoundId = "rbxassetid://4736035390"
squish.Volume = 1.2
squish.Parent = tool

tool.Equipped:Connect(function() equipped = true end)
tool.Unequipped:Connect(function()
	equipped = false
	if grabbed and grabbed.Character then
		local h = grabbed.Character:FindFirstChildOfClass("Humanoid")
		if h then h.WalkSpeed = 16; h.JumpPower = 50 end
	end
	grabbed, clickCount = nil, 0
end)

mouse.Button1Down:Connect(function()
	if not equipped then return end
	local tgt = mouse.Target
	if not tgt then return end
	local ch = tgt:FindFirstAncestorOfClass("Model")
	if not ch then return end
	local plr = Players:GetPlayerFromCharacter(ch)
	if not plr or plr == LP then return end

	local now = tick()
	if now - lastClick > 1.2 then clickCount = 0 end
	lastClick = now
	clickCount += 1

	if clickCount == 1 then
		grabbed = plr
		local myH = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")
		local tH = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
		if myH and tH then
			local look = CFrame.new(myH.Position, tH.Position)
			myH.CFrame = CFrame.new(myH.Position) * (look - look.Position)
		end
	elseif clickCount == 2 then
		slice:Play()
	elseif clickCount >= 3 then
		slice:Play()
		squish:Play()
		dismember(plr)
		clickCount, grabbed = 0, nil
	end
end)

RunService.Heartbeat:Connect(function()
	if not grabbed or not grabbed.Character then return end
	local myH = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")
	local vH = grabbed.Character:FindFirstChild("HumanoidRootPart")
	if not myH or not vH then return end
	local np = myH.Position + myH.CFrame.LookVector * 2.2
	vH.CFrame = CFrame.new(np, np + myH.CFrame.LookVector)
end)

UIS.InputBegan:Connect(function(input, gpe)
	if gpe then return end
	if input.KeyCode == Enum.KeyCode.Q and grabbed then
		local h = grabbed.Character and grabbed.Character:FindFirstChildOfClass("Humanoid")
		if h then h.WalkSpeed = 16; h.JumpPower = 50 end
		grabbed, clickCount = nil, 0
	end
end)

print("[SUPER KNIFE v7] Готов. Блоков:", partCount, "| ЛКМ x3 = расчленение с органами | Q = отпустить.")

Features

  • Knife visual and blood effective
Super knife · RoScripts