Tween create errors with table

I’m trying to tween an npc’s humanoid root part’s CFrame (Not position, I’ve seen what happens) But I get this error

16:33:48.942  Workspace.Umbra Monstrum.Umbra Monstrum GoUnderground:8: attempt to call a table value  -  Server - Umbra Monstrum GoUnderground:8

My code:

repeat
	task.wait()
until (script.Parent):IsA("Model")
if script.Parent.Name == "Umbra Monstrum" then
	local hrp = script.Parent:WaitForChild("HumanoidRootPart")
	local ts = game:GetService("TweenService")
	local tweeninfo = TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false)
	local tween = ts:Create(hrp, tweeninfo, {CFrame = hrp.CFrame * Vector3(0, 5, 0)}) --Line 8
	local hum = script.Parent:WaitForChild("Humanoid")
	hum.Health = 3
	hum.HealthChanged:Connect(function(health)
		local max = hum.MaxHealth
		if health*2 == max then
			hum.WalkSpeed = 0
			local animcontroller = hum:WaitForChild("Animator")
			local anim = hum:WaitForChild("Shadow")
			local shadowanimation = animcontroller:LoadAnimation(anim)
			shadowanimation.Priority = Enum.AnimationPriority.Action3
			shadowanimation:Play()
			task.wait(1)
			tween:Play()
		end
	end)
end

I thought line 8 (TweenService:Create()) should have a dictionary. What am I doing wrong?
Edit:

hrp.CFrame * Vector3(0, 5, 0)

Should be:

hrp.CFrame * Vector3.new(0, 5, 0)

No CFrame works fine it the Vector3.new(0,5,0)

The error is gone, but the tween won’t play when I want it to. I’ll just have to tweak a few things, I’ll mark your post as solution if things work out
PS: I had to put the Vector3.new() inside a CFrame.new() for it to work

Edit: Changed the 5 to -5

CFrame.new(Vector3.new(0, -5, 0))

and now I can’t find my NPC, if I change -5 back to 5 then the NPC is back but it doesn’t move up

I did, but that wasn’t part of the error anyways

If you wanna offset the CFrame by a Vector3, you can either add or subtract the Vector3 from the CFrame.