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

Download

   1 BunnyHugger goes up and writes on the board.  "Today's Lesson: I. Types of Objects on the MUCK, 2. Flags, 3. Properties, 4. Fun with THINGS"
   2 Claude blinks!
   3 BunnyHugger says, "Hang on, I should probably try to look a little more professional."
   4 J.P. steps off of the floating disk that carried him up.
   5 J.P. has arrived.
   6 J.P. wavies!
   7 ( :wavies, too. )
   8 J.P. says, "Crap."
   9 BunnyHugger takes off her Fake Trevor outfit.
  10 BunnyHugger says, "Hi J.P., you're just in time."
  11 You say, "Hello, J.P."
  12 J.P. says, "Hey."
  13 BunnyHugger points at the board and her inscription, "Today's Lesson: I. Types of Objects on the MUCK, 2. Flags, 3. Properties, 4. Fun with THINGS"
  14 Beltrami sits at a desk.
  15 Garrison steps off of the floating disk that carried her up.
  16 Garrison has arrived.
  17 Beltrami waves to Garrison!
  18 Garrison waves back
  19 Claude waves.
  20 BunnyHugger says, "All right, class!  What I'm going to be doing in this course is taking people from absolute beginner to advanced builder with at least intermediate skills at building fun stuff.  Today we'll start with the basics and some terms and concepts, then move on to talking about THINGS, the first type of object we'll be covering.  Next class we'll talk about ROOMS, and in the final class we'll learn more advanced stuff to jazz up your THINGs and ROOMs as well as some best practices and things to avoid."
  21 BunnyHugger says, "AFter the third class we'll have a practical final exam and those who complete it will receive a Certificate of Building Expertise as well as the foundation to move on to Joshua's MPI class later."
  22 Niny'ah flutteryay.
  23 BunnyHugger says, "So first let me get a sense of where people are.  I know at least some of you folks are already accomplished builders."
  24 Claude nodnods and fumbles for his notebook, uncaps a pen, tries it out etc.
  25 Royce raises a paw. "I'm over here!"
  26 Niny'ah drops Compact Rebreather Aqualung.
  27 Joshua steps off of the floating disk that carried him up.
  28 Joshua has arrived.
  29 BunnyHugger looks at Niny'ah's Aqualung.  "Ah, so here we have an example of a THING, one of the main types of objects here on the MUCK."
  30 Joshua ruffs, "Oh, you went to classroom 1."
  31 BunnyHugger says, "Sorry!  Is that the wrong room?"
  32 BunnyHugger says, "I just, uh, figured on going into the first one I saw."
  33 Joshua ruffs, "I was in classroom 2, but it's not a huge matter."
  34 BunnyHugger smiles.
  35 You say, "Good morning, Professor."
  36 Joshua ruffs, "Good morning, Claude."
  37 Joshua hugs the cat. "Just my size." He takes a seat.
  38 Claude purrs loudly.
  39 Niny'ah says, "no frills, just a THING with a descrip."
  40 Garrison grins
  41 ( Good morning, Professor Falken. )
  42 BunnyHugger says, "All right, so, first let's get an inventory of who is at what level.  Students, would you characterize yourselves generally as either completely new to building, a beginner builder, an intermediate builder, or an advanced builder?"
  43 Niny'ah handwavers, "New to beginner."
  44 J.P. says, "Probably beginner-ish.  Namely, I usually end up follow tutorials, since I don't build stuff that often."
  45 BunnyHugger says, "For myself, I spent a really long time as a beginner/intermediate builder and only really learned more advanced stuff when I built some major projects here."
  46 Garrison nods "beginner-ish"
  47 Austin says, "Intermediate.  I know one or two tricks that make things look like more than they are."
  48 You say, "I've built dozens of rooms, here and elsemu*, but mostly they're all static."
  49 Joshua ruffs, "Advanced. I've bent things in way they should not be bent."
  50 BunnyHugger says, "Well, in a way, that's all that distinguished intermediate from advanced, Austin.  That, and a knowledge of a few quirks of the system."
  51 Joshua ways
  52 J.P. thinks the static is from all the cats, Claude.
  53 Claude ruffles J.P. :3
  54 J.P. grins.
  55 Niny'ah uses an antistatic brush on Claude.
  56 Royce churrs, "I suppose beginner.  I've built a bunch of stuff over the years, but they're all pretty basic."
  57 BunnyHugger says, "Yes, Prof. Farstrike is actually more advanced than I am in this topic, but I really wanted to try my hand at teaching something here, so he is letting me run the show.  I'm sure, though, he'll correct any misapprehensions I have."
  58 Raj mrrrs, "I'm probably advanced, but I'm mostly here to listen and see if I can pick up new tricks."
  59 Joshua smiles, "I will, but I'll try not to cause too many interruptions."
  60 BunnyHugger says, "OK, great!  I'm happy we have some beginners because those are the folks I most want to reach."
  61 BunnyHugger says, "Anyone can enjoy the MUCK just as a player... but I think the MUCK really takes on a new level of fun when you can make your own creations."
  62 BunnyHugger says, "The ability to add to the world was the thing that first drew me to MU*s very strongly, though I learned all my original building stuff on MUSH which is a different sort of system, so I had to unlearn a lot.  n.n  Anyway!"
  63 Claude nodnodnods!
  64 J.P. started on MOOs, and used to run one locally on his computer.
  65 Royce writes that down in his notes.  'Unlearn a lot.'
  66 BunnyHugger laughs.
  67 J.P. would occasionally design stuff for it in class in high school.  On paper.
  68 BunnyHugger says, "OK, let's start with the lesson.  First, I want to talk about the different TYPEs of things on the MUCK."
  69 Chitter says, "Why are you shouting some words?"
  70 BunnyHugger says, "It's because they are actually technical terms that might sound like ordinary terms, so I was SHOUTING to distinguish that.  >:D"
  71 Beltrami nods.
  72 BunnyHugger says, "First of all, a really important command to know is 'examine' which can be abbreviated 'ex.'  I'm sure at some point most of us have used this to examine ourselves, 'ex me'.  It's not as dirty as it sounds."
  73 Beltrami nods.
  74 BunnyHugger says, "It gives you information about objects on the MUCK, including what TYPE of thing the object is.  If you don't own an object or have permission like a wizard (who essentially are treated as 'owning' everything for most purposes), you will only see who the owner of the item IS.  But if it's your item, you get all the goods on it."
  75 BunnyHugger says, "Now, if you do 'ex me' now, you should take note of a couple of things.  The first is your DBREF, which is the number in parentheses after your name.  This stands for 'database reference' and it's the unique number that picks you out among all the stuff on the MUCK.  After that is your number of shinies, but the third thing is what I really want to note right now, that is, your TYPE."
  76 BunnyHugger says, "OK, so what TYPE of object are all of you?  Anyone?"
  77 BunnyHugger says, "Don't do this part Chitter, you'll be upset."
  78 Beltrami blinks.
  79 J.P. says, "PLAYER."
  80 Joshua snickers.
  81 Royce hmm.  "PBJM1.  Apparently I'm a peanut butter jelly rifle."
  82 BunnyHugger says, "Yep!  Very good J.P., you're a player.  In fact, you can also tell this -- and the MUCK can also tell this -- from your DBREF.  If you look at your DBREF you'll see a bunch of letters at the end of the number.  Those are FLAGs, which we'll talk some more about later.  But for a Player, the P at the start of your list of flags indicates your status as the type Player.  "
  83 Beltrami nods.
  84 J.P. giggles at Royce.
  85 Austin licks Royce!
  86 Royce paws at Austin's muzzle.
  87 Austin mms.
  88 BunnyHugger says, "Now, Niny'ah, if you examine your Rebreather, or anyone else examines a toy or thingamabob you own, you'll see a different type there: THING."
  89 BunnyHugger says in a low voice, "This is also what Chitter would see if he examined himself."
  90 Claude covers Chitter's ears.
  91 BunnyHugger says, "So Player and Thing are among the types.  You intermediate students, can you name the rest of the types that there are in our world?"
  92 BunnyHugger looks to the class.
  93 Claude lifts a paw.
  94 BunnyHugger says, "Claude?"
  95 You say, "There are also rooms, exits and actions."
  96 Royce raises a paw.  "Ooh!  Ooh!"
  97 BunnyHugger says, "Claude is correct... Royce, do you have anything else to add?"
  98 Austin says, "And peanut butter raccoons."
  99 J.P. grins.
 100 Joshua raises a paw.
 101 Royce churrs, "Raccoony stuff, and unraccoony stuff!  The former is much preferred, of course.'"
 102 BunnyHugger says, "There's at least one that we're still missing but I know Joshua knows what it is."
 103 Joshua nods.
 104 Joshua lowers his paw for now, then :)
 105 Royce churrs, "Oh, I thought I covered everything, there."
 106 BunnyHugger says, "Er, the MUCK doesn't know about that, Royce, only the players."
 107 Joshua..unless you were askin' him to say?
 108 BunnyHugger says, "Joshua, what else?  Go ahead."
 109 Joshua ruffs, "FORTH. MUF programs have their own type."
 110 BunnyHugger says, "Yep!"
 111 Claude scratches his head. With a hindpaw.
 112 BunnyHugger goes to the board and writes, "TYPES: Player, room, thing, exit/action, program."
 113 ( Royce peanut_butter chocolate combine dip_in )
 114 Royce mmms.  He likes how this class is going.
 115 J.P. grins.
 116 BunnyHugger says, "OK, so first players.  You all know what a player is; you are one!"
 117 Niny'ah says, "can be accessed and controlled directly through a telnet sewssion, has access to Page and Spoof programs"
 118 BunnyHugger says, "Wizards are players too, they're just players with all kinds of special and hopefully not nefarious powers.  They get permission to do stuff normal players don't.  But, in the big scheme of Stuff on the MUCK, they're players."
 119 J.P. isn't telnet-accessible!  SSH, maybe.
 120 J.P. idles for a bit.
 121 Garrison nods
 122 BunnyHugger says, "Right, Niny'ah.  Many, though not all, of the stuff you can do is limited to players.  However, in some cases, zombies (which are actually type THING like Chitter) can use them too.  Zombies can do most but not all of the stuff a player can do, but they can't be, as you say, 'controlled directly' -- they have to be moved around by a player."
 123 Joshua raises a paw.
 124 BunnyHugger says, "Yes, Joshua?"
 125 Niny'ah says, "also, they can't Spoof or Page, iirc"
 126 BunnyHugger says, "They certainly can't page; I didn't know about spoof.  A lot of times it's very dependent on whether the person who wrote the program thought to allow zombies or not (a pet peeve of mine, but that's for another class).  n.n"
 127 Joshua ruffs, "All objects can perform actions and take exits. Players usually have to set an object Xforcible for this to work. Now, that said, many MUF programs have been coded to deny objects that aren't players. And I'm not certain if exits are special on this one. But you can arbitrarily force any object to run a command if you have permissions."
 128 You say, "I've had the Flying Fish spoof more than once."
 129 BunnyHugger nods.
 130 BunnyHugger says, "The reason they can't really write a page program that effectively allows paging zombies is that zombies do not have to have unique names, whereas all players' names are unique, one of the special things about players!"
 131 BunnyHugger says, "OK, so next we have Rooms.  Rooms contain other things; they make up all the places on the MUCK.  We're in a Room right now, of course!  In fact, we're always in a room; it's impossible to avoid.  Rooms, by the way, always have the flag R starting their list of flags, indicating their status as rooms."
 132 Claude scribbles down the bit about programs, and also the reason zombies can't use page.
 133 Royce doodles rampaging zombies in his  notebook.
 134 BunnyHugger drops SternLook.muf.
 135 BunnyHugger says, "In fact, everything on the MUCK has a location, the room (or, in some cases, thing, if it's being held by a player or in a container) it's in."
 136 BunnyHugger says, "Oddly enough this includes Programs!  I just dropped the first Program I ever wrote here."
 137 BunnyHugger gestures at sternlook.muf.
 138 Beltrami nods.
 139 BunnyHugger says, "When I first started writing programs I found it bizarre that they were objects that could be picked up and carried around and put various places."
 140 Featherwing steps off of the floating disk that carried him up.
 141 Featherwing has arrived.
 142 Claude nods to BunnyHugger. And waves to Featherwing.
 143 Featherwing hands Bunny his tardy slip and sits down.
 144 BunnyHugger says, "So that's the last type of thing, Programs.  WE won't be working on Programs here, but that's what happens when you write a MUF, it appears as an object of type PROGRAM.  It even has a description like any object, which defaults to 'A scroll containing a spell called [name of program],' pointing to the original fantasy notion of MU*s, along with 'wizards' and turning people into toads.  Heh."
 145 BunnyHugger smiles at Featherwing.
 146 Claude giggles and scribbles that down as well.
 147 BunnyHugger says, "The minimum a MUCK can contain is two objects: a room, and a player.  The initial database of a MUCK installation contains DBREF #0 -- the First Room -- and #1 -- the First Player, also called God, the highest wizard of all wizards. "
 148 BunnyHugger says, "On SpinDizzy, God is Amalfi, who you might have seen in repose at the Rose Shore."
 149 Beltrami nodnods.
 150 Claude nodnodnods. "And I often wondered about that."
 151 BunnyHugger says, "Amalfi is only logged in on rare occasions when it is needed.  I think its last public appearance, at least, was when Morticon was 'crowned' as wizard."
 152 BunnyHugger says, "I've never seen it awake."
 153 Featherwing 'vees, "Me either."
 154 BunnyHugger says, "Austin might know... what sorts of things is Amalfi ever logged in for?  I know conferring wizardhood, right?"
 155 Joshua ruffs, "Last on 256 weeks ago. A good number."
 156 You say, "About The only"
 157 BunnyHugger grins.
 158 Austin says, "Morticon's wizarding was farther back than that, actually.  I think it was for the upgrade to the new Fuzzball version, but might be mistaken."
 159 You say, "...thing only God can do."
 160 BunnyHugger says, "That makes sense."
 161 Austin says, "But, yes, conferring (and removing) wizardship on players is one of the things that only Amalfi is able to do."
 162 You say, "But I just find it intriguing that our God sleeps there, looking like a rag doll."
 163 Joshua ruffs, "Depending on how the MUCK is compiled, #1 can create and edit certain things that even other wizards cannot fool with."
 164 BunnyHugger says, "But that's why I specified 'public appearance' because I believe in the case of a wizard ascension, or at least in that case, a big IC deal was made out of it, so I had heard Amalfi was actually visible to folks then."
 165 BunnyHugger says, "Me too, Claude."
 166 J.P. is back.
 167 BunnyHugger says, "I have a little MUCK called HuggerMUCK and on it, #1 is 'Kant.'  HEe."
 168 Joshua's is named 'root'
 169 You say, "Figures."
 170 Beltrami grins.
 171 BunnyHugger says, "And #0 is 'The Noumenon.'  Which ... oh, look it up sometime.  Ha!  Anyway, moving on..."
 172 BunnyHugger says, "I did want to talk about action/exit as being a particularly important and often least-understood TYPE."
 173 BunnyHugger says, "We use 'action' to refer to one that does something other than link rooms together; when it links rooms together it is called 'exit'.  But they are actually both the same TYPE and carry the flag E at the start of their list of flags."
 174 BunnyHugger says, "Put simply, actions link things together.  When an action links two rooms together, it is called an Exit.  An action can also link any sort of object to a program, which means that using the action while in the presence of that object will cause the program to run.  "
 175 Claude scribble scribble.
 176 BunnyHugger says, "This is going to be the main way you'll make your stuff, both rooms and things, interactive in fun ways."
 177 BunnyHugger says, "Even if you don't write your own programs, you'll use this a lot!  Because, first, you can link to other people's programs in the public library, which you can see by typing 'plib'.  And second, even if you just want to make something that gives a simple message, you can do that by creating an action.  I'll talk some more about this a bit later."
 178 Niny'ah says, "so, an Exit is just actioning youself from one room to another?"
 179 BunnyHugger says, "And of course, you use it to make doors between your rooms -- can't forget that!"
 180 BunnyHugger says, "That's a good way to put it, Niny'ah."
 181 BunnyHugger says, "So that's all the types of things, and we'll talk about each in more detail as we go on."
 182 BunnyHugger says, "Any questions right now?  Or comments?"
 183 Claude shakeshakes his pen. "Mmm?"
 184 Beltrami shakes no.
 185 BunnyHugger says, "Here's a question for the class: do any of you have any 'actions' attached to you right now?  You can see them by examining yourself.  I have so many it scrolls my screen ridiculously."
 186 BunnyHugger says, "They'll be at the end of your examine stuff if you have any."
 187 Beltrami nodnods and holds up four fingers.
 188 Claude(#19879PBCJM1)  Shinies: 18285  
 189 Type: PLAYER  Flags: MUCKER1 BUILDER COLOR JUMP_OK
 190 {looknotify+}{eval:{muf:$mpi-color,{list:redesc}}}
 191 Key: Claude(#19879PBCJM1)
 192 Chown_OK Key: *UNLOCKED*
 193 Container Key: *UNLOCKED*
 194 Force Key: Claude(#19879PBCJM1)
 195 Created:  Wed Feb  3 12:42:10 PST 2010
 196 Modified: Sun Sep 16 10:35:46 PDT 2012
 197 Lastused: Sun Sep 16 10:54:44 PDT 2012
 198 Usecount: 2690
 199 [ Use 'examine <object>=/' to list root properties. ]
 200 Memory used: 18208 bytes
 201 Home: Feline bedroom(#15310RJ)
 202 Actions/exits:
 203 ff(#20546E)
 204 airfish(#20033EH)
 205 ck(#20218E)
 206 BunnyHugger says, "Do you mind telling the class what they do, Beltrami?"
 207 Austin nods, "I've got a couple."
 208 Royce has a few.
 209 You say, "I have three!"
 210 J.P. has one.
 211 BunnyHugger says, "I have... uh, 25."
 212 Beltrami nods...she tugs her shirt, and then flips her hand over, then pats her shirt again.  She leans down and taps her shoes and flips her hand over again, then taps the shoes.
 213 BunnyHugger says, "Some of those I should probably get rid of."
 214 BunnyHugger says, "It changes your outfits for you, Beltrami?"
 215 Beltrami nodnods.
 216 BunnyHugger says, "Excellent!"
 217 BunnyHugger says, "What do yours do, Royce?"
 218 Royce churrs, "Well, letsee..  One called 'ohho' which links to example2.muf, whatever that is."
 219 Royce churrs, "It doesn't seem to work though."
 220 BunnyHugger says, "OK, so that's a good example.  You can use them to link programs to yourself, whether they are programs you wrote or ones in the public library, so that you can use personal programs that aren't 'globals' (commands anyone can run from anywhere)."
 221 Royce churrs, "Letsee.  I have that karaoke thing, a direct exit to Spengo.  Some other things that I've forgotten what they do.."
 222 BunnyHugger says, "People who use the Karaoke program I wrote often have a personal action that runs the program attached to themselves, although it can also be run from an action linked to a room, such as in the Starlight Ballroom, so anyone in the room can use it."
 223 BunnyHugger says, "Yes, they can also be used to make personal exits!"
 224 Royce churrs, "Another one linking to example11.muf, which I happen to be carrying, and have no idea what that does either."
 225 You say, "Linking books? Amber tarots?"
 226 J.P. has one to control his squirrel plushie.
 227 BunnyHugger says, "Anywhere that is set with the flag LINK_OK can be linked to by anyone, so you can put an action on yourself that carries you to that room, like a personal teleport."
 228 BunnyHugger says, "What does your squirrel plushie do, J.P.?"
 229 Royce churrs, "I think these are relics from a MUF class that Boki tried to teach a long time ago."
 230 Featherwing 'vees, "Kinda like the one-way portal I made from my apartment to my pavilion in the fairground."
 231 BunnyHugger says, "I have a bunch of different kinds on me.  I have one that takes me to the park that I own (Meliora Park), so there's an example of a link from a Player to a Room.  That sort of link allows the player to zap herself to that Room."
 232 BunnyHugger says, "Right, Featherwing."
 233 J.P. says, "Nothing much.  It's just a puppet/zombie/whatever it is."
 234 BunnyHugger says, "I have another one that controls Chitter, like the one J.P. uses to control his plushie.  That actually works a special way, which I'll show later."
 235 Royce churrs, "Oh, I have an action that links to my zombie, which I use to send him directly home if I need to, which his home happens to be me."
 236 Joshua ruffs, "Perhaps the most frustrating part about exits is that they can be linked to anything, even other exits, and each time their behavior is different based on context."
 237 BunnyHugger says, "Very true, Joshua."
 238 BunnyHugger says, "Linking an exit to a thing causes that thing to be taken to you when you use the exit.  I've never actually used that one, but I presume it could be useful for summoning a zombie to yourself, or any other homing object."
 239 You say, "Larry Wall would say that's natural."
 240 J.P. oohs.  "How do you do that, Royce?"
 241 J.P. usually just @finds his plushie and teleports it to himself.
 242 BunnyHugger says, "Most of the actions on me control different zombies; some are for custom programs I wrote; and one takes me to a room."
 243 BunnyHugger says, "So they're really useful but, as Joshua says, can be very confusing."
 244 Royce churrs, "I think linking an exit directly to an object causes the object to go home when you use the action."
 245 BunnyHugger says, "And there are various ways you can use them wrong, or at least, not according to best practices."
 246 Royce churrs, "Either that, or as BunnyHugger said, it brings the object to you.  But I had thought that it sends it home."
 247 Joshua ruffs, "An action from one object to another object will bring the other object to you if you use it. All of this really warrants drawing up a table of combinations."
 248 Royce churrs, "I find it useful if my zombie is in a place with people, and I want to pull him out of there without it showing any depart message."
 249 You say, "Good idea! *proceeds to draw a grid on a new page*"
 250 Austin says, "If there's one thing we do need it's zombie raccoons that can vanish invisibly from a place."
 251 BunnyHugger says, "That's probably a good idea, Joshua; I haven't got one ready, but perhaps I can prepare one to quote for next class.  I figured on talking about each contextually as it arose."
 252 Royce grins at Austin.  "Sneaky is raccoony!"
 253 J.P. grins at Austin.
 254 Joshua nodnods.
 255 BunnyHugger says, "OK, I'd like to move on to my second topic for the day, FLAGS!  We've already talked about them some."
 256 BunnyHugger says, "Flags are the list of letters at the end of the DBREF of everything on the MUCK.  The first flag in the list, for all types except THING, represents what TYPE it is.  R=Room, P=Player, E=Exit/Action, F=Program ("Forth")."
 257 Royce churrs, "Oh, also, if I use that action to bring my puppet back to me, it also prevents him from spamming me."
 258 BunnyHugger says, "That's a useful benefit, Royce.  >:)"
 259 BunnyHugger says, "After that are various other kinds of flags giving further subclassification of objects."
 260 Royce nods!
 261 BunnyHugger says, "For instance, Chitter has a Z flag, meaning he is a particular kind of Thing known as a Zombie.  He also has the X flag, meaning he is Xforcible."
 262 BunnyHugger says, "Why Xforcible?  Because F was already taken by Programs.  So basically it means he can be forced, he's forcible."
 263 BunnyHugger says, "So let's get back to Royce's peanut butter raccoon flag or whatever it was..."
 264 Royce mmms.  "Good idea!"
 265 Royce churrs, "PBJM1."
 266 BunnyHugger says, "If you examine yourself and look at your DBREF, you'll have a bunch of flags, the letters at the end.  So would someone like to tell me what flags you have?  OK, Royce has an example for us, PBJM1."
 267 BunnyHugger says, "Can anyone tell me what any of those flags means?"
 268 BunnyHugger looks around the class.
 269 Austin licks Royce.
 270 Austin says, "Well, the peanut butter thing is overstated."
 271 Claude scratches his head.
 272 Royce churrs, "I thought I already did..."
 273 Beltrami sticks her tongue out at Austin.
 274 Garrison hehs
 275 You say, "M1 is the mucker flag, and J means jump_ok on a room... but surely not on a player?"
 276 Joshua ruffs, "It does mean Jump_ok on a player as well."
 277 Joshua ruffs, "You are permitted to jump."
 278 BunnyHugger nods.
 279 Royce churrs, "You need that to be a bunny, I think."
 280 J.P. grins.
 281 BunnyHugger says, "Yes, if you try to use the teleport program and don't have J set, you won't be able to and will be prompted to set it."
 282 You say, "I see."
 283 J.P. says, "But you're not a bunny, Royce.."
 284 Royce churrs, "No, but I did hang out with Skyler a lot.  I might have caught something."
 285 J.P. grins.
 286 You say, "Toons do tend to radiate toony-ness."
 287 BunnyHugger says, "As noted before, P means he's a player.  J is jump_ok, and M1 means 'Mucker level 1.'  That says what level programs he's allowed to create.  Which in this case is 'damn little.'  Ha ha."
 288 BunnyHugger says, "Sorry, I like complaining about M1."
 289 BunnyHugger says, "So what's B?"
 290 Royce does not know anymore how to make programs!  That M1 is another relic of Boki's MUF classes.
 291 Royce churrs, "You need that to collect honey."
 292 BunnyHugger facepaws.
 293 J.P. giggles.
 294 Royce mms.
 295 Royce looks around.
 296 BunnyHugger says, "Well, you can all find out what B is by examining yourself, because you'll all have B too, and all the flags will actually be written out for you there in full."
 297 Royce raises his paw.  "Oooh!  Oooh!"
 298 Austin says, "Don't worry, Royce.  We'll spend an extra half-hour later on and teach you MUF."
 299 BunnyHugger looks hesitant.  "Yes, Royce?"
 300 Royce leans over and looks at Austin's note.  "It's..  Builder!"
 301 BunnyHugger says, "Yes!"
 302 BunnyHugger says, "It's what allows you to do all the stuff you're going to learn about in class!"
 303 Royce churrs, "Yay! I smart!"
 304 BunnyHugger says, "Creating objects, rooms, and exits, requires having a Builder flag set."
 305 Claude facepaws. "It's so natural to me, I forget you need a flag to do it."
 306 BunnyHugger says, "Everyone on SD defaults to having it, although I have heard of people losing the privilege."
 307 BunnyHugger says, "It can be revoked by a wizard if you misuse your privileges enough, but I reckon that's very rare."
 308 Austin nods.  "I don't remember our having to revoke it here, but it's possible some incident happened in the dusty days of prehistory."
 309 BunnyHugger says, "The flags that give you permissions like that, you'll hear people refer to as 'bits.'  So, 'builder bit' 'wiz bit' 'mucker bit'."
 310 BunnyHugger says, "Which are B, W, and M1/M2/M3 respectively."
 311 Claude kind of equates MU*ing with building in his mind. ^o^;;
 312 Joshua ruffs, "Losing one's builder bit is more than just losing the ability to make objects."
 313 BunnyHugger says, "What else does it do, professor?"
 314 Joshua ruffs, "It's losing the ability to create MPI programs. If you have no objects with which to make MPI, it prevents you from making exploitative programs that MPI may allow. Granted, you'll still have your own personal properties, but you can't leave a trap object or exit laying around."
 315 BunnyHugger says, "Oh right, of course."
 316 BunnyHugger says, "That's the obvious reason for revoking it -- an MPI abuse.  Because MPI programs have to be put on an object somewhere!"
 317 BunnyHugger says, "That makes sense."
 318 Joshua nods.
 319 BunnyHugger says, "Unlike MUF, anyone can write MPI, but it does depend on having stuff to PUT it on."
 320 Joshua ruffs, "You could fill the database with objects, but the game will prevent that itself with pennies."
 321 Joshua ruffs, "Someone creating a lot of objects will run out of them eventually."
 322 BunnyHugger says, "Right.  They're unusually generous with that here and will usually give you any money you need."
 323 BunnyHugger says, "I've been on other places where I would run out of money fast and have to wait a long time to build any more."
 324 Niny'ah says, "I started with 2k"
 325 Niny'ah says, "here"
 326 BunnyHugger says, "But it is a check on people abusively creating stuff."
 327 Joshua has OVER NINETHOUSANNNND.
 328 BunnyHugger says, "I have 56,636."
 329 BunnyHugger giggles.
 330 Austin says, "I have four."
 331 Joshua curries favor with the 1% by offering her carrots.
 332 BunnyHugger says, "Anyone have any other flags on themselves besides P,B,J, and M?"
 333 Beltrami nodnods.
 334 Joshua ruffs, "I have C."
 335 BunnyHugger says, "Ooh, good one."
 336 You say, "Me too. o.o"
 337 BunnyHugger says, "Anyone besides Joshua know what C does?"
 338 Beltrami nods.
 339 Claude raises his paw.
 340 BunnyHugger says, "Beltrami, did you have an answer?"
 341 Beltrami nods...she tugs her green shirt, then blue shorts, and then down to tap the power blue sneakers.
 342 Beltrami points to her eyes.
 343 BunnyHugger says, "Very good."
 344 BunnyHugger says, "Claude, was that what you were going to say?"
 345 Claude nodnods!
 346 BunnyHugger says, "It allows you to see color!"
 347 J.P. has most of his color added client-side.
 348 Raj mrrrs, "Only a player, though."
 349 BunnyHugger says, "I usually don't have it set except when Morticon is doing fireworks."
 350 BunnyHugger says, "That's right, Raj.  What does it do otherwise?"
 351 Raj mrrrs, "It allows somebody other than the creator to take over ownership of an object via the @CHOWN primitive."
 352 BunnyHugger says, "That's right!  On other kinds of objects, it means Chown_OK."
 353 BunnyHugger says, "So at the end of every event I ran during the Olympics, I badgered everyone to use @chown to transfer ownership of the medals I created."
 354 BunnyHugger says, "And they were all set C, which is actually quite insecure because it meant that ANYONE could have used @chown on them if they were being mischievous."
 355 BunnyHugger says, "But there's actually a way I could have done that if I hadn't been lazy, to make it more secure.  Anyone know how?"
 356 Raj mrrrs, "You can, though, set a CHOWN_OK key to make it less, ah, risky."
 357 BunnyHugger says, "Right."
 358 Joshua ruffs, "But only if they were in their pockets :)"
 359 Raj erps, and just blurts it out. :P
 360 BunnyHugger says, "True Joshua, but people kept dropping them.  n.n"
 361 Joshua hees.
 362 BunnyHugger says, "You can use @chlock to set a lock so only a specific person can @chown something."
 363 BunnyHugger says, "Sally and I did this while building the Stadium.  We both wanted to be able to fix any mistakes we saw on the fly, make minor changes, etc., so we set all the stuff in the Stadium complex C, but with a @chlock that allowed only either Sally or me to take ownership.  So we passed ownership back and forth as needed."
 364 You say, "Good call."
 365 Joshua nods, "Realms support is also an experimental feature that I don't think is compiled in here, but theoretically could also be useful. Setting a chlock for a parent room allows anyone who passes the lock to control rooms parented to it.
 366 Joshua ruffs, "I've never seen it in the wild."
 367 Royce churrs, "I used that on Fluffmuck back in the late 90's when I was doing building projects with someone."
 368 BunnyHugger says, "You can set a chown-lock this way: @chlock <name or DBREF of thing>=*<name of player>, e.g. @chlock thing=*austin, or for multiple people you make a pipe between them, @chlock thing=*austin|*bunnyhugger"
 369 BunnyHugger says, "I didn't know about that, Joshua."
 370 Austin nods.  "I hadn't seen it either."
 371 Royce churrs, "Now, what does that asterisk do?"
 372 Joshua ruffs, "Morticon would know, definitively, if it's compiled here, but I don't think it is."
 373 Austin says, "That's just magic."
 374 BunnyHugger says, "It tells it to look for a player of that name anywhere in the database, so it knows it's looking for a player."
 375 BunnyHugger says, "You can set locks for things other than names of players, such as checking for a species property (like if you wanted to @chlock something to raccoons).  If you check 'help @chlock' you'll see some other ways you can use it."
 376 Royce hmms.  Doesn't think he used asterisks.  But then again that was a long time ago.
 377 Royce churrs, "Oh yeah.  Jaxen could tell us about that, huh? :)"
 378 BunnyHugger giggles.
 379 BunnyHugger says, "So here are my flags... PKBJXM2"
 380 Joshua ruffs, "BunnyHugger, how'd you get an M2?"
 381 BunnyHugger says, "MWAHAHAHAHAHAHA"
 382 You say, "She asked for it?"
 383 Chitter says, "Oh no, she's going mad with power."
 384 Royce churrs, "What good is power, if you don't go mad with it?"
 385 Austin nods.
 386 J.P. giggles.
 387 BunnyHugger says, "I nagged the wizards about how stupid it was not to allow M2 until they finally held a conference on the matter and decided it could be allowed."
 388 BunnyHugger says, "And then they proceeded to never tell me this."
 389 BunnyHugger says, "And then one day I was complaining about not having M2 and Austin said I must not have noticed, and I examined myself and was M2 and apparently had been for some time."
 390 Royce grins.
 391 BunnyHugger says, "I confess I was not amused and kind of gave him a telling off for pranking me like that."
 392 Joshua is still M1! Ah, well, half of his really interesting projects really need to be handed to a wizard to set W anyway, and he knows /that/ ain't happening. :P
 393 BunnyHugger says, "But apparently Morticon caved in on the issue after I spent some time arguing that we needed to encourage people to learn MUF, not discourage it."
 394 BunnyHugger says, "The original idea, he told me, was to discourage people from spending all their time coding instead of being involved in the community."
 395 BunnyHugger says, "Anyway, most of my flags are things you recognize already! PKBJXM2 P=Player, B=Builder, J=Jump_OK, X=Xforcible, M2=Mucker Level 2."
 396 BunnyHugger says, "So what the devil is K?"
 397 BunnyHugger says, "Who knows?  n.n"
 398 Austin says, "Potassium!  Very important."
 399 BunnyHugger says, "Not in this context."
 400 Joshua knows.
 401 BunnyHugger says, "It's only K if you set it on a banana."
 402 Claude coughs. "PK. That doesn't sound reassuring."
 403 BunnyHugger says, "Er, it's only potassium I mean."
 404 BunnyHugger says, "It doesn't!"
 405 Royce has disconnected.
 406 BunnyHugger says, "And it shouldn't because of what it does mean... which is... Joshua?"
 407 Royce has connected.
 408 Joshua ruffs, "KILL_OK."
 409 Austin says, "Also orange juice."
 410 BunnyHugger says, "Yep."
 411 Beltrami frowns?
 412 BunnyHugger says, "It means 'kill' can be used on me."
 413 BunnyHugger says, "Let me quote the help file..."
 414 <Verbatim start: BunnyHugger>
 415   A successful kill sends the player home, sends all objects in the
 416 player's inventory to their respective homes.  The probability of
 417 killing the player is <cost> percent.  Spending 100 pennies always
 418 works except against Wizards who cannot be killed.  Players cannot
 419 be killed in rooms which have the HAVEN flag set.  On systems where
 420 the KILL_OK flag is used, you cannot kill someone unless both you
 421 and they are set Kill_OK.
 422 <Verbatim end:   BunnyHugger>
 423 Joshua nods.
 424 BunnyHugger says, "This has just about no use aside from occasionally startling people who don't know it exists.  And since it can only be used on people who set it on themselves on purpose, it's pretty much just a gag, in our context anyway.  >;)  It's an odd relic of the more combative nature of our MUD ancestors."
 425 Austin says, "It's also a chance for people to show off they have a drop/odrop set on themselves."
 426 BunnyHugger says, "Now, it says the successful kill sends someone home... but... I could *swear* that in the old-old days here, a 'kill' would actually send someone to Heck.  I don't know how that's possible or if I am creating a false memory."
 427 Joshua ruffs, "In other codebases, such as ProtoMUCK, the flag is replaced. K then becomes the PROTECT flag, which users can use to prevent an object from being modified by normal commands or by any user with a lower wizard level than they have."
 428 BunnyHugger says, "It's a pretty silly thing to still have around, it's true."
 429 BunnyHugger says, "And I set it on myself for the novelty value."
 430 BunnyHugger says, "Now, one thing to note, based on the example of C, is that the same letter can refer to different flags depending on what kind of object it is set on.  For instance, C on a Thing means 'Chown_OK' but on a player it means 'Color.'"
 431 Joshua ruffs, "There is a time for everything, and a season for every activity under the heavens.. :)"
 432 BunnyHugger says, "D on an exit or thing makes it Dark, but on a program sets it in Debug mode, etc."
 433 BunnyHugger says, "If you enter 'help flags' you can see a complete list."
 434 BunnyHugger says, "You set a flag on yourself by using '@set me=[letter].'  You can also set a flag on other things or on rooms.  You remove a flag with @set me=![letter].  Of course, some flags you must be a wizard to set, such as the Builder flag and the MUCKER flags."
 435 BunnyHugger says, "Or on exits, I should say; there are flags that apply to exits too, such as Dark, which here will prevent it from showing up in the obvious exits lists."
 436 BunnyHugger says, "So there's one other important way that objects can be modified besides having flags set on them.  That's through properties!"
 437 BunnyHugger says, "But before moving on to properties, are there any more questions about Flags?"
 438 BunnyHugger says, "IF not..."
 439 Austin says, "Has anyone ever figured out what the Sticky flag does?"
 440 Joshua has.
 441 You say, "There's a sticky flag?"
 442 BunnyHugger says, "Well, on players it's Silent and stops you from seeing those annoying DBREFs on all your stuff, for a prettier view."
 443 Austin says, "About every two years I get into a fight with some muf that wants it, or doesn't want it, and then I get tired of dealing with it."
 444 BunnyHugger says, "On objects it sends it home when it's dropped.  And on a room I... am not totally sure."
 445 Joshua ruffs, "Oh, I used to know what it did on a room. I certainly know what it does on a MUF program."
 446 Joshua ruffs, "Ah, I remember what it does on a room"
 447 BunnyHugger says, "According to the help file, 'if a room is"
 448 Royce churrs, "If you run a movie theatre, you are supposed to set the sticky flag on it, I think.  Or at least just the floor."
 449 BunnyHugger oopses: "If a room is STICKY, its drop-to is delayed until the last person leaves (See DROP-TO).
 450 Joshua nods.
 451 J.P. giggles at Royce.
 452 BunnyHugger says, "It also says 'If an exit is linked to a Thing, and it is located on another Thing, then if the exit is not STICKY, the Thing the exit is located on will go home when the exit is triggered.'  Wow, that's kind of complicated."
 453 BunnyHugger says, "Any idea what you'd use that for, practically, Joshua?"
 454 You say, "Sounds like legalese."
 455 BunnyHugger says, "I've never set it on an exit, for sure."
 456 Joshua ruffs, "Austin: The S flag on a MUF program means SETUID. That means that the MUF program runs at the permissions of the person who owns it. This can allow someone to, for instance, have a MUF program that sets properties on its own object instead of the user, and will prevent it from setting properties on other users that the user does not have permission to set."
 457 Joshua ruffs, "All M1 programs run SETUID."
 458 BunnyHugger says, "Right."
 459 Joshua ruffs, "Wizard programs are often better off running not SETUID, because of the enhanced permissions of wizards. Usually, wizards set W flags on programs that need special privs."
 460 Austin nods.  "Thank you."
 461 BunnyHugger says, "OK, let's talk about properties now!"
 462 Joshua nods.
 463 BunnyHugger says, "Properties store information about objects that is used by the various built in MUCK commands as well as by MUF and MPI programs."
 464 BunnyHugger says, "For instance, the basic 'look' command actually retrieves information from a property on you called /_/de ."
 465 BunnyHugger says, "The slashes indicate subdirectories, which is a way that people if they're thinking ahead try to keep your properties list a bit less spammy and tidier."
 466 Niny'ah's getting mentally saturated
 467 BunnyHugger says, "Karaoke, for instance, puts all its stuff in a directory on you called karaoke/ , if you've used that program."
 468 Joshua ruffs, "BunnyHugger, do you think we could take an intermission or something for Niny'ah?"
 469 Joshua could stand a bit of rest himself to check a few things.
 470 BunnyHugger says, "Well, let me take the temperature of the room, so to speak..."
 471 Joshua nods.
 472 Featherwing apologizes, but his parental unit wants him to go somewhere with them, so he must depart. "I trust there will be a log?
 473 Royce yay!  "Lunchtime!"
 474 BunnyHugger says, "I was planning to go until 13:00 server time and then leave everyone with homework.  But, we could take a short break and then continue; OR, we could call it a 2 hour class and continue next week."
 475 Beltrami frowns and nods to Featherwing.
 476 BunnyHugger says, "There will, Featherwing!"
 477 You say, "I'm logging!"
 478 You say, "Take care."
 479 Niny'ah thinks 2 hours is enough for one sitting
 480 Claude's log will be interrupted at some point by the router freezing, though.
 481 Joshua hugs Featherwing.
 482 You say, "And I agree with Niny'ah anyway. :)"
 483 BunnyHugger says, "That sounds fair.  Why don't I wrap up briefly with a homework assignment?"
 484 Niny'ah says, "sure"
 485 Beltrami nodnods.
 486 Joshua noddles.
 487 You say, "Purrfect."
 488 BunnyHugger says, "I'll just leave you with one last note about properties, but we'll revisit them next time."
 489 BunnyHugger says, "Basically, anything the MUCK 'knows' about you, all your distinctive qualities, are somewhere on your properties."
 490 Beltrami nods.
 491 BunnyHugger says, "You can see properties on yourself by entering 'ex me=[property or directory of properties].'  Ex me=/_/ will show you all the properties in that directory; ex me=Ex me=/_/de will show you your desc.  The 'smell' program also looks at a property on you.  If you look around at yourself and poke through your directories, you'll probably see the marks of LOTS of programs all over you."
 492 BunnyHugger says, "Er, sorry, that should say 'Ex me=/_/de will show you your desc.'"
 493 BunnyHugger says, "OK.  So here's your homework for next time."
 494 Joshua earperks.
 495 BunnyHugger says, "Next time we're going to talk about building THING type objects that are fun to use, like teleporters, toys that 'do' simple stuff, and even zombies."
 496 BunnyHugger says, "Your homework is to think of something fun you want to make.  For instance, something that responds when you perform an action on it.  Then, use @create to make the basic object ('help @create' for information on how to do that), and @desc to put a description on it.  Then, the action parts, we'll do together in class next time once you have your object with you."
 497 Beltrami smiles!
 498 Niny'ah says, "can we use existing stuff to qualify?"
 499 Niny'ah holds up her 'breather
 500 BunnyHugger says, "Sure, if you have already made something you can bring that.  And if you want to try working ahead you can, but all I really need is for everyone to bring in an idea and a THING."
 501 Joshua noddles.
 502 BunnyHugger says, "The examples I have in mind might be something like a toy that does something when you press a button on it; or a teleporter that takes you and your friends to a particular room on the MUCK!"
 503 Joshua ruffs, "Do we know how Jaxen's Foxholes work?"
 504 Joshua would like to change his portal gun into one that actually works :)
 505 Beltrami nods.
 506 Joshua should query him about it.
 507 BunnyHugger says, "I don't know specifically.  What do they do?"
 508 Claude hmm!
 509 BunnyHugger says, "Oh, but class is now dismissed and we'll meet next Sunday, same time."
 510 Joshua ruffs, "He places a foxhole in one place, then one in another. When you jump through one, you pop out the other."
 511 BunnyHugger says, "And if you want to tell a friend, I think we're still enough in the beginner stuff that anyone can join."
 512 Royce churrs, "Jaxen leaves more stuff lying around than I do!  I found another Jaxen zombie the other day."
 513 Claude closes the log then. Ask if you need it.
 514 Austin says, "I can think of at least one way to do that.  It's not quite seamless but there's a rope used at one point into Squirrel City that used the gimmick."
 515 

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