a list or dictionary, like any attribute, just needs to be attached to any permanent object, and then it can be used any where.
such as putting it in the Game Object, for example. Just as you might do "game.turns", you can do "game.food_list" (create the food_list attribute of course in the Game Object, just as you'd create the turns attribute in the Game Object)
or, you can always make a "data storage" object:
<object name="list_database">
<color_list type="simplestringlist">red;blue;yellow</color_list>
<food_list type="simplestringlist">meat;veggies;fruits</food_list>
<drink_list type="simplestringlist">wine;beer;rum</drink_list>
</object>
// and then to call upon it in some script block:
invoke (list_database.color_list) // returns the string list, err... maybe you use "return" instead of invoke, too lazy to look up how to show a list, lol. You should be able to easily figure it out as to what command script you use though.
// or
invoke (StringListItem (list_database.color_list,0)) // returns the string item: red
here's some links for you:
http://quest5.net/wiki/Category:All_Fun ... t_Commandshttp://quest5.net/wiki/Invokehttp://quest5.net/wiki/Using_Listshttp://quest5.net/wiki/Using_Dictionarieshttp://quest5.net/wiki/Splithttp://quest5.net/wiki/Show_menuhere's how split works:
split ("red;blue;yellow",";") // creates a local (temporary) string list
here's how you can use show menu:
show menu ("What color is your hat?",split ("red;blue;yellow",";"),false) {
}
or (from the already coded stuff above)
show menu ("What color is your hat?",list_database.color_list,false) {