SYNC_RATE:Connect(function()for t,U in ipairs(ActiveHitboxes)do if U.deleted then Handler:remove(U.object)else for t,D in ipairs(U.points)do if not U.active then D.LastPosition=nil else local t,j,u=D.solver:solve(D,U.debugMode)local L=workspace:Raycast(t,j,U.raycastParams)D.solver:lastPosition(D,u)if L then local t=L.Instance local j=not U.partMode and t:FindFirstAncestorOfClass("\077\111\100\101\108")local u=j and j:FindFirstChildOfClass("\072\117\109\097\110\111\105\100")local T=u or U.partMode and t if T and not U.targetsHit[T]then U.targetsHit[T]=true U.OnHit:Fire(t,u,L,D.group)end end if U.endTime>0 then if U.endTime<=clock()then U.endTime=0 U:HitStop()end end U.OnUpdate:Fire(D.LastPosition)end end end end end)return Handler
--------
SYNC_RATE:Connect(function()
	for Index, Object in ipairs(ActiveHitboxes) do
		if Object.deleted then
			Handler:remove(Object.object)
		else
			for _, Point in ipairs(Object.points) do
				if not Object.active then
					Point.LastPosition = nil
				else
					local rayStart, rayDir, RelativePointToWorld = Point.solver:solve(Point, Object.debugMode)
					local raycastResult = workspace:Raycast(rayStart, rayDir, Object.raycastParams)
					Point.solver:lastPosition(Point, RelativePointToWorld)

					if raycastResult then
						local hitPart = raycastResult.Instance
						local findModel = not Object.partMode and hitPart:FindFirstAncestorOfClass("Model")
						local humanoid = findModel and findModel:FindFirstChildOfClass("Humanoid")
						local target = humanoid or (Object.partMode and hitPart)

						if target and not Object.targetsHit[target] then
							Object.targetsHit[target] = true
							Object.OnHit:Fire(hitPart, humanoid, raycastResult, Point.group)
						end
					end

					if Object.endTime > 0 then
						if Object.endTime <= clock() then
							Object.endTime = 0
							Object:HitStop()
						end
					end

					Object.OnUpdate:Fire(Point.LastPosition)
				end
			end
		end
	end
end)

return Handler
