Help, why player character is nil

local plr = game.Players.LocalPlayer
local char = plr.Character
print(char)
local rem = game.ReplicatedStorage.CameraMovement
local rs = game:GetService("RunService")
local cam = workspace.CurrentCamera
local subject = nil


spawn(function()
	while char:FindFirstChild("Humanoid") ~= nil and char:FindFirstChild("Humanoid").Health > 0 do
		rs.RenderStepped:Wait()
		if subject == nil or subject == "None" then
			if char:FindFirstChild("Humanoid") ~= nil then
				cam.CameraSubject = char:WaitForChild("Humanoid")
			end
			cam.CameraType = Enum.CameraType.Custom
		else
			cam.CameraType = Enum.CameraType.Scriptable
			cam.CFrame = subject.CFrame
		end
	end
	cam.CameraType = Enum.CameraType.Custom
end)

Error: [Players.Znimator.PlayerScripts.CameraMovement:11: attempt to index nil with ‘FindFirstChild’]
What problem idk. Im confused so hard

This is a local script correct?

local plr = game.Players.LocalPlayer
local char = plr.Character or plyr.CharacterAdded:Wait()
print(char)
local rem = game.ReplicatedStorage.CameraMovement
local rs = game:GetService("RunService")
local cam = workspace.CurrentCamera
local subject = nil


spawn(function()
	while true do
		wait()
		char = plr.Character or plyr.CharacterAdded:Wait()
		if char ~= nil then
			local Humanoid = char:FindFirstChild("Humanoid")
			if Humanoid ~= nil and Humanoid.Health > 0 then
				rs.RenderStepped:Wait()
				if subject == nil or subject == "None" then
					cam.CameraSubject = Humanoid
					cam.CameraType = Enum.CameraType.Custom
				else
					cam.CameraType = Enum.CameraType.Scriptable
					cam.CFrame = subject.CFrame
				end
			end
		end
	end
end)
1 Like