I suggest trying it how I suggested in my edited post. (Edited it not long ago)
You should be able to cut down your switches to just one variable.]
I'll edit my post in a sec here to show you.
Here's how I'd do the innkeeper:

Rinse and repeat for each room number. Just paste the Conditonal Branch Room # == 1. You could even make it easier on yourself by putting the dialogue as "Room \v[1] is available for the night. It's 200 zen." Then you just copy and paste and not even have to change the dialogue.
As you can see, it checks if the room # rented is 0.
If it's not, he tells you what room # you have rented.
If it is 0, he finds you a room through a random number of 1 to 5.
If you take that room, he takes your gold. If you don't take it, the # is put back at 0.
The parallel process for check out would just be
@If Hour Variable == 8
@Variables: Room # = 0
And since the door event takes you out no matter what then all you gotta do is make it so doors only let you in when you have that room # rented. (I assume you've done this already anyways)
This post has been edited by Titanhex: Jan 9 2012, 07:50 AM