Here's A Video Of What I Have:

https://storage.cloudconvert.com/tasks/f75a7de7-7139-4137-98a1-40c8141d75fa/2022-07-25_15-29-51%20%281%29.mp4?AWSAccessKeyId=cloudconvert-production&Expires=1658873794&Signature=zJ3rxuayzjNRWn6o6p7hSlTSUMg%3D&response-content-disposition=inline%3B%20filename%3D%222022-07-25_15-29-51%20%281%29.mp4%22&response-content-type=video%2Fmp4

And What I Need Is To Put A Part Where The Blue Spheres Hit With The Hits Correct Orientation.

wait()
--// Services:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local Debris = game:GetService("Debris")
--// Character:
local Character = script.Parent
local PrimaryPart = Character.PrimaryPart
local Humanoid = Character:WaitForChild("Humanoid")
--// Variables:
local GibModels = ReplicatedStorage:WaitForChild("Gib Models")
local PartGibs = GibModels:WaitForChild("Parts")
local HeadGibs = GibModels:WaitForChild("Head")
local ArmsGibs = GibModels:WaitForChild("Arms")
--// Functions:
local function StartBleed(Part)
	if Character:FindFirstChild(Part) then
		if Character[Part]:FindFirstChild("Stage") then
			--// Variables:
			local Limb = Character[Part]
			local Stage = Limb["Stage"]
			local Attach = Stage["Spawn"]
			local DropAmount = 5 --math.random(18,22)
			for count = 1, DropAmount do
				if Character[Part]:FindFirstChild("Stage") then
					--// Creating Dropplet:
					local Dropplet = PartGibs:WaitForChild("Dropplet"):Clone()
					if game.Workspace:FindFirstChild("Debris") then
						Dropplet.Parent = game.Workspace["Debris"]
					else
						Dropplet.Parent = game.Workspace
					end
					Dropplet.CFrame = Attach.WorldCFrame
					--// Creating Force:
					local ForceVector = Instance.new("VectorForce",Dropplet)
					ForceVector.Attachment0 = Dropplet["A0"]
					local MaxForce = 5
					local Offset = Vector3.new(math.random(-1,1)*MaxForce,0,math.random(-1,1)*MaxForce)
					ForceVector.Force = Offset
					Debris:AddItem(ForceVector)
					Debris:AddItem(Dropplet,18)
					Dropplet.Touched:Connect(function(Model)
						--Debris:AddItem(Dropplet,0.5)
						--// Variables:
						local NAME = Model.Name
						--// IgnoreList:
						if NAME == "Handle" or NAME == "Puddle" or NAME == "Dropplet" or NAME == "Stage" or NAME == "Inside" then return end
						if Model.Parent:FindFirstChild("Humanoid") or Model.Parent.Parent:FindFirstChild("Humanoid") then return end
						if Model.Parent:FindFirstChild("Handle") or Model.Parent.Parent:FindFirstChild("Handle") then return end
						if Model.CanCollide == false or Model.Transparency == 1 or Model.Transparency == 0.99 then return end
						--// Dropplet:
						Dropplet.CanCollide = false
						Dropplet.Anchored = true
						--// Size:
						local Size = math.random(35,60)/100
						--// Creating Puddles:
						local BloodPuddle = PartGibs:WaitForChild("Puddle"):Clone()
						if game.Workspace:FindFirstChild("Debris") then
							BloodPuddle.Parent = game.Workspace["Debris"]
						else
							BloodPuddle.Parent = game.Workspace
						end
						BloodPuddle.Size = Vector3.new(Size,0.01,Size)
						BloodPuddle.Anchored = true
						--// Debug
						Dropplet.Color = Color3.new(0.309804, 0.411765, 1)
						Dropplet.Transparency = 0
					end)
				end
				wait(0.1)
			end
		end
	end
end
local function HideLimb(Limb)
	if Character:FindFirstChild(Limb) then
		Character[Limb].Transparency = 1
	end
end
local function DeleteStage(Limb)
	if Character:FindFirstChild(Limb) then
		if Character[Limb]:FindFirstChild("Stage") then
			Character[Limb]["Stage"]:Destroy()
		end
	end
end
local function SetupHead()
	--// Finding Face Decal:
	if Character["Head"]:FindFirstChild("Face") then
		Character["Head"]["Face"]:Destroy()
	elseif Character["Head"]:FindFirstChild("face") then
		Character["Head"]["face"]:Destroy()
	end
	--// Making Head Invisible:
	Character.Head.Transparency = 1
end
local function CreateSetup()
	--// Main Folder:
	local Settings = Instance.new("Folder",Character)
	--// Values For Gibs:
	local RightLeg = Instance.new("NumberValue",Settings)
	local RightArm = Instance.new("NumberValue",Settings)
	local LeftLeg = Instance.new("NumberValue",Settings)
	local LeftArm = Instance.new("NumberValue",Settings)
	local Torso = Instance.new("NumberValue",Settings)
	local Head = Instance.new("NumberValue",Settings)
	--// Naming:
	RightLeg.Name = "Right Leg"
	RightArm.Name = "Right Arm"
	Settings.Name = "Settings"
	LeftLeg.Name = "Left Leg"
	LeftArm.Name = "Left Arm"
	Torso.Name = "Torso"
	Head.Name = "Head"
	--// Values:
	RightLeg.Value = 4
	RightArm.Value = 4
	LeftLeg.Value = 4
	LeftArm.Value = 4
	Torso.Value = 1
	Head.Value = 3
	--// Debug:
	print(Character.Name.. ": Settings Enabled")
	--// Events:
	Head.Changed:Connect(function(Property)
		DeleteStage("Head")
		if Head.Value == 1 then
			local Clone = HeadGibs:WaitForChild("Stage 1"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Head"]
			Clone.Parent = Character["Head"]
			Clone.Name = "Stage"
			SetupHead()
		elseif Head.Value == 2 then
			local Clone = HeadGibs:WaitForChild("Stage 2"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Head"]
			Clone.Parent = Character["Head"]
			Clone.Name = "Stage"
			SetupHead()
		end
	end)
	RightLeg.Changed:Connect(function(Property)
		DeleteStage("Right Leg")
		HideLimb("Right Leg")
		if RightLeg.Value == 1 then
			local Clone = ArmsGibs:WaitForChild("Stage 1"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Leg"]
			Clone.Parent = Character["Right Leg"]
			Clone.Name = "Stage"
			StartBleed("Right Leg")
		elseif RightLeg.Value == 2 then
			local Clone = ArmsGibs:WaitForChild("Stage 2"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Leg"]
			Clone.Parent = Character["Right Leg"]
			Clone.Name = "Stage"
			StartBleed("Right Leg")
		elseif RightLeg.Value == 3 then
			local Clone = ArmsGibs:WaitForChild("Stage 3"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Leg"]
			Clone.Parent = Character["Right Leg"]
			Clone.Name = "Stage"
			StartBleed("Right Leg")
		end
	end)
	RightArm.Changed:Connect(function(Property)
		DeleteStage("Right Arm")
		HideLimb("Right Arm")
		if RightArm.Value == 1 then
			local Clone = ArmsGibs:WaitForChild("Stage 1"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Arm"]
			Clone.Parent = Character["Right Arm"]
			Clone.Name = "Stage"
			StartBleed("Right Arm")
		elseif RightArm.Value == 2 then
			local Clone = ArmsGibs:WaitForChild("Stage 2"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Arm"]
			Clone.Parent = Character["Right Arm"]
			Clone.Name = "Stage"
			StartBleed("Right Arm")
		elseif RightArm.Value == 3 then
			local Clone = ArmsGibs:WaitForChild("Stage 3"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Right Arm"]
			Clone.Parent = Character["Right Arm"]
			Clone.Name = "Stage"
			StartBleed("Right Arm")
		end
	end)
	LeftLeg.Changed:Connect(function(Property)
		DeleteStage("Left Leg")
		HideLimb("Left Leg")
		if LeftLeg.Value == 1 then
			local Clone = ArmsGibs:WaitForChild("Stage 1"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Leg"]
			Clone.Parent = Character["Left Leg"]
			Clone.Name = "Stage"
			StartBleed("Left Leg")
		elseif LeftLeg.Value == 2 then
			local Clone = ArmsGibs:WaitForChild("Stage 2"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Leg"]
			Clone.Parent = Character["Left Leg"]
			Clone.Name = "Stage"
			StartBleed("Left Leg")
		elseif LeftLeg.Value == 3 then
			local Clone = ArmsGibs:WaitForChild("Stage 3"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Leg"]
			Clone.Parent = Character["Left Leg"]
			Clone.Name = "Stage"
			StartBleed("Left Leg")
		end
	end)
	LeftArm.Changed:Connect(function(Property)
		DeleteStage("Left Arm")
		HideLimb("Left Arm")
		if LeftArm.Value == 1 then
			local Clone = ArmsGibs:WaitForChild("Stage 1"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Arm"]
			Clone.Parent = Character["Left Arm"]
			Clone.Name = "Stage"
			StartBleed("Left Arm")
		elseif LeftArm.Value == 2 then
			local Clone = ArmsGibs:WaitForChild("Stage 2"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Arm"]
			Clone.Parent = Character["Left Arm"]
			Clone.Name = "Stage"
			StartBleed("Left Arm")
		elseif LeftArm.Value == 3 then
			local Clone = ArmsGibs:WaitForChild("Stage 3"):Clone()
			Clone:WaitForChild("Weld").Part1 = Character["Left Arm"]
			Clone.Parent = Character["Left Arm"]
			Clone.Name = "Stage"
			StartBleed("Left Arm")
		end
	end)
end
--// One Time Lines:
CreateSetup()

1 comment

0

The video link doesn't work!