First, it seems the statement you want to prove is "if $(x_n)$ is a sequence in $X$ with $\lim x_n=x$ and $(f_n)$ is a convergent sequence in $C(X)$ with limit $f$, then $\lim\limits_{n\rightarrow\infty}f_n(x_n)=f(x)$".
In your proof,
it seems you've written
$$
|f_n(x_n)-f(x)|
\le |f_n(x_n)-f(x_n)|+|f(x_n)-f_n(x) |+| f(x_n)-f(x)|.
$$
You do know that $|f_n(x_n)-f(x_n)|\le\Vert f_n-f\Vert$, but how do you conclude the same for $|f(x_n)-f_n(x) |$? This is true for sufficiently large $n$, but would require an additional argument.
An alternative method would be to write, for any fixed $N$ and arbitrary $n$:
$$\eqalign{
|f_n(x_n)-f(x)|
&=| f_n(x_n)-f_N(x_n) +f_N(x_n)-f_N(x)+f_N(x) -f(x) |
\cr
&\le
\color{maroon}{|f_n(x_n)-f_N(x_n)|} +\color{darkgreen}{|f_N(x_n)-f_N(x)|}+\color{darkblue}{|f_N(x)-f(x)|}.}
$$
Then,
given $\epsilon>0$, you can select $N$ so large that:
$\ \ \ 1)\ \ \color{darkblue}{|f_N(x)-f(x)|}<\epsilon/3$, since $\Vert f_n-f\Vert\rightarrow 0$.
$\ \ \ 2)\ \ \color{darkgreen}{|f_N(x_n)-f_N(x)|}<\epsilon/3$ for all $n\ge N$, since $f_N$ is continuous and since $x_n\rightarrow x$,
and
$\ \ \ 3)\ \ \color{maroon}{|f_n(x_n)-f_N(x_n)|}<\epsilon/3$ for all $n\ge N$, since $\Vert f_n-f\Vert\rightarrow 0$.
It would follow then that for every $\epsilon>0$, there is an $N$ so that for all $n\ge N$,
$$
|f_n(x_n)-f(x)|<\epsilon;
$$
which shows that $\lim\limits_{n\rightarrow\infty}f_n(x_n)=f(x)$.
Incidentally, I don't think the compactness of $X$ is required.