Attachment 'building-class-2-log-cleaned.txt'

Download

   1 BunnyHugger writes on the board: "I. Properties, II. Success, fail, drop messages, III. Making a fun THING, IV. Zombies (if time)"
   2 Beltrami steps off of the floating disk that carried her up.
   3 Beltrami has arrived.
   4 Beltrami waves hello!
   5 You say, "Hello!"
   6 J.P. will be quite laggy - celebrating his player's Dad's birthday.
   7 Austin says, "Oh, happy birthday once removed!"
   8 Claude hurriedly starts logging.
   9 Beltrami grins.
  10 Casandro steps off of the floating disk that carried him up.
  11 Casandro has arrived.
  12 Beltrami waves to Casandro!
  13 Casandro says, "Servus"
  14 Claude wavewaves!
  15 Casandro says, "Ohh Beltrami, long time no see!"
  16 J.P. pets Beltrami.
  17 BunnyHugger looks down at herself.  "Oops, I still have my weekend partying outfit on.  That's embarrassing."
  18 BunnyHugger says, "Welcome to class everyone."
  19 Chandra pets on Claude with the arm that isn't in a sling.
  20 Garrison waves to Bel
  21 Claude nuzzles Chandra. o.o "What happened to you?"
  22 Chandra grins. "I got fixed up," he says with a chuckle.
  23 Garrison smiles and offers Beltrami the desk next to her's.
  24 BunnyHugger says, "Last time's homework was to create an object and give it a description, to get it ready for having an action put on it during today's lesson.  If you didn't bring one that's OK, you can make one at your desk during the lesson.  But, did anyone bring a THING type object that they'd like to show the class?"
  25 Beltrami sits beside her.
  26 BunnyHugger adds, "Last time we learned that 'THING' is one of the main object types on the MUCK and in fact it's the most basic one with the least special properties."
  27 Chandra says, "Sometimes the cure is a little more painful than the disease, but is worth it in the long run. Nice to have my own body back, for the most part.""
  28 Chandra quiets down.
  29 Beltrami nodnods to BunnyHugger.
  30 Claude lifts a paw.
  31 BunnyHugger says, "OK, Beltrami first.  What did you bring for the class, Beltrami?"
  32 Beltrami taps on her palette and brings up a half-ellipsoid about two feet tall at the highest, and sets it beside BunnyHugger.
  33 Beltrami drops You Are Here Map.
  34      The map base is half an ellipsoid, skinny like a football, with the tall end poking into the air.  The surface is a powder-blue matted surface, with several silvery patches, reflectie, and inviting a touch. 
  35 GreenKai bounces a large ball on the ground, and smiles.
  36 BunnyHugger says, "Class, notice that if you examine the You Are Here Map, all it's going to tell you is that Beltrami owns it.  'ex you are here' should do it."
  37 Owner: Beltrami
  38 Garrison nods
  39 BunnyHugger says, "But if Beltrami examines it herself, she'll get allllll the goods on it, like what TYPE it is, its flags, and all its properties."
  40 BunnyHugger says, "It's probably type THING, which is just a basic object."
  41 Beltrami nods.
  42 BunnyHugger says, "By the way, 'here' and 'me' are universal variables the MUCK recognizes, as most of you probably already know.  'me' is the person using the command and 'here' is the location you're in."
  43 BunnyHugger says, "So 'ex here' will give you the owner of the current room."
  44 Owner: Argon
  45 BunnyHugger says, "You can also use the name of an object or exit that's in the room with you, or a DBREF number of something that isn't (or that is ambiguous, like if there are 3 things in the room with the same name)."
  46 BunnyHugger says, "Very good Beltrami!  Thanks!  Claude, what did you bring?"
  47 J.P. drops SquirrelPlushie.
  48 GreenKai writes down dutifully on her pad: /* here = here */
  49 Dropped.
  50 J.P. grins.
  51 A small hand-knit squirrel plushie with a cookie.  Image: http://d.facdn.net/art/jpt/1247060159.jpt_squirrel_plushie_1.png
  52 J.P. says, "Cute."
  53 BunnyHugger says, "Ooh, a cuckoo clock, but cats.  Neat!"
  54 You say, "Likewise!"
  55 Casandro smiles.
  56 You say, "And thank you."
  57 BunnyHugger looks at J.P.'s plushie.  "Ah, a stuffed animal, that was almost going to be my own example, but I ended up bringing my camera instead."
  58 BunnyHugger says, "Oh, I see, your plushie is actually a zombie."
  59 SquirrelPlushie pads over to BunnyHugger.
  60 BunnyHugger says, "I can't see its flags myself, but I know it's a zombie because 'WhoSpe' notes zombies and puts them on the list of people present."
  61 SquirrelPlushie chitters.
  62 BunnyHugger says, "Zombies are actually type THING just like the map and the clock, but once set as a Zombie (@set [item]=Z), they have the special property of allowing their owner to listen through them."
  63 Chitter sulks.
  64 BunnyHugger says, "Chitter is a Zombie too, of course."
  65 SquirrelPlushie pets Chitter.
  66 BunnyHugger says, "GreenKai, did you bring something?"
  67 GreenKai points to the ball on the ground.
  68 GreenKai picks up the large bouncy ball.
  69 GreenKai bounces a large ball on the ground, and smiles.
  70 BunnyHugger says, "Aha!"
  71 Beltrami waves to the ball!
  72 BunnyHugger says, "Toys are a good example to use for the little exercise we'll do in a bit."
  73 Casandro giggles at Beltrami.
  74 This green- and purple-striped bouncy ball is made for bouncing! Just give it a push and off it goes . . . just be careful not to let it get away from you!
  75 BunnyHugger says, "But first let me back up and give a bit of explanation.  I made tables!"
  76 BunnyHugger says that as though she were ridiculously proud of her tables.  And perhaps she is.
  77 Chandra also has an object to share, though its type has pretty much been reflected already.
  78 BunnyHugger says, "Oh, what did you bring, Chandra?"
  79 Chandra drops DSD/H-MK1.
  80 BunnyHugger says, "Ooh, that looks fancy."
  81 Chandra holds up a very small, matte-gray cylinder (LOOK DSD/H-MK1)
  82 You see a small, matte-gray cylinder about two-inches in length and about a quarter inch in diameter. It's smooth, cool to the touch, and has a small ochre-colored area near what might be called the 'mouth' of the device, which is sealed. You can see a tiny number on the side of the cylinder. There is a little window where you can visually check to see if the cylinder has anything in it. There is a small blue and gray area on the device. When you press the gray area, you see an Augmented Reality display that has some instructions, along with the word 'DSHDISPENSE'.
  83                                                 
  84                               
  85 INTRODUCTION TO THE DEHYDRATED SUSTENANCE DISPENSER/HYDRATOR -- MACHINE TYPE 8012
  86 The Dehydrated Sustenance Dispenser/Hydrator is a device which is capable of dispensing and hydrating, all in one action, a small food tablet stored within the dispenser's internal magazine storage. In addition, the dispenser can be used to hydrate food items stored in tablet-form not dispensed by the magazine up to dimensions determined by model (with Feature Code 1408). Each model has different serving, storage, and hydration capacites.
  87                        
  88 The Dehydrated Sustenance Dispensor/Hydrator Mark I (Model 100) is designed to store up to sixteen dehydrated food items in tablet form and rehydrate these and other tablets up to 1/8" thick by 1/4" in diameter.
  89                                  
  90                                     
  91 USAGE - DISPENSE AND HYDRATE FROM INTERNAL MAGAZINE                             
  92 To use the Dehydrated Sustenance Dispenser/Hydrator, place your finger on the ochre-colored area. This will begin the dispense and hydration process. The dispense and hydration process may take up to 30 seconds to complete, is totally silent, and generates no light, heat, or energy signatures.
  93                           
  94                             
  95 USAGE - HYDRATE TO EXTERNAL SOURCE
  96 To use the Dehydrated Sustenance Dispenser/Hydrator on external food tablets requires a slightly different procedure. Note that you must have Feature Code 1408 installed on your DSD/H in order to perform this action ...
  97 BunnyHugger looks a little intimidated by the technology.
  98 Casandro drops invader.
  99 BunnyHugger laughs at Casandro's homework.
 100 Casandro holds up a small matte-gray cube.
 101 BunnyHugger says, "I'm a little worried about you having that thing in the room, Casandro.  >;)"
 102 Casandro looks at BunnyHugger, "Why?".
 103 A perfectly cubical black cube.
 104 BunnyHugger says, "'Cause I watched Doctor Who last night."
 105 Chandra says, "It's just a simple device that 'dispenses cakes.' of varying kinds. It was intended as a roleplaying device. It can't actually create cakes, since there's no MPI equivalent for 'mkobj' or '@create'"
 106 Chandra says, "Otherwise, I would have it create a cake in the player's inventory or, perhaps, on the ground. "
 107 BunnyHugger says, "Actually, you can probably use it with the 'makefakemunchies' program!"
 108 BunnyHugger says, "Hang on, here it is, 'fakemunchies.muf'"
 109 Chandra says, "Yeah, I've just recently started looking at a lot of the programs available via the @Plib facility.""
 110 BunnyHugger says, "So this is instructive, 'cause I found it in the public library."
 111 BunnyHugger says, "The public library is a library of MUF programs that anyone can use.  You can attach them to actions you create, as we will do later, and they can do stuff for you."
 112 BunnyHugger says, "You can bring it up with 'plib' or search for a specific keyword or program with 'plib [keyword]' like I just did with 'plib fakemunchies'."
 113 Chandra chuckles. "So, this was one of the first complex objects that I created. I'll have to get it back to its owner at some point since I just 'borrowed' it."
 114 BunnyHugger says, "Good!  All right, let me move on to my lecture."
 115 BunnyHugger says, "Last time Joshua suggested I ought to draw a chart to show what happens when you link what to what."
 116 BunnyHugger says, "@link is the command that links two database objects together, but what it does depends on types involved.  Particularly, @linking actions can cause different effects depending on what you link them to."
 117 BunnyHugger says, "The basic syntax is '@link [item 1]=[item 2]'"
 118 BunnyHugger unrolls a chart.
 119 <Verbatim start: BunnyHugger>
 120        |    Player    |    Thing    |     Room     |   Action    |   Program
 121 --------------------------------------------------------------------------------
 122 Player |      X       |      X      |  Sets home   |      X      |       X
 123 --------------------------------------------------------------------------------
 124 Thing  |  Sets home   |  Sets home  |  Sets home   |      X      |       X
 125 --------------------------------------------------------------------------------
 126 Room   |      X       | Sets dropto | Sets dropto  |      X      |       X
 127 --------------------------------------------------------------------------------
 128 Action |      X       |Summons thing| Creates door |Performs next| Runs program
 129        |              |Or enters it |              |    action   | 
 130 --------------------------------------------------------------------------------
 131 <Verbatim end:   BunnyHugger>
 132 BunnyHugger stands there beaming.
 133 Casandro applauds.
 134 BunnyHugger says, "X means it's meaningless or impossible."
 135 SquirrelPlushie perches on GreenKai's head.
 136 Claude proceeds to copy the chart.
 137 BunnyHugger says, "So in the left column is 'item 1' from my above example, and the horizontal top row is 'item 2.'"
 138 GreenKai blinks sleepily, then looks up, patting around her ears.
 139 SquirrelPlushie chitters!
 140 BunnyHugger says, "So let me explain some of this stuff since this is shorthanded."
 141 SquirrelPlushie offers coffee?
 142 BunnyHugger says, "In the first row, Player, the only thing you can really do that has any meaning is link a Player to a Room."
 143 BunnyHugger says, "So I say that 'sets home' -- which -- you all know what your home is, right?"
 144 You say, "Sure!"
 145 BunnyHugger says, "So @link me=here sets your home to that room that you're in."
 146 BunnyHugger says, "However, you can only do this if you either own the room or the room is set with the flag A, 'Abode.'"
 147 BunnyHugger says, "Abode means anyone can home there.  >:)"
 148 BunnyHugger says, "Now looking at the second column, you see something similar going on, but a Thing can be homed in a player or another thing as well as in a room.  For instance, you could set one of your possessions' home to yourself, so it would always come home to your inventory if swept or dropped."
 149 GreenKai already has hot chocolate!  She sips at it, while trying to copy down the graph.
 150 BunnyHugger says, "At the end of the Olympic events I would always badger people to '@link medal=me' which meant I was asking them to set its home to themselves so it would go back to them if lost."
 151 BunnyHugger says, "Or, Chitter could have a possession that homed to him, which would be an example of a THING having another THING for its home."
 152 Beltrami nods.
 153 BunnyHugger says, "By the way, there's no bottom column for 'program' because the whole thing would be Xs.  Programs can't be linked to anything, though stuff can be linked to programs."
 154 BunnyHugger says, "Er, bottom row."
 155 BunnyHugger says, "OK, so the bottom two rows get more complicated..."
 156 BunnyHugger brings it up again.
 157 <Verbatim start: BunnyHugger>
 158        |    Player    |    Thing    |     Room     |   Action    |   Program
 159 --------------------------------------------------------------------------------
 160 Player |      X       |      X      |  Sets home   |      X      |       X
 161 --------------------------------------------------------------------------------
 162 Thing  |  Sets home   |  Sets home  |  Sets home   |      X      |       X
 163 --------------------------------------------------------------------------------
 164 Room   |      X       | Sets dropto | Sets dropto  |      X      |       X
 165 --------------------------------------------------------------------------------
 166 Action |      X       |Summons thing| Creates door |Performs next| Runs program
 167        |              |Or enters it |              |    action   | 
 168 --------------------------------------------------------------------------------
 169 <Verbatim end:   BunnyHugger>
 170 BunnyHugger says, "In the third row we see what happens to link rooms to things.  The only two things that make sense there are linking a room to a thing or to another room.  In either case it sets the room's 'dropto.'  Anyone know what that means?"
 171 BunnyHugger says, "Anyone? ... Anyone? ... Chitter?"
 172 Chitter says, "What?"
 173 Chandra giggles madly at something he's written on his paper.
 174 Chitter says, "I'm not listening to any of this incomprehensible mumbling."
 175 Claude raises a paw.
 176 Chandra says, "It basically means that whenever you drop an object, it just goes there, if I recall.""
 177 BunnyHugger says, "Claude?"
 178 Austin says, "I do, but I got to look at her notes last night."
 179 You say, "Anything dropped in that room immediately goes elsewhere?"
 180 BunnyHugger says, "Claude and Chandra are both right."
 181 BunnyHugger says, "With a small exception that I'll note for technicality."
 182 Chandra says, "It's the ultimate in making sure you don't have a bunch of garbage in your rooms."
 183 BunnyHugger says, "When you drop an object in a room with a dropto, the object gets sent there.  So if you don't want untidy stuff lying around in your property, you could send it to a lost and found."
 184 BunnyHugger says, "But!  If you set the flag STICKY on the room and it has a dropto, then it has an interesting behavior."
 185 You say, "In text adventures, it's used for locations without a floor, such as high in the branches of a tree."
 186 BunnyHugger says, "STICKY will cause the dropto to be delayed until the last person leaves the room."
 187 You say, "Ooh!"
 188 BunnyHugger says, "That could be used if you want people to be able to drop stuff to show each other in a room like this classroom, but want it tidied up after class if anyone forgets anything."
 189 Casandro ohhs.
 190 BunnyHugger smiles.
 191 Garrison nods
 192 BunnyHugger says, "OK, last row, action/exit.  That's the big one."
 193 BunnyHugger says, "Just to review from last time: action/exit are special kinds of objects.  What makes them special is that they have to be 'attached' to something.  So when you create an action, it's always attached to something -- usually, a room, yourself, or a thing.  But then after it's attached, it also needs to be @link-ed to a second object in order to do anything."
 194 BunnyHugger says, "For the most part, what the action is attached to doesn't matter for its behavior, rather it's what it's linked to that matters.  But there is an exception that I'll cover."
 195 BunnyHugger says, "So, second column -- linking an action to a thing.  This has two possible results.  Most of the time, it pulls the thing to you.  Like if I had an action on me called 'chittercome' and @linked it to Chitter, then when I did 'chittercome' Chitter would be summoned to my inventory."
 196 BunnyHugger says, "Last time Royce explained he uses that to call Reggie to him."
 197 BunnyHugger says, "But!  There's a weird special case."
 198 BunnyHugger says, "If an action is attached to a thing and also @linked to the SAME thing, AND if that thing has the VEHICLE (V) flag set, then it causes you to go inside that thing."
 199 BunnyHugger says, "This is the really primitive way to make vehicles, a relic of the old days."
 200 You say, "To the Catmobile!"
 201 J.P. grins.
 202 Chandra says, "Otherwise, if you link an action to yourself, it just  complains that you would create a paradox since you'd suck yourself into your own inventory, which is 'impossible' within the context of the object framework."
 203 Casandro looks around for Bdam Vest.
 204 BunnyHugger says, "I'd reckon almost no one on the MUCK with a vehicle uses this method.  Most people create vehicles using more sophisticated methods that have been built by programmers on the MUCKs over the years."
 205 BunnyHugger says, "It is on MUCK.  On MUSH, fun fact, you can get inside your own inventory."
 206 J.P. blinks.
 207 Featherwing steps off of the floating disk that carried him up.
 208 Featherwing has arrived.
 209 Chandra nods. "That I've heard!"
 210 J.P. wavies.
 211 BunnyHugger says, "I used to do it as a parlor trick."
 212 Beltrami waves to Featherwing!
 213 BunnyHugger says, "You have to teleport to inside an object you're carrying and then leave the object."
 214 Chandra says, "I've also heard that you could enter other people's inventories on a MUSH if you were within an object that was in their inventory. But, I digress.""
 215 Austin says, "S'true.  Chitter's tail used to have a love parlor."
 216 You say, "Hello!"
 217 Featherwing nosenoses those that want one and quietly sits down.
 218 BunnyHugger says, "You can, Chandra, and even more basically, on MUSH players can set themselves as vehicles and be enterable by other players; and players can literally pick up and carry others around like objects."
 219 GreenKai yays, "Objectification!"
 220 BunnyHugger says, "Yep."
 221 BunnyHugger says, "You have to @lock yourself on MUSH to stop people picking you up.  It's a way to annoy newbies."
 222 Chandra is about to say something, then decides it would just take things off topic and instead quiets himself.
 223 BunnyHugger says, "OK, sorry, that's a digression."
 224 BunnyHugger says, "On MUCK, in any case, you can't do that kinda stuff and @locking yourself means something different.  >:)"
 225 BunnyHugger says, "OK, so if an @action is linked to a room, it makes a familiar door.  Often the action will also be attached to a room, but it can be attached to a thing or a player and work the same way."
 226 Niny'ah steps off of the floating disk that carried her up.
 227 Niny'ah has arrived.
 228 Claude waves.
 229 Niny'ah slinks in, apologises for tardiness
 230 BunnyHugger says, "So you could have a personal exit on yourself -- I have one on me that is attached to me but linked to my park so I can take a shortcut home -- or on an object."
 231 Beltrami waves to Niny'ah.
 232 BunnyHugger says, "Basically, where it's attached just determines where it's accessible.  If it's on you, then only you can use it.  If it's on the room, anyone in the room can use it.  If it's on an object, then anyone carrying or in a room where that object is dropped can use it."
 233 BunnyHugger says, "The next column there is 'link an action to another action.'  I had no idea this was possible until I was writing a MUF that checked what kind of thing an action is linked to.  That was the first time I learned an action can be linked to another action, which boggled my mind."
 234 BunnyHugger says, "Prof. Joshua would probably be able to tell us what the devil that's actually good FOR, but I have no idea.  I know what it does but not an example of why you'd use it."
 235 BunnyHugger says, "IT just basically causes the next action to do whatever it does."
 236 BunnyHugger says, "Making a chain reaction."
 237 Chandra says, "So it's almost like an alias to some other lower action."
 238 Casandro raises his hand.
 239 BunnyHugger says, "Right."
 240 BunnyHugger says, "Casandro?"
 241 Casandro says, "Can you make circular links then? What happens then?"
 242 BunnyHugger thinks about it.
 243 You say, "Maybe you can put an osucc/odrop with MPI in it on the first action, thus "wrapping" the second."
 244 BunnyHugger says, "I tested it!"
 245 BunnyHugger says, "It won't let you."
 246 BunnyHugger says, "'Destination action1(#192E) would create a loop, ignored.'"
 247 Chandra says, "Big question would be if an owner creates Action A (Room) and Action B (Object Somewhere Else), owns Action A and Action B, and a player actuates Action A, does the subsequent linked action execute as if it'd been run by the Executing player or the Owning player? The other question is, let's say Action B(Player-based action). Would Action B then become accessible to the Executor via Action A?"""
 248 Casandro says, "Ahh OK."
 249 Chandra says, "Because in that case, it becomes very useful if you want to write Private Actions that are accessible only in a Protected Means (i.e. another player linked action, if that's possible)"
 250 Chandra says, "Or, to have Public Accessors touch private actions in a controlled way."
 251 Niny'ah...ow
 252 GreenKai bops a little to her memory of "Chain Reaction", then has a thought, "I can't use that to make an object that makes me go to another person at their request, right? It can only affect the person triggering the action?"
 253 You say, "Something tells me it wasn't all that well thought out, Chandra. :)"
 254 GreenKai also wonders if it would stop you if you had three objects to create a loop. *grin*
 255 BunnyHugger says, "I THINK it will only have your permissions rather than that of the other action's owner, Chandra, but I admit I have not thought through all the complexities of this issue."
 256 Chandra says, "Actually, Kai, I did try linking an action on myself to myself. The MUCK object framework did cry paradox."
 257 BunnyHugger says, "Now GreenKai, actions can't be used to summon players the way they can be used to summon things, so I don't think that would be possible."
 258 Chandra chuckles.
 259 Dragoncat says, "I think even if you managed to make an infinite loop, the program would break it after so many iterations."
 260 GreenKai awws, "But I wanna be a genie-norn!"
 261 Chandra cackles.
 262 BunnyHugger says, "There are definitely some interesting technicalities here, but, for the sake of the folks who are just beginning learners, I'd like to set those aside for now.  We can ask Prof. Farstrike if he attends a future class."
 263 Austin says, "I should expect so, but I'm not sure which setting is used for this, and I'd like people to test such things on the development muck if they're going to because I would really rather we not return to crashing SpinDizzy in experimentation."
 264 Chandra says, "Oh, is there a PTR?"
 265 BunnyHugger says, "Yes, by the way, I tested that loop theory on my private MUCK, not locally, so Austin doesn't have to give me a worried look."
 266 BunnyHugger says, "Weird and fun fact that's not really all that useful, but something I discovered while writing DoorCheck.muf:"
 267 BunnyHugger says, "An action can be linked to only one of the following group (player, program, room), but (at the same time) to an unlimited number of things and exits."
 268 BunnyHugger says, "Things and other actions, that is (since exit/action is the same thing)."
 269 You say, "So that's why you can link an action to another."
 270 BunnyHugger says, "To link an action to multiple things, you use pipe.  @link action1=chitter|camera would link an action to both Chitter and my camera, and would summon them both when I ran it."
 271 You say, "Because if you link it to several at the same time..."
 272 Chandra says, "I guess that's what some of the internet guides mean by 'Multi-Action'"
 273 BunnyHugger says, "Most likely!"
 274 Chandra says, "Does different things based on certain preconditions -- perhaps linking is one of them, but I digress again."
 275 BunnyHugger says, "Finally, linking an action to a program runs the program.  Those of you who have any actions linked to stuff in the library already know that.  Like, I have a private action that runs karaoke.muf for me."
 276 BunnyHugger says, "That'll be how you'll really create sophisticated stuff!"
 277 BunnyHugger says, "Like if Chandra wanted to make his machine actually give you a cake, he could link an action on it to fakemunchies.muf (and follow the other directions for setting up that program)."
 278 BunnyHugger says, "OK, let's move on.  I want to say a few things about properties, then move to our main topic for today, success and failure messages."
 279 fluffy snugs Niny'ah, from afar!  
 280 BunnyHugger says, "All objects have properties, which are bits of information that are stored on the object and used by programs and by the basic commands of the MUCK for various things.  Basically, they 'describe' the object and set the messages for that object.  Your descriptions are all actually a property on you that the built-in look program knows to retrieve."
 281 BunnyHugger says, "Same with your sex.  Species is not actually an idea built in to the MUCK architecture, but it's a really common property on furry type MUCKs, for obvious reasons.  So that is also a property.  And if you examine yourself you'll probably fine properties used by other programs here."
 282 BunnyHugger says, "ex me=/ -- that will show you all the properties (or directories of properties) that are on you!"
 283 - dir /_/:(no value)
 284 - dir /_bbsread/:(no value)
 285 - dir /_board/:(no value)
 286 - dir /_fake/:(no value)
 287 - dir /_feel/:(no value)
 288 - dir /_hand/:(no value)
 289 - dir /_images/:(no value)
 290 - str /_lastmorph:Captain Kitty
 291 - dir /_meet/:(no value)
 292 - dir /_morph#/:(no value)
 293 - dir /_page/:(no value)
 294 - dir /_prefs/:(no value)
 295 - str /_receive_ok:yes
 296 - dir /_reg/:(no value)
 297 - str /_regmorphs:    OWL    captain  
 298 - str /_scent:Claude smells of vinyl, ink and oranges. Why oranges? Good question.
 299 - str /_sweep:sweeps the sleepers with an invisible broom.
 300 - str /_swept:scampers home with a flustered "Meow!"
 301 - dir /_tel/:(no value)
 302 - str /_throw_ok:yes
 303 - dir /_ui/:(no value)
 304 - dir /_verbatim/:(no value)
 305 - dir /_whisp/:(no value)
 306 - str /_xcondbref:10473
 307 - str /_xconecho:y
 308 - str /gender:male
 309 - dir /muckstat/:(no value)
 310 - int /ratpoints:5
 311 - str /redesc#/:3
 312 - str /reflist:#3 #4
 313 - dir /RIDE/:(no value)
 314 - dir /rose/:(no value)
 315 - str /sex:male
 316 - dir /snow/:(no value)
 317 - str /species:LOLcat
 318 - int /testlist#/:1
 319 - dir /whereis/:(no value)
 320 - str /~status:meow
 321 38 properties listed.
 322 BunnyHugger says, "I have toooooons of them that various programs have set on me."
 323 Chandra says, "You can also use lsprop me=/; they both do the same thing, just different ways of doing it."
 324 BunnyHugger nods.
 325 fluffy polishs Beltrami, from afar!  
 326 BunnyHugger says, "Also, to see the subdirectories, you end with a trailing slash.  So, 'ex _fake/' for instance will show me all the stuff in my _fake directory of props."
 327 BunnyHugger says, "I used that as an example to point out that properties are what the fake object program uses.  Last night someone in the Rose Garden asked what's the difference between a real and fake object.  Well, this is it!  A real object is a database object with its own DBREF#.  A fake object isn't an object at all -- it's a property that is stored on the person 'carrying' it or the room 'holding' it."
 328 BunnyHugger says, "That's why a room has to have a special permission set to allow dropping fake objects in it; because basically in dropping the object what you're really doing is writing a property onto it, which you normally can't do with stuff you don't own."
 329 Niny'ah says, "huh"
 330 BunnyHugger says, "Fake objects were invented to try to prevent database bloat -- people creating real objects just as decorations for their inventory when all they really wanted was a few lines of extra description."
 331 BunnyHugger says, "Now, properties are set a couple of ways.  One way is, by programs or commands that you run.  '@sex me=female' actually is a shortcut that tells the MUCK to set a certain property on you.  Same with @desc."
 332 BunnyHugger says, "The other is manually!  Props are set manually using the command @set.  '@set me=species:Devilbunny' sets the property 'species' with the value 'devilbunny' on me."
 333 Royce steps off of the floating disk that carried him up.
 334 Royce has arrived.
 335 Beltrami smiles to Royce.
 336 You say, "Hello, Royce."
 337 BunnyHugger says, "You can also set subdirectories: '@set me=exampledir/example:boring example' would create a directory (or add to an existing directory) called 'exampledir' and in it would give me the prop 'example' and the value 'boring example'."
 338 Royce churrs, "Hello."
 339 Casandro waves to Royce.
 340 BunnyHugger says, "Now, a lot of properties are just things that custom programs, like the ones in the plib, use."
 341 BunnyHugger says, "Like, to put preferences on yourself for how the program should run, for example."
 342 BunnyHugger says, "But, what I want to focus on for the rest of our lesson, is the special properties known as success, failure, and drop."
 343 BunnyHugger says, "These properties can be set with shortcuts that all MUCKs use."
 344 BunnyHugger says, "So how many of you have used @success and @osuccess before?  I usually abbreviate them @succ and @osucc, which also works."
 345 Claude raises a paw.
 346 Royce has.
 347 Austin says, "Used as in done something which used them, or used as in created something which used them?"
 348 Casandro raises a paw and adds, "But only with editroom.".
 349 BunnyHugger says, "Used as in created something that used them.  We've all DONE something that used them, probably more often than we realized.  >:D"
 350 Niny'ah headshakes, hasn't had cause
 351 BunnyHugger says, "OK!  Many have, some haven't."
 352 Beltrami raises a hand.
 353 BunnyHugger says, "Claude, what have you used them for?"
 354 You say, "Most of the time, for setting messages on exits."
 355 BunnyHugger nods.
 356 BunnyHugger says, "That's the most common use!"
 357 Casandro nodnods.
 358 Claude tilts his head at Beltrami.
 359 BunnyHugger says, "On an exit/action, @success and @osuccess determine the message the action gives when you use it -- or rather, just before you use it."
 360 GreenKai points to her ball, "It's successful, too!"
 361 BunnyHugger says, "Anyone use it for anything besides setting messages on actions?"
 362 Beltrami nods!
 363 BunnyHugger says, "Beltrami?"
 364 Claude lifts his paw again.
 365 Beltrami tugs her shirt and taps her sneakers together.
 366 Claude peeks curiously.
 367 Chandra raises his hand. 
 368 You say, "For when you dress/undress?"
 369 BunnyHugger says, "Oh, you use a @success property to dress?"
 370 Beltrami nods.
 371 Chandra says, "Had to use the osucc/ofail messages as part of making the DSD/H-MK1 and the Nondescript Bar"
 372 BunnyHugger says, "With MPI, I'd guess?"
 373 Beltrami nodnods.
 374 GreenKai says, "If you pick it up or drop it, it does stuff. I don't think it can fail, though."
 375 BunnyHugger says, "Yes, the other thing @succ/@osucc can be used for -- kind of beyond what the original designers probably realized it'd be used for! -- is to run MPI programs that can do lots of stuff."
 376 BunnyHugger says, "And GreenKai is also right.  Success messages also will be given when you pick up an object."
 377 BunnyHugger says, "Although for dropping an object, another property called @drop is used."
 378 BunnyHugger says, "To elucidate all this, I HAVE A TABLE!!!1!"
 379 You say, "Which could fail, if you were locked out of picking it up."
 380 BunnyHugger says, "Correct."
 381 BunnyHugger unrolls another chart.
 382 <Verbatim start: BunnyHugger>
 383            |  Player     |   Thing    |     Room     |   Action    |   Program
 384 --------------------------------------------------------------------------------
 385 succ/osucc |  Robbed     | Picked up  |  Looked at   |Before using |  Picked up
 386 --------------------------------------------------------------------------------
 387 drop/odrop |  Killed     |  Dropped   |Object dropped| After using |   Dropped    
 388 --------------------------------------------------------------------------------
 389 <Verbatim end:   BunnyHugger>
 390 Casandro ohhs at the chart.
 391 BunnyHugger says, "OK, so let me explain all this."
 392 BunnyHugger says, "This is the conditions under which the succ/osucc and drop/odrop messages are displayed."
 393 BunnyHugger says, "By the way: the 'o' means 'what other people see.'"
 394 Featherwing has a headache and must wait for the log, excuse me...
 395 Niny'ah says, "OtherSucc"
 396 Chandra nods.
 397 Niny'ah says, "Succ/Fail are Self message"
 398 Featherwing flutters off to his home...
 399 Featherwing has left.
 400 BunnyHugger says, "So, @succ [obj]=You do something successful! -- shown to the player.  @osucc [obj]=does something successful! -- shown to the room.  Name is always put first, so don't duplicate it."
 401 BunnyHugger says, "In osucc/odrop/ofail, the name of the player will be prepended.  In succ/drop/fail, it isn't."
 402 BunnyHugger says, "So Niny'ah is right, it's O for Other."
 403 Claude copies this chart as well.
 404 Garrison nods
 405 BunnyHugger says, "So in this table, on the left we have succ and drop, and on the top row we have what kind of object you're setting it on."
 406 Royce churrs, "DIdn't there used to be another one?  Live @vsucc or something like that?"
 407 BunnyHugger hrms.  "I don't know that one!"
 408 Royce churrs, "I guess it doesn't exist, but I could have sworn that it did."
 409 BunnyHugger says, "It might have been a global..."
 410 Chandra says, "Maybe it was a custom message type for a specific program?"
 411 BunnyHugger says, "Sometimes the globals mimic the syntax of the built in property setting commands."
 412 Royce churrs, "It was like 'victim success', where it was the message shown only to the person that the action was done to."
 413 J.P. has disconnected.
 414 SquirrelPlushie falls asleep.
 415 BunnyHugger hrms.
 416 BunnyHugger says, "That makes sense as something that ought to exist, but I've somehow not heard of it."
 417 Chandra says, "So, for example, if you were robbed."
 418 Austin says, "Oh, yes.  I think there's an echo of it in the custom hug settings."
 419 Austin says, "How you *can* set hug/ohug/vhug, but nobody sets vhug because *gads* it's too much work."
 420 Royce checks Furrymuck, but it doesn't exist there either. 
 421 Royce churrs, "That must be what I'm thinking of, then."
 422 Austin says, "You set the vhug on yourself so that when you're hugged, you get that message."
 423 BunnyHugger says, "Sure sounds like it SHOULD exist, but I don't know of it!"
 424 BunnyHugger says, "So speaking of robbing, there's something a lot of people don't know exists."
 425 BunnyHugger says, "I can't rob Austin because I robbed him blind last night."
 426 Austin says, "Give it a try again.  I just created some wealth."
 427 BunnyHugger says, "He only had four boms bom and I robbed him until I had all of them."
 428 BunnyHugger says, "Yay!"
 429 Chandra chuckles.
 430 BunnyHugger says, "Who wants money?  Just 'rob austin' for some!"
 431 Austin says, "Go on, folks, give it a go."
 432 Chandra says, "Austin, apparently you're now object type ATM."
 433 Casandro yays.
 434 Royce hmm.  "Yeah, I must have been thinking of vhug and such.  Ah well."
 435 GreenKai giggles, "Try me!
 436 Casandro filches a few shinies from the unsuspecting norn.
 437 Austin hehs.
 438 BunnyHugger says, "Yes, in a weird relic of the MUD progenitors, you can in fact rob people of money."
 439 Chandra says, "Also, if you @lock yourself, you can't be robbed, from what I understand."
 440 BunnyHugger says, "However, if you lock yourself, then they can't."
 441 BunnyHugger says, "That's what @lock does here on MUCK."
 442 BunnyHugger says, "So @lock me=me sets your lock to 'only me' so no one else can rob you."
 443 Locked.
 444 BunnyHugger says, "If you leave yourself unlocked anyone can do it.  Or, you can set it so only your pals can do it."
 445 BunnyHugger says, "I have my lock set to 'me and Austin' as a romantic gesture.  You can set multiples with pipe, and you use asterisk to prefix player names.  So '@lock me=me|*austin' is how I set that."
 446 GreenKai says, "There isn't a kill-lock, though?"
 447 Chandra says, "Locks are also great for other types of objects, too."
 448 BunnyHugger says, "The equivalent is to not be set K."
 449 Royce churrs, "Now you want to be careful of robbing people, too.  I've seen instances where someone has set their rob @ofail message as something particularly nasty.  So that's why I rarely rob people."
 450 BunnyHugger says, "Setting K allows being killed."
 451 Chandra says, "I think you just do @set me=!K"
 452 GreenKai says, "Right, but it can't discriminate is what I meant."
 453 BunnyHugger says, "It defaults off."
 454 Chandra says, "Don't think so."
 455 BunnyHugger says, "No, you're right, it can't.  I don't think there's a way to do that."
 456 BunnyHugger says, "OK, so checking out the chart..."
 457 <Verbatim start: BunnyHugger>
 458            |  Player     |   Thing    |     Room     |   Action    |   Program
 459 --------------------------------------------------------------------------------
 460 succ/osucc |  Robbed     | Picked up  |  Looked at   |Before using |  Picked up
 461 --------------------------------------------------------------------------------
 462 drop/odrop |  Killed     |  Dropped   |Object dropped| After using |   Dropped    
 463 --------------------------------------------------------------------------------
 464 <Verbatim end:   BunnyHugger>
 465 Casandro dawws at Royce and hands him a shiny voluntarily.
 466 Royce yay!  "Thanks!"
 467 BunnyHugger says, "Succ/osucc on a player gives the message to the robber and to the room when you're robbed.  Drop/odrop on a player gives the message to the killer and the room when you're successfully killed."
 468 BunnyHugger says, "On a thing, succ/osucc is the message when you pick up that thing.  I could, for instance, do '@succ chitter=You pick up Chitter!  He bites you for your trouble!' and '@osucc chitter=picks up Chitter!  He looks really angry!'"
 469 BunnyHugger says, "Enter 'help %N' if you want to know how to do pronoun substitutions in messages, like if I wanted to say 'picks up Chitter!  Chitter bites [appropriate pronoun]!'"
 470 Royce churrs, "I saw that on FM once.  Someone set the @fail  for rob as something innocuous, but the @ofail as something very much not appropriate for public spaces.   I also don't use rob because anyone that I try to use it on usually has no sense of humour and has locked themselves already."
 471 Claude wraps his tail over his paws. o.o
 472 BunnyHugger says, "I'd think the wizards might not look kindly on a stunt like that, Royce."
 473 BunnyHugger says, "But I guess FM is basically a lawless post-apocalyptic world.  >;)"
 474 Austin says, "Not perfectly lawless.  I've seen wizards there in recent times."
 475 Royce churrs, "I'm not sure.  I don't come out in public there much anymore.  :)"
 476 Chandra says, "Would be amusing to use fail/succ on a rob action to tally up the number of robberies someone has committed"
 477 Chandra mutters something about global statistics, Big Data, and Analytics as he scribbles on a piece of paper.
 478 GreenKai killed GreenKai!
 479 GreenKai has left.
 480 BunnyHugger says, "And I could also put a drop message on Chitter: '@drop Chitter=You drop the troublesome squirrel.'  '@odrop chitter=drops Chitter, with a look of relief.'"
 481 GreenKai arrives in the cable car.
 482 GreenKai has arrived.
 483 Chandra glances to GreenKai and chuckles. "Do you still have all your stuff on you? I believe when you're Killed, it goes back home, wherever that is.
 484 BunnyHugger says, "That's enough, GreenKai, I think we don't need any more suicidal tendencies around here.  >;)"
 485 BunnyHugger says, "Chandra is correct."
 486 GreenKai giggles.
 487 Austin snickers.
 488 GreenKai says, "I tried to set a drop but I don't think it worked . . ."
 489 GreenKai only had fake objects and self-owned items anyway.
 490 Chandra chuckles. "Yeah, being killed can be annoying if you didn't link your stuff back to your home or to you, but I digress. Also, if someone kills you, you get Currency Units for it.
 491 BunnyHugger says, "No?  I wonder why not?"
 492 Chandra says, "You may also spend Currency Units to kill someone; Wizards, however, cannot be killed, I don't believe. They're weird and mysterious like that."
 493 BunnyHugger says, "Wizards cannot be killed except when set Q."
 494 Royce churrs, "I thought that made them omnipotent and boring."
 495 Chandra chuckles.
 496 Garrison says, "Q can do anything."
 497 Royce churrs, "Except be an interesting character."
 498 Garrison nods
 499 Chandra says, "Anyway, back to the topic of success, fail, and drop actions..."
 500 You say, "It's hard to write such a powerful character well, in all honesty."
 501 BunnyHugger says, "Ah, now, I tested setting drop on myself and killing myself elsemuck and it did work.  Did you '@drop me=Blah blah'?  It's easy to miss in the spam of being sent home though."
 502 GreenKai says, "I had: str /_/odrop:makes the poor norn vanish in a puff of jingles and sparkles!"
 503 GreenKai says, "and an /_/drop and /_/fdrop too . . ."
 504 BunnyHugger says, "Ah, that's because that's not actually the prop for odrop."
 505 BunnyHugger says, "If you want to do it manually: '@set <object>=_/odr:[text]'"
 506 BunnyHugger says, "But also '@odrop me=[message]' will set it."
 507 BunnyHugger says, "I know, I know, consistency.  >;)"
 508 BunnyHugger says, "Now, back to rooms."
 509 BunnyHugger says, "Success determines what displays when you successfully 'use' an item.  But 'use' is contextual."
 510 BunnyHugger says, "The weird thing is what counts as 'using' a room."
 511 BunnyHugger says, "And that's 'looking at it.'"
 512 BunnyHugger says, "So if you set a succ/osucc on a room, it fires whenever someone looks at the room, including when they walk into it."
 513 BunnyHugger says, "Weird, I know."
 514 BunnyHugger says, "This could be used for interesting effects, but it isn't very intuitive."
 515 BunnyHugger says, "But drop/odrop do what you'd think: they go off when someone drops an object in the room."
 516 BunnyHugger says, "Actions are the most common use of succ/drop messages.  It's considered good building practice to always have them set on all your exits, and it's in the building code here actually."
 517 You say, "It's a lot more useful on a MUSH. They don't have lsedit, so you can use @succ on a room to add a second paragraph of description."
 518 BunnyHugger says, "Now, succ/osucc go off 'before' you take the exit/do the action, drop/odrop 'after.'  If the action is a door, then 'succ' is what people in the room you're leaving see, and 'drop' what people in the destination room see."
 519 BunnyHugger says, "Here on SD, you can quickly set all that stuff generically with 'sge [exit]' which means 'set generic exit messages.'  It's a global program here."
 520 BunnyHugger says, "And it says 'leaves for [name of room]' and 'arrives from [name of one you left]' or something similar to that."
 521 BunnyHugger says, "SGE also puts in generic descriptions of exits."
 522 You say, "It does?"
 523 BunnyHugger nods.
 524 BunnyHugger says, "It makes them 'On the other side you see... [desc of destination room].'"
 525 BunnyHugger says, "Or something close to that."
 526 BunnyHugger says, "'In that direction you see' maybe."
 527 BunnyHugger says, "Fun fact: technically the MUCK runs succ first, then osucc."
 528 BunnyHugger says, "Same with drop and then odrop, I assume.  This is useful to know for advanced folks writing MPI because order can make a difference."
 529 BunnyHugger says, "OK, final column: Programs.  The succ/drop stuff for programs is the same as though they were things."
 530 BunnyHugger says, "Basically what happens when you pick up the program object and when you drop the program object.  It just treats them like normal things for that purpose."
 531 BunnyHugger says, "I bet this rarely gets set, because programs aren't usually chucked around like that.  n.n"
 532 You say, "It's of little use, right?"
 533 BunnyHugger says, "Right.  Just color if you like describing your programs as though they had an IC existence, which is a quirk I have."
 534 BunnyHugger drops SternLook.muf.
 535 BunnyHugger says, "Like that one.  n.n"
 536 BunnyHugger says, "So!  That's succ/drop stuff, but that leaves failure messages."
 537 Chandra says, "Weird."
 538 BunnyHugger says, "fail/ofail run whenever an object is locked against you and you try to "use" it (or when it cannot be used for any other reason).  Since "use" is defined differently for different objects, fail/ofail are similarly contextual.  The most common use is to give a message when a door action is locked.  It also runs if you try to pick up an object that is locked (a good reason to lock your stuff if you want it to stay put) or if you fail in an attempt to rob someone."
 539 BunnyHugger says, "Oddly enough, you can 'fail' to use a room if you look at it when it's locked against you, but this has no significant effect other than causing the fail instead of succ to run after the room description.  Despite what you'd think, it doesn't result in failing to see the room!"
 540 BunnyHugger says, "So this brings me around to the actual practical part of today's lesson."
 541 Chandra says, "Yeah, not being able to inspect the contents of a program within the world makes it of little use to have and In-World Object representations of them, sadly -- unless you just like flinging them around for fun. That would be neat if there were default read actions on programs so that people could use the action and just look at the code when it's in World-Instantiated object form, but I digress..."
 542 GreenKai drops SternLook.muf.
 543 BunnyHugger says, "Now that you know about succ/osucc, you have the information you need to make a working action on your object that you brought in today."
 544 BunnyHugger says, "Because the most popular way to make a very simple interactive element on your stuff is to create an action on it and use the @succ/@osucc messages to make it 'do' something."
 545 BunnyHugger says, "I have here a camera that's currently just a static object."
 546 Chandra drops SternLook.muf.
 547 BunnyHugger sniffs.  "My sternlooker!!"
 548 GreenKai says, "Should've locked it!"
 549 Austin says, "Of all the things to be stolen you'd think that the most dangerous."
 550 BunnyHugger giggles.
 551 Claude gets a lightbulb above his head.
 552 BunnyHugger says, "So I'm going to put an action on my camera so that it makes a noise when I press the shutter."
 553 BunnyHugger says, "Let's say I'll call the action 'take picture'."
 554 BunnyHugger hrms.
 555 BunnyHugger says, "No, too ambiguous with 'take.'  Let me call it..."
 556 BunnyHugger says, "'snap photo'"
 557 Niny'ah says, "Snap?"
 558 BunnyHugger grins.
 559 BunnyHugger says, "Yeah."
 560 BunnyHugger says, "So the first thing I need to do is create the action, which should be attached to my camera."
 561 BunnyHugger says, "'@action snap photo;snap;photo=camera' is what I just entered."
 562 BunnyHugger says, "The semicolons give you aliases for the same action."
 563 BunnyHugger says, "So I could do 'snap photo' or 'snap' or 'photo' and any of it would work."
 564 BunnyHugger says, "And it told me it created the action with dbref# 15945 and attached it to my camera."
 565 Beltrami has disconnected.
 566 BunnyHugger oopses.
 567 Beltrami has connected.
 568 BunnyHugger waits to see if...
 569 BunnyHugger ahas.
 570 Beltrami's ears wiggle.
 571 BunnyHugger says, "OK!  So..."
 572 Claude paws at them!
 573 BunnyHugger says, "What will happen now if I do 'snap photo'?  Anyone?"
 574 You say, "Nothing much?"
 575 GreenKai says, "The @succ for the camera will fire, if it's not locked against you?"
 576 BunnyHugger says, "It would, except..."
 577 Royce churrs, "Well, a bunch of people will hide, while the others will all make goofy faces."
 578 BunnyHugger says, "It's not linked to anything so it doesn't know what to do."
 579 BunnyHugger says, "I get 'You can't go that way.' which is a generic failure message."
 580 Austin says, "I believe it'd also change ownership to you, if you hadn't already owned it."
 581 BunnyHugger says, "I don't think it will -- I think it'd give a nonowner the failure message, BUT..."
 582 Austin says, "I may have this wrong.  You can certainly chown unlinked exits, though."
 583 BunnyHugger says, "Yes.  An unlinked exit can be chowned by ANYONE."
 584 BunnyHugger says, "So here's the wrong way to make my action, but a way people hit on sometimes by accident not realizing the problem with it."
 585 Claude raises a paw.
 586 BunnyHugger says, "Yes Claude?"
 587 Austin says, "Yes, I was wrong.  It's chownable but it doesn't automatically change ownership."
 588 You say, "Last time, if I remember correctly, you said that actions and exits are actually the same type of object. Why, then, are there two different commands for creating them?"
 589 BunnyHugger says, "They amount to actually the same thing more or less... let me explain."
 590 Niny'ah says, "presets"
 591 You say, "Aah. *nod*"
 592 BunnyHugger says, "'@open [name]' is a shortcut for '@action [name]=here' -- it's just a quick way of saying 'I'm making an action and attaching it to this room.'"
 593 BunnyHugger says, "And it allows this additional parameter -- '@open [name]=[destination room #]' is also a shortcut for running two commands: '@action [name]=[here]' and '@link [name]=[destination room #]'"
 594 BunnyHugger says, "It's more useful in the context of building and making doors, but it's actually still the same thing under the hood."
 595 You say, "Right."
 596 BunnyHugger says, "So back to my camera.  The wrong way to finish it would be to set a fail/ofail on it and leave it unlinked.  That'd work, but would be dangerous."
 597 BunnyHugger says, "Because an unlinked action/exit has the weird quality of being chownable by anyone, so someone could chown my camera action if they wanted to be bothersome (or by accident maybe)."
 598 BunnyHugger says, "So what I want to do is to link it and put my camera action message on the @succ."
 599 BunnyHugger says, "But wait, link it to what?  I don't actually want it to teleport me somewhere or anything like that, so what can I do to link it up but effectively not have the action DO anything?"
 600 Chandra says, "Link it against $nothing.muf."
 601 Chandra says, "Err, link it against $nothing, which I believe is global shorthand for nothing.muf."
 602 BunnyHugger says, "Indeed, that's why this silly trick of having a MUF that does nothing comes in."
 603 BunnyHugger says, "Almost all MUCKs will install a program called do-nothing.muf which has the alias $nothing."
 604 BunnyHugger says, "So you can link an action to it and thus safeguard the action from chowning, and then when you use it it 'successfully' runs the do-nothing program, but the real point is to get the @succ/@osucc to fire."
 605 BunnyHugger says, "So in my case I'm going to do this: @link snap photo=$nothing"
 606 Royce needs to get going for a bit.  "Seeya later!"
 607 BunnyHugger says, "It says 'do-nothing.muf(#108FLVM3).'  Good!"
 608 BunnyHugger says, "Er, it says 'Linked to do-nothing.muf(#108FLVM3).' that is."
 609 Beltrami waves to Royce.
 610 You say, "Take care, Royce."
 611 Royce has left.
 612 BunnyHugger says, "So now I can set messages on it!"
 613 BunnyHugger drops Stereo Camera.
 614 BunnyHugger snaps a photo with a satisfyingly old-fashioned clicking sound.
 615 Claude blinks at the flash.
 616 Garrison says,"Cheese!"
 617 GreenKai drops Cheese Wedge.
 618 BunnyHugger says, "There!  I did '@succ snap photo=You snap a photo with a satisfyingly old-fashioned clicking sound.' and '@osucc snap photo=snaps a photo with a satisfyingly old-fashioned clicking sound.'"
 619 GreenKai take wedge
 620 Chitter snaps a photo with a satisfyingly old-fashioned clicking sound.
 621 BunnyHugger says, "Austin, would you like to try?"
 622 GreenKai hands Cheese Wedge to Claude.
 623 Austin says, "Oh, happily."
 624 Austin tries to snap a photo, but it's been coati-proofed!
 625 Austin aws!
 626 GreenKai giggles.
 627 BunnyHugger says, "Ha ha!"
 628 Casandro snaps a photo with a satisfyingly old-fashioned clicking sound.
 629 Garrison hehs
 630 Austin says, "We went through this with the coon-proof cookie jar!"
 631 BunnyHugger says, "Yes, we did."
 632 Casandro drops invader.
 633 
 634 [Connection froze here.]
 635 <Verbatim start: BunnyHugger>
 636 Casandro pokes the invader, it doesn't do anything.
 637 You say, "As a prank, I locked the action against Austin."
 638 You say, "'@lock snap photo=!*austin'"
 639 You say, "That says 'The lock is, you have to not be Austin.'"
 640 <Verbatim end:   BunnyHugger>
 641 [And then I reconnected.]
 642 
 643 Claude sniffs the cheese. Hmm?
 644 Beltrami smiles to Claude.
 645 GreenKai grins, "It's dairyliffic!"
 646 BunnyHugger says, "Or if I only wanted me and Austin to be able to use it, I could have done '@lock snap photo=me|*austin'"
 647 Claude clings to Beltrami.
 648 BunnyHugger says, "And what you saw is the @ofail I set."
 649 BunnyHugger says, "Austin should have seen the @fail."
 650 Austin nods, "I saw 'Sorry, it's coati proof!'
 651 BunnyHugger says, "Yep!"
 652 BunnyHugger says, "To clear all locks, use '@unlock.'"
 653 BunnyHugger says, "I just '@unlock snap photo' to let Austin use it again."
 654 GreenKai says, "That wouldn't work against Natasha, though. Could you make it search for 'coati' in their species?"
 655 BunnyHugger says, "You can, actually."
 656 BunnyHugger says, "Do 'help @lock' to see some ways you can use it."
 657 BunnyHugger says, "One useful thing you can do is lock things to people who have certain properties set.  Like if I wanted only people who can breathe underwater to be able to use my area, I might put a sign up saying you have to have 'breathe_underwater?:yes' set."
 658 BunnyHugger says, "There used to be areas on FM like that."
 659 BunnyHugger says, "So that's my lesson for today.  Any questions before I give homework?"
 660 Austin says, "As a stylistic point, if you wanted to put a lock like that on an area, I'd recommend making it prefs/breathe_underwater?:yes so that when people examine themselves there aren't all sorts of bizarre little properties like that."
 661 Niny'ah says, "wait"
 662 Beltrami pats herself and shakes no.
 663 BunnyHugger says, "Yes, Austin is right."
 664 Claude yawnifies and shakes his head.
 665 BunnyHugger says, "Sure, Niny'ah."
 666 Niny'ah says, "would I be able to set breathe_underwater?:yes on an item and if carrying it, I could go there?"
 667 Niny'ah taps the rebreather
 668 GreenKai says, "Maybe you could make it put the pref on you when you picked it up, and take it off when you dropped it."
 669 BunnyHugger says, "Sadly not -- although if the item were your vehicle, that would work.  Because it's going to evaluate it on the player or thing that actually takes the exit.  But..."
 670 BunnyHugger says, "What GreenKai says.  You could make it so your rebreather, when picked up, would use MPI to set a property on you, and when dropped, would remove the property from you.  Or an action of turning the rebreather on and off could do the same thing."
 671 Niny'ah says, "ahhh"
 672 Niny'ah stops asking questions because headache
 673 BunnyHugger says, "Joshua's planning to run an MPI class when I'm done with this class, and you'd learn to do stuff like that in there."
 674 BunnyHugger says, "But I could probably actually show you how to do it simply next class, since it's a fairly quick little bit of code you could learn."
 675 BunnyHugger says, "MPI is NOT my strong suit but I know a little."
 676 BunnyHugger says, "I use it to Bugglize myself.  n.n"
 677 BunnyHugger says, "OK, here's homework!  This is something to actually DO with the object you created and brought in."
 678 Claude nodnodnods!
 679 <Verbatim start: BunnyHugger>
 680 Build a THING with the following features:
 681 1) It gives a message when successfully picked up and if someone unauthorized tries to pick it up.
 682 2) It gives a message when dropped.
 683 3) It has an action on it that gives a message when used, and when someone unauthorized tries to use it.
 684 <Verbatim end:   BunnyHugger>
 685 Chandra makes modifications to his existing object...
 686 BunnyHugger says, "If you want to work ahead at all:"
 687 BunnyHugger says, "We're going to talk about Zombies next time, and I'm going to teach how to make one from scratch.  A lot of you may have zombies but have used the Zombie Hammer to make them, which is fine."
 688 BunnyHugger says, "But I think it's good practice to do it from scratch once to know how it 'works.'"
 689 Casandro nodnods.
 690 BunnyHugger says, "So if you want to try your hand at building a zombie from scratch you can, or just working as far into it as you know how."
 691 BunnyHugger says, "Of course feel free to page me for help with stuff, I like helping."
 692 You say, "I made mine from scratch, mostly by poking around blindly."
 693 GreenKai giggles, "It's just brain surgery, not rocket science!"
 694 You say, "Tee-hee!"
 695 BunnyHugger rolls up her beloved tables.
 696 BunnyHugger says, "Thanks for coming everyone!  Sorry we ran over a bit."
 697 Beltrami touches her chin.
 698 You say, "Can I stop the log?"
 699 Chandra says, "Thank you!"
 700 Garrison nods
 701 Casandro says, "Thanks, BunnyHugger."
 702 Chandra sets his object aside for now and then wheels out.
 703 Chandra has left.
 704 You say, "Indeed, thank you, BunnyHugger."
 705 BunnyHugger says, "I think it's way too easy (and sort of entertaining) to hash out some of the oddities of the MUCK that stuff like my tables really makes apparent."
 706 BunnyHugger says, "Sure, Claude."

New Attachment

File to upload
Rename to
Overwrite existing attachment of same name
What is the Admin password?

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2021-02-19 01:04:17, 41.9 KB) [[attachment:building-class-1-log-cleaned.txt]]
  • [get | view] (2021-02-19 01:04:41, 55.2 KB) [[attachment:building-class-2-log-cleaned.txt]]
  • [get | view] (2021-02-19 01:04:46, 36.2 KB) [[attachment:building-class-3-log-cleaned.txt]]
  • [get | view] (2021-02-19 01:04:51, 29.4 KB) [[attachment:building-class-4-log-cleaned.txt]]
  • [get | view] (2021-02-19 01:04:57, 49.7 KB) [[attachment:building-class-5-log-cleaned.txt]]
 All files | Selected Files: delete move to page copy to page