Rooms _____ This file explains how to set up a simple room in your castle. It explains light, outdoorness, short descriptions, long descriptions and destination directories. First of all you need a shell of a old room, this can be done by copying your workroom. (Or alternatively any room you fancy. Tips on finding a good room is to wonder around the world until you find one you like. The name appears when you first enter the room. Remeber though you cant copy from /player/. To copy your own workroom to a new room do this : >cd ~ >cp workroom.c first_room.c You now have a copy of a room you can edit ! Things you might like to do are : set_light(x) : Determines if the room is in darkness or not. x = 1 then the room is lit, x = -1 then the room is in darkness. x = 0 then the light in the room depends on if the sun is up or down (on your outdoorness value) ! set_outdoors(x) : This determines how visible is the weather to players in the room. x = 0 then the room is unaffected by weather and never is mentioned. x = 1 then the room is considered indoors and weather affects are negilible. x = 2 then the room is inside, yet the players can see the weather affects outside; perhaps through a window. x = 3 then the room is outside, yet the player is under cover, say from trees or building overhangs etc. x = 4 then the room is outside and the player is exposed to whatever the weather may throw at them. set_short("xxxx"); This sets the short description of your room. It only ever really appears to players who are in brief mode, or to wizards teleporting in. set_long("xxxx\n"); This sets the long description of your room. It appears to players in verbose mode (default) and whenever a player types look in the room. Notice the \n at the end of the line is a control character that sends the next write performed onto the next line. All long_desc should end in this way. set_dest_dir( ({"xxx", "xxx" })) : Gives the players exits to your room. the first argument is to what room file is used next, the second argument is what the player types to go there. Additional exits may be added by placing a comma after the second argument. EXAMPLE : inherit "room/room"; /* what inherit does is it inherits all the variables and functions in the named file, so that they may be used in this file. For more on inheritance see /doc/LPC/inheritance */ reset(arg) { /* note: reset is called when an object is created with the parameter arg = 0 It is also called every so often with the arg = 1 */ ::reset(arg); if (arg) return; set_light(0); set_outdoors(4); set_short("On a path leading to an elegant garden"); set_long("You are now on a path. To the west is a pleasant little garden, it has been \n" + "well tended for and looks like it must be visited often for its beauty and \n" + "serenity. Along the path you see many simple peasants on their way to the city.\n"); set_dest_dir( ({ "players/paladin/room/village_path", "east", "players/paladin/garden", "west" }) ); } Once you as a starting wiz understand the basic principles explained above it is possible to set up simple rooms with predefined macros shown in the file 'room3'. To see some more advanced principles applicable to rooms read 'room2'.