An unfinished sample from my tutorial game I'm slowly working on.
I think what you need to try is a limited container. I have my best luck with those.
<object name="container room">
<inherit name="editor_room" />
<object name="letterbox">
<inherit name="editor_object" />
<inherit name="container_limited" />
<look type="script"><![CDATA[
if (not letterbox.isopen) {
msg ("It's a box that looks like it might store letters or stationary.<br/><br/>Currently, it is closed.")
}
else {
msg ("It is an opened letterbox.")
}
]]></look>
<feature_container />
<isopen type="boolean">false</isopen>
<hidechildren />
<listchildren />
<onopen type="script">
HelperOpenObject (letterbox)
</onopen>
<onclose type="script">
HelperCloseObject (letterbox)
</onclose>
<object name="junk mail">
<inherit name="editor_object" />
<look>It's some junk mail, none of which looks too exciting.</look>
<takemsg>Nah. It's junk, hence the name 'junk mail'.</takemsg>
</object>
<object name="postcard">
<inherit name="editor_object" />
<look>It's a postcard from your Aunt Kiki. It's from Hawaii. On the back, she has written, "With much love. Wish you were here! Love, Aunt Kiki"</look>
<take />
</object>
</object>
<object name="Magoo">
<inherit name="editor_object" />
<inherit name="editor_player" />
<look>You're Magoo. A simple being trapped in a test game.</look>
<attr name="pov_look">You're Magoo. A simple being trapped in a test game.</attr>
</object>
</object>
Make sure you add the open object and close object scripts under 'after opening/closing' box in GUI. Also, add an 'If' script in the description box. If object is open, print message "blah blah blah" and else, print message 'blah blah blah'.
Let me know if this helps!
XanMag