So I am trying to make an FPS game using "The First Person Element Of A First Person Shooter" blog, but I am having trouble on the first step of making the gun appear in front of the camera.
--LocalScript in StarterPack
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local rsStorage = game:GetService("ReplicatedStorage")
local camera = game.Workspace.CurrentCamera
local humanoid = player.CharacterAdded:Wait():WaitForChild("Humanoid")
local viewModel = rsStorage:WaitForChild("viewModel"):Clone()
local function onDied()
viewModel.Parent = nil
end
local function onUpdate(dt)
viewModel.Head.CFrame = camera.CFrame
print("hi")
end
humanoid.Died:Connect(onDied)
game:GetService("RunService").RenderStepped:Connect(onUpdate)
local repWeapon = rsStorage:WaitForChild("FAMAS")
local weapon = repWeapon:Clone()
weapon.Parent = viewModel
viewModel.Parent = camera
local joint = Instance.new("Motor6D")
joint.C0 = CFrame.new(1, 1, 1)
joint.Part0 = viewModel.Head
joint.Part1 = weapon.Handle
joint.Parent = viewModel.Head
print("Done")
It prints "Done" and keeps printing "hi". There are no errors in the output. Also, sorry that the script is kind of long. Another thing is that I can see the viewModel and the FAMAS in random positions in the workspace.

2 comments
Did you even read it...
Screenshot what it looks like when youf are in First-Person mode ASAP...