Room Parenting 101
When you build, you should always keep in mind to make things as easy on yourself as possible.
Room parenting is one of the more important aspects as far as building on the MUCK goes, and perhaps the least understood in my experience. Room parenting is about making things easier for yourself and others and thus I’ll be going over the basics.
What is it?
Now, what is a room parent? The easiest explanation is to think of a directory/folder on your computer. Now you have 15000 files in this folder, with no sub directories. Sorting through these files is going to pose a problem, managing them is going to equally be a headache. To save yourself time and spare yourself unneeded stress, obviously you’re going to want these 15000 files in sub directories.
It’s the same basic concept as far as room parents go. Below is an example of proper parenting of a room. Notice how at the very top it has the room name, the owner, and then the parent. This room is parenting another parent, a small clearing, and Camp Nueva. With its parent being Region Parent: Grasslands.
I point this out because in proper parentage of a room, there should always be another parent long before the parent is IC Environment Room(#398R). In fact there should ideally be nothing but region parents in the IC Environment Room.
The IC Environment Room if your not aware, being the parent for all the IC rooms on the MUCK.
Ex1:
Region Parent: Camp Nueva(#153816R) Owner: Ajax (#147836PBX) Parent: Region Parent: Grasslands(#62045R)
Contents:
Region Parent: Ness's Home(#108393R)
Small Clearing
Camp Nueva(#155131R)
Parents are Important
The biggest problem as far as parenting goes is simply the lack of understanding of how important parents are in the first place. The beauty of region parents is that they give you a full listing of rooms. Which means you don’t have to go room to room if your @taking an abandoned home belong to chown_char, and if your room typing you can simply just go down the list. This is especially true if you have indoor and outdoor parents in your main parent.
Of course it isn’t always that simple. Sometimes after all, you don’t own all the rooms in the parent nor do you always own the parent of your parent. Not to worry, below are a bunch of useful strings of @mpi that only require you to copy and paste. Of course you can always tell which rooms/parents you own simply because the debref will show after the name. Example: Region Parent: Grasslands(#62045R)
Owner – Shows who owns what in your parent.
@mpi {null:{foreach:r,{contents:here,room},{tell:{name:{&r}} ({&r}) -- {name:{owner:{&r}}}}}}
Debref – Shows the debref number of the parent of the room/parent your in.
@mpi {loc:here}
Also to just show the owner and name of the parent for the room your in, use +showregion
This will not though, show the debref number of the parent if you don’t own it and thus why @mpi {loc:here} is needed for that much.
Basic Pitfalls of Parenting
The most basic mistake made with parenting, is parenting to your IC rooms. Your IC rooms should be in your parent, not your parent. Below is an example of what I’m talking about.
Ex2:
Samir's Home: Porch(#137373RJ) Owner: Ajax(#219347PSBJX) Parent: IC Environment Room(#398R)
Contents:
Anba_Hor's Den(#154173R)
Davin's Guest House: Attic(#99351R)
Davin's Guest House: Bedroom(#147279R)
Davin's Guest House: Bathroom(#230919R)
Davin's Guest House: Stairs(#215408R)
Davin's Guest House: Dining Room(#164617R)
Davin's Guest House: Kitchen(#198727R)
Davin's Guest home:Living Room(#167490R)
Path to Davin's guest home(#108063R)
Porch(#192701R)
Samir's Home: Basement(#221282R)
Davin's House: Garden(#217397R)
Samir's Home: Attic(#217311R)
Samir's Home: Bathroom(#202279R)
Samir's Home: Kitchen(#228487R)
Samir's Home: Dining Room(#126640R)
Samir's Home: Bedroom
Samir's Home: Stairs(#192973R)
Samir's Home: Living Room(#192986R)
As you can see, you have three different homes parented to the porch. Along with the parent being the IC Environment Room. To be frank, it’s a mess and a perfect example of bad parenting.
Of course this isn’t just a problem for people who build their own home, +community home owners also make this mistake when adding to their home. The difference is, +community home owners already have a proper parent. While those building their homes make the mistake of never making their own parent in the first place.
So if you already have a parent, use it. Below is an example of what you should be looking for when you type ‘ex’
Pit of Insomnia(#42263R) Owner: Ajax Parent: Region Parent: The Silly Rooms(#34854RJ)
Fortunately there is a quick way to fix the error Samir made. You make a new parent.
This is easy enough, +newregion Samir’s Home=Parent Region NULL ID#=Samir’sHome
Simple! Well, maybe not, Parent Region NULL ID doesn’t exactly mean much to most people. Which is understandable, but to put it in layman terms it’s the parent of your parent. Using the beginning of the first example, you can see how the Camp Nueva parent was created in the first place.
Region Parent: Camp Nueva(#153816R) Owner: Ajax (#147836PBX) Parent: Region Parent: Grasslands(#62045R)
+newregion Camp Nueva=#62045r=CampNueva
Now, so you have yourself a parent finally, now you can use @tele to teleport all those rooms on the porch into your new parent. @tele here=#153816R and repeat until you have all the rooms including the porch in the parent.