/****** This room is made my Mithal, learn and enjoy ***/ #include "defs.h" inherit ROOM_OBJ; void setup() { set_short("add_item room #3, verbs "); set_light(100); set_long("add_item room #3, verbs \n" "As you know, things can be read, kicked, etc... in DiscWorld. " "Therefore we need to make our items respond to actions. The " "old way to do this is through add_action. Unless you are " "experienced, you should not use this function. add_item " "provides many facilities to do this which are much better to " "write, easier to understand, and have less chance of 'bugging' " "out on you.\nA large oak.\nA note.\n\n"); add_item("note", ({ "long", "It can be read.", "read", "As you can see, this note can be read, " "this is our first introduction to verbs. " "The code that does this:\n" " add_item(\"note\", ({ \"long\", \"It can be read.\" \n" " \"read\", \"As you can see ... \" }) );\n" "This uses a mixed variable in the description part of the " "add_item. The members of the mixed variables are strings which " "come in pairs. Notice that \"long\" is not \"look\" this is just " "a simple way to specify a whole range of verbs that return this " "description, namely: look, examine, ... \n" "After printing out the message the add_item program prints out to " "the person reading the note: \"You read a note.\" More generally: " "\"You <verb> <indefinate artical> <item>.\" Similarly everyone " "else in the room sees: \"Fred reads a note.\"\n\nA description of " "the tree can be found in treenote.\n" })); add_item("treenote", ({ "long", "Read it nim wit!", "read", "Here is the add_item for the oak:\n" " add_item( ({\"large oak tree\",\"large oak\"}) , ({ \n" " \"long\",\"It looks like it can be climbed and cut.\"\n" " \"climb\",\"You get half way up, and climb back down.\\n\"\n" " \"cut\",\"You cannot hurt this tree!\\n\" })); \n\n" "Oh joy. Notice that it always prints out:\n" " \"You <verb> a large oak.\" \n" "It picks the first description of the item from the mixed array.\n" "Some times you can interfere with item commands or soul commands " "by installing these actions. But, the interference would be more " "if you used add_action!.\n" })); add_item( ({ "large oak tree", "large oak" }) , ({ "long", "It looks like it can be climbed and cut.", "climb", "You get half way up, and climb back down.\n", "cut", "You cannot hurt this tree!\n" }) ); add_exit( "east", __DIR__+"many_verbs", "path" ); add_exit( "west", __DIR__+"many_names", "path" ); add_exit( "start", MAIN, "path" ); add_exit( "exit", LEARNING +"search", "path" ); }