When I ring the doorbell I want my NPC to be able to change the position to the ones I have in the code but this isn't working. I think I need to use the Torso, however the NPC is just a model without a humanoid so I would need to move the whole model. << Probably overthinking this as well
wait()
local npc = game.Workspace.House1.NPC -- Needs Fixing
local doorbell = game.Workspace.House1.Doorbell
local dbs = game.ServerStorage.Sounds.Doorbell_Sound
local Window = game.Workspace.House1.Windows
deb = true
script.Parent.Doorbell.ClickDetector.MouseClick:connect(function(wat)
if deb == true then
deb = false
dbs:Play()
Window.BrickColor = BrickColor.new("Bright yellow")
Window.Transparency = .45
Window.Material = "Neon"
npc.CFrame = CFrame.new(Vector3.new(-38.4, 4.5, 18.8)) -- Want NPC to teleport here (Outside House)
wait(5)
npc.CFrame = CFrame.new(Vector3.new(-38.4, 4.5, 24.9)) -- Want NPC to teleport here (Inside House)
Window.BrickColor = BrickColor.new("Black")
Window.Transparency = 0
Window.Material = "SmoothPlastic"
deb = true
end
end)

2 comments
You would need to use npc.Torso.CFrame, not npc.CFrame.
Also, you don't need to give a vector to a CFrame. You can just give the numbers directly.