Flag Room:
I have added another room to my tutorial game. Forgive me, I did this really quick so if you notice any errors please let me know so I can fix it. If you got the tutorial room above to work, you can copy and paste the following code immediately AFTER the last </object> in that code and it should work. Or, you can copy-paste over a brand new game as instructed above.
<object name="flag setting unsetting room">
<inherit name="editor_room" />
<enter type="script">
</enter>
<description><![CDATA[In this room, you will hopefully master flag setting and unsetting!<br/><br/>There are flags in the room. Look at them. To raise them, type "raise flag (of your choice)". To lower them, type "lower flag (of your choice)".<br/><br/>This room assumes you have knowledge of 'If'/'Then' statements. If you don't type "if then help".<br/><br/>Notice that when you raise a flag, I have set that particular flag on that flag object to 'raised'. If you look at the particular flag, I have used an 'If'/'Else' script to give a different viewpoint of the flag. The country's flag with a flag titled 'raised' will look as though it is standing erect. When you "lower" the flag, I unset that country's flag 'raised' so it appears in the look at description as on the ground.]]></description>
<alias>flag setting and unsetting room</alias>
<object name="The Flag of England">
<inherit name="editor_object" />
<look type="script">
if (GetBoolean(The Flag of England, "raised")) {
msg ("You behold the proud English flag rippling in the breeze. To lower the flag, simply type 'lower' flag.")
}
else {
msg ("The English Flag and its pole rest on the ground. To raise the flag, simply type 'raise' flag.")
}
</look>
<alt type="stringlist">
<value>english flag</value>
</alt>
<raise type="script"><![CDATA[
msg ("You lift the English Flag from the ground and nestle the pole it is tied to neatly into the ground. The English Flag is now raised!<br/><br/>In code, we have set flag 'object' 'The Flag of England' 'flag name' \"raised\"")
SetObjectFlagOn (The Flag of England, "raised")
]]></raise>
<lower type="script"><![CDATA[
msg ("You lift the English Flag from the earth and rest it gently on the ground.<br/><br/>In code, we have Unset flag 'object' 'The Flag of England' 'flag name' \"raised\".")
SetObjectFlagOff (The Flag of England, "raised")
]]></lower>
<usedefaultprefix type="boolean">false</usedefaultprefix>
</object>
<object name="The Flag of the USA">
<inherit name="editor_object" />
<raise type="script"><![CDATA[
msg ("You lift the American Flag from the ground and nestle the pole it is tied to neatly into the ground. The Stars and Stripes is now raised!<br/><br/>In code, we have set flag 'object' 'The Flag of the USA' 'flag name' \"raised\"")
SetObjectFlagOn (The Flag of the USA, "raised")
]]></raise>
<lower type="script"><![CDATA[
msg ("You lift the American Flag from the earth and rest it gently on the ground.<br/><br/>In code, we have Unset flag 'object' 'The Flag of the USA' 'flag name' \"raised\".")
SetObjectFlagOff (The Flag of the USA, "raised")
]]></lower>
<look type="script">
if (GetBoolean(The Flag of the USA, "raised")) {
msg ("You behold the proud American flag rippling in the breeze. To lower the flag, simply type 'lower' flag.")
}
else {
msg ("The American Flag and its pole rest on the ground. To raise the flag, simply type 'raise' flag.")
}
</look>
<usedefaultprefix type="boolean">false</usedefaultprefix>
</object>
<object name="German Flag">
<inherit name="editor_object" />
<look type="script">
if (GetBoolean(German Flag, "raised")) {
msg ("You behold the proud German flag rippling in the breeze. To lower the flag, simply type 'lower' flag.")
}
else {
msg ("The German Flag and its pole rest on the ground. To raise the flag simply type 'raise' flag.")
}
</look>
<raise type="script"><![CDATA[
msg ("You lift the German Flag from the ground and nestle the pole it is tied to neatly into the ground. The German Flag is now raised!<br/><br/>In code, we have set flag 'object' 'German Flag' 'flag name' \"raised\"")
SetObjectFlagOn (German Flag, "raised")
]]></raise>
<lower type="script"><![CDATA[
msg ("You lift the German Flag from the earth and rest it gently on the ground.<br/><br/>In code, we have Unset flag 'object' 'German Flag' 'flag name' \"raised\".")
SetObjectFlagOff (German Flag, "raised")
]]></lower>
<usedefaultprefix />
</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>
<command name="I IE E help cmd">
<pattern>if then help</pattern>
<script><![CDATA[
msg ("An 'If' script is likely the most useful script in the game.<br/><br/>Simply put, you set a condition with the 'If' script. In the GUI change the 'expression' box to whatever condition you want to set. In this room, I have set an 'If' object has flag. Choose the object you want to conditionalize. I chose 'German Flag'. Then name the flag. In this room, I chose the flag name 'raised'.<br/><br/>Now, choose what happens next with the 'Then' script. Click 'add new script'. In this room, I set the description of the raised flag as a 'print a message' script. In this box I described the German Flag as if it had been raised.<br/><br/>In the 'Else' box, you choose what happens if the condition is NOT met. So, in this room, when the German Flag did NOT have the 'raised' flag name active, I described it as lying on the ground.<br/><br/>If you are interested in how to use the 'Else If' part of this script, visit the If Then room!")
]]></script>
</command>
</object>
If you aren't sure of using the if/else script, there is a short and hopefully helpful tutorial in this room for that, too. Just type "if then help".
Again, your feedback here is important as I continue working on my tutorial game. Thanks and I hope this helps you!