Okay, so I'm confused a bit.
Do you want the match to be taken out of the matchbox before you use it? Or do you just want to be able to use the match by using the matchbox?
The reason I ask is that if you don't need to actually take the match out, then there's no purpose to having a 'match' object, as the 'light' verb can do everything for you.
However, if you want to take the match out and use it on other objects, I'd be happy to show you how to do what you want.
Now, onto the other stuff.
[list=1][*]Go to the 'Setup' tab in the Drawer, and uncheck 'Visible'[/*:m]
[*]Go to the 'Setup' tab in the Bureau and add switch the 'Look at' description from 'Text' to 'Run script'. Add to this to the script:
msg ("You see a light brown bureau, with a single drawer.")
MakeObjectVisible (Drawer)
[/*:m]
[*]Go back to the Drawer and click the 'Container' tab. Switch the 'Container type' to 'Closed container' (optional: check the 'Hide children until object is looked at')[/*:m]
[*]Add this to the 'After closing the object' script:
this.listchildren = false
[/*:m]
[*]Go to the 'Setup' tab, and delete everything you have for the 'Look at' script. Replace it with this:
OutputTextNoBr ("It's just a normal, old drawer")
if (this.isopen = true) {
OutputTextNoBr (", containing ")
this.listchildren = true
}
else {
msg (".")
}
[/*:m][/list:o]
If you need me to explain any of that, just ask.
Hope that helped!