To add my two cents: I wouldn't use functions. I'd use script attributes on the various rooms. You can easily call a script by expression using "do". For example, if you have a room like this:
<object name="SomeRoom">
<draw1 type="script">
// some script
</draw1>
<draw2 type="script">
// some script
</draw2>
<draw3 type="script">
// some script
</draw3>
</object>
then you can invoke a random function as:
do(SomeRoom, "draw" + GetRandomInt(1,3))
This even allows you to have commonality among the rooms, as you can then key it off the current room:
do(game.pov.parent, "draw" + GetRandomInt(1,3))
will invoke the function in the room where the player currently is.
If you need to pass parameters, that takes a small bit more coding, but it's not too bad.