Building Book -- Recipes! Step-by-Step Instructions to Creations on the MUCK -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Type 'read recipe=contents' to see what fun you can create! Title Chapter --------------------------------------------------------- How to Create a Zombie....................A (6 pages) How to Create a Book......................B (6 pages) To read a chapter, type read recipe=A1 Which displays chapter A, page 1. How to Create a Zombie/Puppet By: Napthalia Byrd I. What is a Zombie/Puppet? Ahh, so you want a poor defenseless creature to bow to your every whim, who will go to all the reaches of the universe just to report everything it sees straight back to you? You have come to the right place. Essentially, a zombie is a creature who will do that for you. You control it. You can make it talk, move, and it reports everything back to you. A. Creating the Zombie Database Item First create a thing, naming it whatever name you desire for your zombie. @create Let us create a cat named Kit-Kat. From here on out, the exact actions to set up Kit-Kat as a zombie will be in green. @create Kit-Kat B. Making Your Thing a Zombie To read the next page, simply type 'next'. Next you must set your thing as a zombie. This is done by putting an 'X' flag on it which makes the thing forcible. You need to do this to be able to control your zombie in the way you want. @set =X @set Kit-Kat=X Next you will want to force lock the zombie to yourself. Since your zombie is now forcible, you want to be the only one able to force it. If you so desire, you can designate anyone on the Muck to be able to force your zombie. @flock = @flock Kit-Kat=me D. Forcing the Zombie You /could/ go about forcing your thing now, but it is not a true Zombie. In order to see through the puppet, you have to set the Z(ombie) flag. @set =Z @set Kit-kat=Z For all purposes, your zombie is complete. You can now force it to do anything To read the next page, simply type 'next'. you want. @force = @force #406=:meows. If Kit-Kat's dbref # is #406, then that command will send 'Kit-Kat meows.' to the room she is in. (In order to check a dbref # on the zombie, type ex ). Now, there is an easier way to force your zombie than typing @force zombie= each and everytime you want it to do or say something. You can create an action that will shorten the process by a good length. This is helpful, especially when you use your zombie more than once or twice. You will first need to create an action of your choice. Keep it short and simple. Have it relate to the zombie without it being the zombie's name. For Kit-Kat, you could use the command 'kk'. @action =me @action kk=me You now have an action on you. You do not want your action to actually bring you anywhere, so first you must link it to a program that will do absolutely To read the next page, simply type 'next'. nothing. @link =$cmd/null @link kk=$cmd/null Now you must lock the action because you do not want it to actually do what it is supposed to (and that is absolutely nothing if you @linked it to the nothing program). @lock =me&!me @lock kk=me&!me When you @lock something to me&!me, it means that only you and only not you are the key to action. Since you cannot have an database item that is you and is not you, it is forever locked and will fail anytime you attempt it. This is what you want it to do. Now, you must tell it what to do when it fails. @fail = {force:,{&arg}} @fail kit-kat={force:#406,{&arg}} In order for your action to work, you also need to set it 'm' so it can use MPI and 'h(aven)' so it can accept an arguement. Trust me on this one, and type To read the next page, simply type 'next'. the following: @set =h @set =m @set kk=h @set kk=m Now to force your zombie, type the action command followed by whatever command you would normally type to control your character. kk look The command for Kit-Kat will force Kit-Kat to look around the room. D. Changing the Echo If anything happens in the room the zombie is in, the messages will be sent to you. It should have the zombie's name with a > following it. If you like that, you can leave it as is, or you can change it to be whatever you want. @pecho = To read the next page, simply type 'next'. @pecho kit-kat=* Now, whenever Kit-Kat sees anything, it is send to the owner's screen with a * prepending all the text. If you have followed all of the instructions here, you should now have successfully created your zombie. Don't forget to @desc and set all the @succ/@fail messages where appropriate. Congratulations and Enjoy. This is the last page of this chapter. I. Creating a Book In this recipe, you will learn how to create a book. If you are not familiar with what books are on the muck, then you are lying, because you are reading from one right now. Also, if you followed the instructions, you should have read all the other building books before this one, so then you are a liar and a cheat. Please don't be those things. Ahem. Also, to help in the process, I use yellow as an action item that you need to do and green as the example. A. Creating the Book Database Item First create a thing, naming it whatever name you desire for your book. The typical format is Book -- . That way, it clearly establishes the item is a book as well as incoporates the title. @create <name> Let us create a book of poems. @create Book -- A Book of Poems Oh, how clever of us. B. Describing the Book As with any object on the muck, you should describe what it looks like. It is important to use lsedit for the description of the book. Since you are using lsedit, you must set the object with the 'M'flag. @set <object>=M @set Book of Poems=M To read the next page, simply type 'next'. Now it is time to describe the book. Please remember, that the description refers to how the book looks on the outside. Important Reminder You do not see the contents of the book on the outside so thus, it is important to give your readers instructions on how to access the inside contents. Include the phrase "Read <object>=Contents" in your description so that the reader understands how to access the table of contents. Hopefully the example will better explain. lsedit <object>=<name of desc> <desc> Read <object>=contents lsedit Book of Poems=desc You see a dusty brown book. You can barely make out the letters scrawled on the binding 'A Book Of Poems'. The book looks old and wellread. Type 'read poems=contents' to see which wonderous poems this book holds! Do you see how in the example it tells you how to read the actual contents? Of course, do not forget to actually describe your book with the description you just edited. @desc <object>={list:<name of desc>} @desc Book Of Poems={list:desc} C. Creating the Content So now that you have a book with a description with instructions to the reader on how to access the table of contents, it's about time you actually create that table of contents, isn't it? Not exactly. The purpose of the table of contents is to show the organized display of the content that you have. Currently, you have none. So that would be silly. First, let's create content. To read the next page, simply type 'next'. Now, each book has chapters that are labeled by letters: Chapter A, B, C, etc. Essentially, you need to set the chapter and its name on the item. Let's start with the first chapter. @set <object>=a:<name of chapter a> @set Book of Poems=a:poema This essentially creates chapter a and names it 'poema'. Fantastic. Now let's put in some material! D. Adding the Content Now that you have a Chapter and it is named, you need to write the actual material to put in the chapter. You do this using lsedit. lsedit <object>=<name of chapter> lsedit Book of Poems=PoemA Here is where you insert ALL of the material for the chapter. Don't worry about the length. If it is exceptionally long, it will automatically create pages for you. For the example book I will insert this description: Roses are Red Violets are Blue I am writing abook And so CAN YOU! ~Napthalia To read the next page, simply type 'next'. It's a short poem. That's the entire chapter that I want so it will be a short chapter as well. Alright! Now, let's say you want to create a second chapter. Because an entire book with that short poem is a waste of a book (even if it is an exceptionally good poem). You do it very nearly the same way as you created Chapter A, only now, it's ChapterB @set <object>=b:<name of chapter b> @set Book of Poems=b:poemb And of course you have to edit the chapter the same way you did before: lsedit <object>=<name of chapter> lsedit Book of Poems=PoemB This time I am going to give it the description Oh for goodness sake Books are hard to make It may seem fun But when you're done Noone is awake! ~Napthalia Wow, I'm really cooking now. So now we have two Chapters: A and B. I am done writing poems for now. So let's say that's all the content we want to add. (We can always go back and add more content later - You would do the same for consecutive chapters with c, d, e, etc.). Time to tell people what chapters are what and how to read them! To read the next page, simply type 'next'. E. Creating the Table of Contents Do you remember way back when (in the good old days) when we created the description and you were supposed to put instructions in the description on how to access the table of contents? For example, the Book of poems says "Type 'read poems=contents' to see which wonderous poems this book holds!" But if I type 'read poems=contents' right now it will tell me No table of contents to display. Whoops. We should create one to display, donchathink? To edit the table of contents, use lsedit: lsedit <object>=contents lsedit Book of Poems=contents Easy Breezy, right? Not quite. There's a format you must follow and here's a good one: Title Chapter --------------------------------------------------------- <Name of Chapter>.............................~ast~A~len~ (~a~ pages) <Name of Chapter>.............................~bst~B~len~ (~b~ pages) <Name of Chapter>.............................~cst~C~len~ (~c~ pages) <Name of Chapter>.............................~dst~D~len~ (~d~ pages) To read a chapter, type read <name of book>=A1 Which displays chapter A, page 1. Which might make you say, WHAT?! Or it might not. But here's an explanation. You have the Title of your Chapter on the left (easy to understand) and on the right you have the names of the chapters: A, B, C. If you keep it in this format, instead of seeing ~a~ you will actually see how many pages chapter a has. Trust me on this one. It's neat. Also, the little blurb on the bottom is instructions on how to access the chapter. PLEASE include this or the reader may be lost on what to do next (just like in the description). So this is what I used for the Book of Poems: To read the next page, simply type 'next'. Title Chapter --------------------------------------------------------- Roses are Read................................~ast~A~len~ (~a~ pages) Limerick......................................~bst~B~len~ (~b~ pages) To read a chapter, type 'read poems=A1' Which displays chapter A, page 1. F. Conclusion That about wraps that up. If you do add more chapters later, please go back and change your table of contents to reflect the new content, otherwise, people will never know that other chapters are lurking there underneath. Hopefully that all makes sense. Enjoy and Happy Book making! OH! One more thing. Don't forget all your other lessons. The book is still an object like any other object. You should still set all the properties on it such as @drop, @odrop, etc. Be a nice builder and don't forget those things. This is the last page of this chapter.