The easiest solution is to queue events in the camp. When a player unlocks an event it is added to the pool.
When the player rests, the event is triggered in the order it was added. Thanks to this solution, the player will be able to run all cutscenes one by one without spamming the rest after each conversation. Of course, there is a high probability that some cutscenes will not make sense at some point, but this is quite a minor problem.