Need help displaying the player in a viewport frame only if they have a specific value

local vpf = script.Parent

for i, v in pairs(game.Players:GetPlayers()) do
    if v:FindFirstChild("ImpostorValue") then
        local char = v.Character or v.CharacterAdded:Wait()
        char.Archivable = true
        
        local cam = Instance.new("Camera")
        cam.Parent = vpf
        
        vpf.CurrentCamera = cam
        
        local clonedChar
        
        game:GetService("RunService").RenderStepped:Connect(function()
            if clonedChar then clonedChar:Destroy() end
            
            clonedChar = char:Clone()
            
            local hrp = clonedChar:WaitForChild("HumanoidRootPart")
            
            cam.CFrame = CFrame.new(hrp.Position + (hrp.CFrame.LookVector * 5), hrp.Position)
            
            clonedChar.Parent = vpf            
        end)
    end
end