This is the proof of Solovay's theorem in Jech's Set Theory. At here I couldn't do anything with $\eta$, so I defined new $\eta'$ like this:
$$\eta'(\xi) = \sup\{\eta(\nu) \mid \nu \le \xi\}$$
Then $\eta'$ is monotone and $\eta'(\xi) < \kappa$ by regularity. Also $\eta'(\xi) \ge \eta(\xi) > \xi$.
Let $D = \{\gamma \in C \mid \xi < \gamma \implies \eta(\xi) < \gamma\}$. It is trivially closed. Now for any $\alpha < \kappa$, let's construct an increasing sequence like this:
- $\beta_0 = \inf(C \setminus \alpha)$
- $\beta_{n + 1} = \inf(C \setminus \eta'(\beta_n))$
Let $\beta = \lim_{n \to \omega} \beta_n \in C$. For $\xi < \beta$, there exists $n$ such that $\xi < \beta_n$ so $\eta(\xi) \le \eta'(\xi) \le \eta'(\beta_n) \le \beta_{n + 1} < \beta$. Thus $\alpha < \beta \in D$, so $D$ is a club. Is this proof correct?