Projectile Help

I want to make a projectile attack. I’ve gotten the projectile down but I already have a hitbox system that I wouldn’t know how to get working with it, and I was wondering if I could get help.

Fireball Script:

local RPS = game:WaitForChild("ReplicatedStorage")
local skillFolder = RPS:WaitForChild("SkillRemotes")
local Remote = skillFolder:WaitForChild("BurningAttackRemote")
local skillStuff = RPS:WaitForChild("SkillStuffs")


Remote.OnServerEvent:Connect(function(player)
	local Character = player.Character
	local RootPart = Character.HumanoidRootPart
	local folder = workspace:FindFirstChild("DebrisFolder") or Instance.new("Folder",workspace)



	local Position = Instance.new("BodyVelocity",RootPart)
	Position.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	Position.P = 300
	Position.Velocity = RootPart.CFrame.LookVector * .1
	game.Debris:AddItem(Position,1)

	local Track1 = Instance.new("Animation")
	Track1.AnimationId = "rbxassetid://17310237542"
	local Anim = Character.Humanoid:LoadAnimation(Track1)
	Anim:Play()
	wait(0.3)
	
	if RootPart then
		local fireball = skillStuff:WaitForChild("BurningAttackFireball"):Clone()
		
		fireball.CFrame = RootPart.CFrame * CFrame.new(0, 0.5, -1)
		
		fireball.Parent = workspace
		
		local bodyVelocity = Instance.new("BodyVelocity")
		bodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
		bodyVelocity.Velocity = RootPart.CFrame.LookVector * 100
		bodyVelocity.Parent = fireball
	end
	
	local Track2 = Instance.new("Animation")
	Track2.AnimationId = "rbxassetid://17311045030"
	local Anim = Character.Humanoid:LoadAnimation(Track2)
	Anim:Play()
	
end)

local rs = game:GetService(“ReplicatedStorage”)
local ts = game:GetService(“TweenService”)

local kbtween = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local StunHandler = require(rs.Modules.HitService.StunHandlerV2)
local HSP = rs.Particles.HitSpark.HitSpark:Clone()
local HSDP = rs.Particles.HitSpark.HitSparkDebris:Clone()

local events = rs:WaitForChild(“Events”)
local hitboxEvent = events:WaitForChild(“Hitbox”)

function knockback(victim, character, power)
local hum = victim:WaitForChild(“Humanoid”)
local animator = hum:WaitForChild(“Animator”)
local Knockback = animator:LoadAnimation(script:WaitForChild(“KnockBack”))
local ehrp = victim.HumanoidRootPart
local uhrp = character.HumanoidRootPart

local att = Instance.new("Attachment", ehrp)
local lv = Instance.new("LinearVelocity", att)

Knockback:Play()
lv.MaxForce = 9999999
lv.Attachment0 = att

local lookVector = uhrp.CFrame.LookVector
lv.VectorVelocity = lookVector * power

local tween = ts:Create(lv, kbtween, {VectorVelocity = lookVector * 0.1})
tween:Play()
game.Debris:AddItem(att, 0.3)
task.wait(0.35)
Knockback:Stop()

end

function newHitbox(character, size, offset, damage, linger, kb, stun)
local hrp = character:FindFirstChild(“HumanoidRootPart”)
if hrp == nil then return end
local weld = Instance.new(“WeldConstraint”, hrp)
local hitbox = Instance.new(“Part”)
weld.Part0 = hrp
weld.Part1 = hitbox

hitbox.Transparency = 1
hitbox.CanCollide = false
hitbox.CanQuery = false
hitbox.Massless = true

hitbox.Size = size
hitbox.CFrame = hrp.CFrame + hrp.CFrame.LookVector * offset.X + Vector3.new(0,offset.Y)
hitbox.Parent = character

hitbox.Touched:Connect(function(hit)
	local hum = hit.Parent:WaitForChild("Humanoid")
	local animator = hum:WaitForChild("Animator")
	local HitAnim = animator:LoadAnimation(script:WaitForChild("Hit"))
	if hit.Parent:FindFirstChild("Humanoid") == nil then return end
	
	for _, v in pairs(hitbox:GetChildren()) do
		if v:IsA("ObjectValue") then
			if v.Value == hit.Parent then return end
		end
	end
	
	local hitCounter = Instance.new("ObjectValue", hitbox)
	hitCounter.Value = hit.Parent
	
	StunHandler.Stun(hit.Parent:WaitForChild("Humanoid"), stun)
	hit.Parent.Humanoid:TakeDamage(damage)
	HSP.Parent = hit.Parent.Torso
	HSDP.Parent = hit.Parent.Torso
	HSP:Emit(12)
	HSDP:Emit(12)
	HitAnim:Play()
	

	if kb <= 0 then return end
	knockback(hit.Parent, character, kb)
	HSP:Remove()
	HSDP:Remove()
end)

game.Debris:AddItem(hitbox, linger)

Some of the code wouldn’t highlight for some reason, but whatever