So far I've just been chucking in global variables called something like storySection1Panel - I'll set this to a number (just in case of multiple states) and then change it when the player opens the panel for example. In the room load function I then just check for all the various story global variables I have for that room and update the required objects, hotspots, walkable areas etc
I've had a look in the modules and I found a something by Calin Leafshade called Story State (http://www.adventuregamestudio.co.uk/forums/index.php?topic=45581.0). It's download link is broken but he does go on to say that it's only good for 50 levels or states. That worries me a lot for a full-length game, it seems rather few considering that in a small proof of concept I have already used about 5 story states in a single room. Although I do love the idea of setting the 5th story state to true and it will auto set 4, 3, 2, 1 to true as well, that would save a lot of time when testing.
Am I missing something silly that's more built into AGS than I know about or does everyone else follow the same route of just adding in global variables?