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" Claude blinks! BunnyHugger says, "Hang on, I should probably try to look a little more professional." J.P. steps off of the floating disk that carried him up. J.P. has arrived. J.P. wavies! ( :wavies, too. ) J.P. says, "Crap." BunnyHugger takes off her Fake Trevor outfit. BunnyHugger says, "Hi J.P., you're just in time." You say, "Hello, J.P." J.P. says, "Hey." 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" Beltrami sits at a desk. Garrison steps off of the floating disk that carried her up. Garrison has arrived. Beltrami waves to Garrison! Garrison waves back Claude waves. 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." 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." Niny'ah flutteryay. 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." Claude nodnods and fumbles for his notebook, uncaps a pen, tries it out etc. Royce raises a paw. "I'm over here!" Niny'ah drops Compact Rebreather Aqualung. Joshua steps off of the floating disk that carried him up. Joshua has arrived. 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." Joshua ruffs, "Oh, you went to classroom 1." BunnyHugger says, "Sorry! Is that the wrong room?" BunnyHugger says, "I just, uh, figured on going into the first one I saw." Joshua ruffs, "I was in classroom 2, but it's not a huge matter." BunnyHugger smiles. You say, "Good morning, Professor." Joshua ruffs, "Good morning, Claude." Joshua hugs the cat. "Just my size." He takes a seat. Claude purrs loudly. Niny'ah says, "no frills, just a THING with a descrip." Garrison grins ( Good morning, Professor Falken. ) 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?" Niny'ah handwavers, "New to beginner." J.P. says, "Probably beginner-ish. Namely, I usually end up follow tutorials, since I don't build stuff that often." 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." Garrison nods "beginner-ish" Austin says, "Intermediate. I know one or two tricks that make things look like more than they are." You say, "I've built dozens of rooms, here and elsemu*, but mostly they're all static." Joshua ruffs, "Advanced. I've bent things in way they should not be bent." 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." Joshua ways J.P. thinks the static is from all the cats, Claude. Claude ruffles J.P. :3 J.P. grins. Niny'ah uses an antistatic brush on Claude. Royce churrs, "I suppose beginner. I've built a bunch of stuff over the years, but they're all pretty basic." 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." Raj mrrrs, "I'm probably advanced, but I'm mostly here to listen and see if I can pick up new tricks." Joshua smiles, "I will, but I'll try not to cause too many interruptions." BunnyHugger says, "OK, great! I'm happy we have some beginners because those are the folks I most want to reach." 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." 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!" Claude nodnodnods! J.P. started on MOOs, and used to run one locally on his computer. Royce writes that down in his notes. 'Unlearn a lot.' BunnyHugger laughs. J.P. would occasionally design stuff for it in class in high school. On paper. BunnyHugger says, "OK, let's start with the lesson. First, I want to talk about the different TYPEs of things on the MUCK." Chitter says, "Why are you shouting some words?" BunnyHugger says, "It's because they are actually technical terms that might sound like ordinary terms, so I was SHOUTING to distinguish that. >:D" Beltrami nods. 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." Beltrami nods. 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." 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." BunnyHugger says, "OK, so what TYPE of object are all of you? Anyone?" BunnyHugger says, "Don't do this part Chitter, you'll be upset." Beltrami blinks. J.P. says, "PLAYER." Joshua snickers. Royce hmm. "PBJM1. Apparently I'm a peanut butter jelly rifle." 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. " Beltrami nods. J.P. giggles at Royce. Austin licks Royce! Royce paws at Austin's muzzle. Austin mms. 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." BunnyHugger says in a low voice, "This is also what Chitter would see if he examined himself." Claude covers Chitter's ears. 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?" BunnyHugger looks to the class. Claude lifts a paw. BunnyHugger says, "Claude?" You say, "There are also rooms, exits and actions." Royce raises a paw. "Ooh! Ooh!" BunnyHugger says, "Claude is correct... Royce, do you have anything else to add?" Austin says, "And peanut butter raccoons." J.P. grins. Joshua raises a paw. Royce churrs, "Raccoony stuff, and unraccoony stuff! The former is much preferred, of course.'" BunnyHugger says, "There's at least one that we're still missing but I know Joshua knows what it is." Joshua nods. Joshua lowers his paw for now, then :) Royce churrs, "Oh, I thought I covered everything, there." BunnyHugger says, "Er, the MUCK doesn't know about that, Royce, only the players." Joshua..unless you were askin' him to say? BunnyHugger says, "Joshua, what else? Go ahead." Joshua ruffs, "FORTH. MUF programs have their own type." BunnyHugger says, "Yep!" Claude scratches his head. With a hindpaw. BunnyHugger goes to the board and writes, "TYPES: Player, room, thing, exit/action, program." ( Royce peanut_butter chocolate combine dip_in ) Royce mmms. He likes how this class is going. J.P. grins. BunnyHugger says, "OK, so first players. You all know what a player is; you are one!" Niny'ah says, "can be accessed and controlled directly through a telnet sewssion, has access to Page and Spoof programs" 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." J.P. isn't telnet-accessible! SSH, maybe. J.P. idles for a bit. Garrison nods 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." Joshua raises a paw. BunnyHugger says, "Yes, Joshua?" Niny'ah says, "also, they can't Spoof or Page, iirc" 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" 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." You say, "I've had the Flying Fish spoof more than once." BunnyHugger nods. 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!" 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." Claude scribbles down the bit about programs, and also the reason zombies can't use page. Royce doodles rampaging zombies in his notebook. BunnyHugger drops SternLook.muf. 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." BunnyHugger says, "Oddly enough this includes Programs! I just dropped the first Program I ever wrote here." BunnyHugger gestures at sternlook.muf. Beltrami nods. 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." Featherwing steps off of the floating disk that carried him up. Featherwing has arrived. Claude nods to BunnyHugger. And waves to Featherwing. Featherwing hands Bunny his tardy slip and sits down. 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." BunnyHugger smiles at Featherwing. Claude giggles and scribbles that down as well. 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. " BunnyHugger says, "On SpinDizzy, God is Amalfi, who you might have seen in repose at the Rose Shore." Beltrami nodnods. Claude nodnodnods. "And I often wondered about that." 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." BunnyHugger says, "I've never seen it awake." Featherwing 'vees, "Me either." BunnyHugger says, "Austin might know... what sorts of things is Amalfi ever logged in for? I know conferring wizardhood, right?" Joshua ruffs, "Last on 256 weeks ago. A good number." You say, "About The only" BunnyHugger grins. 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." You say, "...thing only God can do." BunnyHugger says, "That makes sense." Austin says, "But, yes, conferring (and removing) wizardship on players is one of the things that only Amalfi is able to do." You say, "But I just find it intriguing that our God sleeps there, looking like a rag doll." Joshua ruffs, "Depending on how the MUCK is compiled, #1 can create and edit certain things that even other wizards cannot fool with." 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." BunnyHugger says, "Me too, Claude." J.P. is back. BunnyHugger says, "I have a little MUCK called HuggerMUCK and on it, #1 is 'Kant.' HEe." Joshua's is named 'root' You say, "Figures." Beltrami grins. BunnyHugger says, "And #0 is 'The Noumenon.' Which ... oh, look it up sometime. Ha! Anyway, moving on..." BunnyHugger says, "I did want to talk about action/exit as being a particularly important and often least-understood TYPE." 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." 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. " Claude scribble scribble. BunnyHugger says, "This is going to be the main way you'll make your stuff, both rooms and things, interactive in fun ways." 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." Niny'ah says, "so, an Exit is just actioning youself from one room to another?" BunnyHugger says, "And of course, you use it to make doors between your rooms -- can't forget that!" BunnyHugger says, "That's a good way to put it, Niny'ah." BunnyHugger says, "So that's all the types of things, and we'll talk about each in more detail as we go on." BunnyHugger says, "Any questions right now? Or comments?" Claude shakeshakes his pen. "Mmm?" Beltrami shakes no. 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." BunnyHugger says, "They'll be at the end of your examine stuff if you have any." Beltrami nodnods and holds up four fingers. Claude(#19879PBCJM1) Shinies: 18285 Type: PLAYER Flags: MUCKER1 BUILDER COLOR JUMP_OK {looknotify+}{eval:{muf:$mpi-color,{list:redesc}}} Key: Claude(#19879PBCJM1) Chown_OK Key: *UNLOCKED* Container Key: *UNLOCKED* Force Key: Claude(#19879PBCJM1) Created: Wed Feb 3 12:42:10 PST 2010 Modified: Sun Sep 16 10:35:46 PDT 2012 Lastused: Sun Sep 16 10:54:44 PDT 2012 Usecount: 2690 [ Use 'examine =/' to list root properties. ] Memory used: 18208 bytes Home: Feline bedroom(#15310RJ) Actions/exits: ff(#20546E) airfish(#20033EH) ck(#20218E) BunnyHugger says, "Do you mind telling the class what they do, Beltrami?" Austin nods, "I've got a couple." Royce has a few. You say, "I have three!" J.P. has one. BunnyHugger says, "I have... uh, 25." 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. BunnyHugger says, "Some of those I should probably get rid of." BunnyHugger says, "It changes your outfits for you, Beltrami?" Beltrami nodnods. BunnyHugger says, "Excellent!" BunnyHugger says, "What do yours do, Royce?" Royce churrs, "Well, letsee.. One called 'ohho' which links to example2.muf, whatever that is." Royce churrs, "It doesn't seem to work though." 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)." Royce churrs, "Letsee. I have that karaoke thing, a direct exit to Spengo. Some other things that I've forgotten what they do.." 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." BunnyHugger says, "Yes, they can also be used to make personal exits!" Royce churrs, "Another one linking to example11.muf, which I happen to be carrying, and have no idea what that does either." You say, "Linking books? Amber tarots?" J.P. has one to control his squirrel plushie. 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." BunnyHugger says, "What does your squirrel plushie do, J.P.?" Royce churrs, "I think these are relics from a MUF class that Boki tried to teach a long time ago." Featherwing 'vees, "Kinda like the one-way portal I made from my apartment to my pavilion in the fairground." 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." BunnyHugger says, "Right, Featherwing." J.P. says, "Nothing much. It's just a puppet/zombie/whatever it is." 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." 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." 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." BunnyHugger says, "Very true, Joshua." 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." You say, "Larry Wall would say that's natural." J.P. oohs. "How do you do that, Royce?" J.P. usually just @finds his plushie and teleports it to himself. 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." BunnyHugger says, "So they're really useful but, as Joshua says, can be very confusing." Royce churrs, "I think linking an exit directly to an object causes the object to go home when you use the action." BunnyHugger says, "And there are various ways you can use them wrong, or at least, not according to best practices." Royce churrs, "Either that, or as BunnyHugger said, it brings the object to you. But I had thought that it sends it home." 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." 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." You say, "Good idea! *proceeds to draw a grid on a new page*" Austin says, "If there's one thing we do need it's zombie raccoons that can vanish invisibly from a place." 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." Royce grins at Austin. "Sneaky is raccoony!" J.P. grins at Austin. Joshua nodnods. BunnyHugger says, "OK, I'd like to move on to my second topic for the day, FLAGS! We've already talked about them some." 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")." Royce churrs, "Oh, also, if I use that action to bring my puppet back to me, it also prevents him from spamming me." BunnyHugger says, "That's a useful benefit, Royce. >:)" BunnyHugger says, "After that are various other kinds of flags giving further subclassification of objects." Royce nods! 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." BunnyHugger says, "Why Xforcible? Because F was already taken by Programs. So basically it means he can be forced, he's forcible." BunnyHugger says, "So let's get back to Royce's peanut butter raccoon flag or whatever it was..." Royce mmms. "Good idea!" Royce churrs, "PBJM1." 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." BunnyHugger says, "Can anyone tell me what any of those flags means?" BunnyHugger looks around the class. Austin licks Royce. Austin says, "Well, the peanut butter thing is overstated." Claude scratches his head. Royce churrs, "I thought I already did..." Beltrami sticks her tongue out at Austin. Garrison hehs You say, "M1 is the mucker flag, and J means jump_ok on a room... but surely not on a player?" Joshua ruffs, "It does mean Jump_ok on a player as well." Joshua ruffs, "You are permitted to jump." BunnyHugger nods. Royce churrs, "You need that to be a bunny, I think." J.P. grins. 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." You say, "I see." J.P. says, "But you're not a bunny, Royce.." Royce churrs, "No, but I did hang out with Skyler a lot. I might have caught something." J.P. grins. You say, "Toons do tend to radiate toony-ness." 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." BunnyHugger says, "Sorry, I like complaining about M1." BunnyHugger says, "So what's B?" Royce does not know anymore how to make programs! That M1 is another relic of Boki's MUF classes. Royce churrs, "You need that to collect honey." BunnyHugger facepaws. J.P. giggles. Royce mms. Royce looks around. 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." Royce raises his paw. "Oooh! Oooh!" Austin says, "Don't worry, Royce. We'll spend an extra half-hour later on and teach you MUF." BunnyHugger looks hesitant. "Yes, Royce?" Royce leans over and looks at Austin's note. "It's.. Builder!" BunnyHugger says, "Yes!" BunnyHugger says, "It's what allows you to do all the stuff you're going to learn about in class!" Royce churrs, "Yay! I smart!" BunnyHugger says, "Creating objects, rooms, and exits, requires having a Builder flag set." Claude facepaws. "It's so natural to me, I forget you need a flag to do it." BunnyHugger says, "Everyone on SD defaults to having it, although I have heard of people losing the privilege." BunnyHugger says, "It can be revoked by a wizard if you misuse your privileges enough, but I reckon that's very rare." 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." 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'." BunnyHugger says, "Which are B, W, and M1/M2/M3 respectively." Claude kind of equates MU*ing with building in his mind. ^o^;; Joshua ruffs, "Losing one's builder bit is more than just losing the ability to make objects." BunnyHugger says, "What else does it do, professor?" 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." BunnyHugger says, "Oh right, of course." BunnyHugger says, "That's the obvious reason for revoking it -- an MPI abuse. Because MPI programs have to be put on an object somewhere!" BunnyHugger says, "That makes sense." Joshua nods. BunnyHugger says, "Unlike MUF, anyone can write MPI, but it does depend on having stuff to PUT it on." Joshua ruffs, "You could fill the database with objects, but the game will prevent that itself with pennies." Joshua ruffs, "Someone creating a lot of objects will run out of them eventually." BunnyHugger says, "Right. They're unusually generous with that here and will usually give you any money you need." 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." Niny'ah says, "I started with 2k" Niny'ah says, "here" BunnyHugger says, "But it is a check on people abusively creating stuff." Joshua has OVER NINETHOUSANNNND. BunnyHugger says, "I have 56,636." BunnyHugger giggles. Austin says, "I have four." Joshua curries favor with the 1% by offering her carrots. BunnyHugger says, "Anyone have any other flags on themselves besides P,B,J, and M?" Beltrami nodnods. Joshua ruffs, "I have C." BunnyHugger says, "Ooh, good one." You say, "Me too. o.o" BunnyHugger says, "Anyone besides Joshua know what C does?" Beltrami nods. Claude raises his paw. BunnyHugger says, "Beltrami, did you have an answer?" Beltrami nods...she tugs her green shirt, then blue shorts, and then down to tap the power blue sneakers. Beltrami points to her eyes. BunnyHugger says, "Very good." BunnyHugger says, "Claude, was that what you were going to say?" Claude nodnods! BunnyHugger says, "It allows you to see color!" J.P. has most of his color added client-side. Raj mrrrs, "Only a player, though." BunnyHugger says, "I usually don't have it set except when Morticon is doing fireworks." BunnyHugger says, "That's right, Raj. What does it do otherwise?" Raj mrrrs, "It allows somebody other than the creator to take over ownership of an object via the @CHOWN primitive." BunnyHugger says, "That's right! On other kinds of objects, it means Chown_OK." 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." 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." 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?" Raj mrrrs, "You can, though, set a CHOWN_OK key to make it less, ah, risky." BunnyHugger says, "Right." Joshua ruffs, "But only if they were in their pockets :)" Raj erps, and just blurts it out. :P BunnyHugger says, "True Joshua, but people kept dropping them. n.n" Joshua hees. BunnyHugger says, "You can use @chlock to set a lock so only a specific person can @chown something." 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." You say, "Good call." 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. Joshua ruffs, "I've never seen it in the wild." Royce churrs, "I used that on Fluffmuck back in the late 90's when I was doing building projects with someone." BunnyHugger says, "You can set a chown-lock this way: @chlock =*, e.g. @chlock thing=*austin, or for multiple people you make a pipe between them, @chlock thing=*austin|*bunnyhugger" BunnyHugger says, "I didn't know about that, Joshua." Austin nods. "I hadn't seen it either." Royce churrs, "Now, what does that asterisk do?" Joshua ruffs, "Morticon would know, definitively, if it's compiled here, but I don't think it is." Austin says, "That's just magic." 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." 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." Royce hmms. Doesn't think he used asterisks. But then again that was a long time ago. Royce churrs, "Oh yeah. Jaxen could tell us about that, huh? :)" BunnyHugger giggles. BunnyHugger says, "So here are my flags... PKBJXM2" Joshua ruffs, "BunnyHugger, how'd you get an M2?" BunnyHugger says, "MWAHAHAHAHAHAHA" You say, "She asked for it?" Chitter says, "Oh no, she's going mad with power." Royce churrs, "What good is power, if you don't go mad with it?" Austin nods. J.P. giggles. 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." BunnyHugger says, "And then they proceeded to never tell me this." 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." Royce grins. BunnyHugger says, "I confess I was not amused and kind of gave him a telling off for pranking me like that." 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 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." 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." 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." BunnyHugger says, "So what the devil is K?" BunnyHugger says, "Who knows? n.n" Austin says, "Potassium! Very important." BunnyHugger says, "Not in this context." Joshua knows. BunnyHugger says, "It's only K if you set it on a banana." Claude coughs. "PK. That doesn't sound reassuring." BunnyHugger says, "Er, it's only potassium I mean." BunnyHugger says, "It doesn't!" Royce has disconnected. BunnyHugger says, "And it shouldn't because of what it does mean... which is... Joshua?" Royce has connected. Joshua ruffs, "KILL_OK." Austin says, "Also orange juice." BunnyHugger says, "Yep." Beltrami frowns? BunnyHugger says, "It means 'kill' can be used on me." BunnyHugger says, "Let me quote the help file..." A successful kill sends the player home, sends all objects in the player's inventory to their respective homes. The probability of killing the player is percent. Spending 100 pennies always works except against Wizards who cannot be killed. Players cannot be killed in rooms which have the HAVEN flag set. On systems where the KILL_OK flag is used, you cannot kill someone unless both you and they are set Kill_OK. Joshua nods. 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." Austin says, "It's also a chance for people to show off they have a drop/odrop set on themselves." 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." 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." BunnyHugger says, "It's a pretty silly thing to still have around, it's true." BunnyHugger says, "And I set it on myself for the novelty value." 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.'" Joshua ruffs, "There is a time for everything, and a season for every activity under the heavens.. :)" BunnyHugger says, "D on an exit or thing makes it Dark, but on a program sets it in Debug mode, etc." BunnyHugger says, "If you enter 'help flags' you can see a complete list." 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." 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." BunnyHugger says, "So there's one other important way that objects can be modified besides having flags set on them. That's through properties!" BunnyHugger says, "But before moving on to properties, are there any more questions about Flags?" BunnyHugger says, "IF not..." Austin says, "Has anyone ever figured out what the Sticky flag does?" Joshua has. You say, "There's a sticky flag?" BunnyHugger says, "Well, on players it's Silent and stops you from seeing those annoying DBREFs on all your stuff, for a prettier view." 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." BunnyHugger says, "On objects it sends it home when it's dropped. And on a room I... am not totally sure." Joshua ruffs, "Oh, I used to know what it did on a room. I certainly know what it does on a MUF program." Joshua ruffs, "Ah, I remember what it does on a room" BunnyHugger says, "According to the help file, 'if a room is" 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." BunnyHugger oopses: "If a room is STICKY, its drop-to is delayed until the last person leaves (See DROP-TO). Joshua nods. J.P. giggles at Royce. 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." BunnyHugger says, "Any idea what you'd use that for, practically, Joshua?" You say, "Sounds like legalese." BunnyHugger says, "I've never set it on an exit, for sure." 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." Joshua ruffs, "All M1 programs run SETUID." BunnyHugger says, "Right." 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." Austin nods. "Thank you." BunnyHugger says, "OK, let's talk about properties now!" Joshua nods. 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." BunnyHugger says, "For instance, the basic 'look' command actually retrieves information from a property on you called /_/de ." 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." Niny'ah's getting mentally saturated BunnyHugger says, "Karaoke, for instance, puts all its stuff in a directory on you called karaoke/ , if you've used that program." Joshua ruffs, "BunnyHugger, do you think we could take an intermission or something for Niny'ah?" Joshua could stand a bit of rest himself to check a few things. BunnyHugger says, "Well, let me take the temperature of the room, so to speak..." Joshua nods. Featherwing apologizes, but his parental unit wants him to go somewhere with them, so he must depart. "I trust there will be a log? Royce yay! "Lunchtime!" 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." Beltrami frowns and nods to Featherwing. BunnyHugger says, "There will, Featherwing!" You say, "I'm logging!" You say, "Take care." Niny'ah thinks 2 hours is enough for one sitting Claude's log will be interrupted at some point by the router freezing, though. Joshua hugs Featherwing. You say, "And I agree with Niny'ah anyway. :)" BunnyHugger says, "That sounds fair. Why don't I wrap up briefly with a homework assignment?" Niny'ah says, "sure" Beltrami nodnods. Joshua noddles. You say, "Purrfect." BunnyHugger says, "I'll just leave you with one last note about properties, but we'll revisit them next time." BunnyHugger says, "Basically, anything the MUCK 'knows' about you, all your distinctive qualities, are somewhere on your properties." Beltrami nods. 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." BunnyHugger says, "Er, sorry, that should say 'Ex me=/_/de will show you your desc.'" BunnyHugger says, "OK. So here's your homework for next time." Joshua earperks. 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." 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." Beltrami smiles! Niny'ah says, "can we use existing stuff to qualify?" Niny'ah holds up her 'breather 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." Joshua noddles. 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!" Joshua ruffs, "Do we know how Jaxen's Foxholes work?" Joshua would like to change his portal gun into one that actually works :) Beltrami nods. Joshua should query him about it. BunnyHugger says, "I don't know specifically. What do they do?" Claude hmm! BunnyHugger says, "Oh, but class is now dismissed and we'll meet next Sunday, same time." Joshua ruffs, "He places a foxhole in one place, then one in another. When you jump through one, you pop out the other." BunnyHugger says, "And if you want to tell a friend, I think we're still enough in the beginner stuff that anyone can join." Royce churrs, "Jaxen leaves more stuff lying around than I do! I found another Jaxen zombie the other day." Claude closes the log then. Ask if you need it. 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."