MUSHCode for Zones

Topic: ZonesAuthor: TrispisSummary: Group projects often require multiple players to be able to workon the same object(s). Use of zones provides a way.

Trispis begins logging.Trispis begins the lecture.Trispis says, "I've chosen this particular location for this lecture becauseit provides the sort of environment in which zoning is more natural."Trispis says, "as opposed to a 'lecture hall' or 'classroom'."Trispis says, "Let's begin by taking a sample scenario..."

Dropped.

Trispis says, "Okay... There's my object."Trispis says, "Now... If I wanted to be able to share control of that objectwith the rest of you (I mean total control, not just 'using commands' on it... I mean adding adding commands, adding attributes, changing details ofdescription, etc.)... How would I do that?"

David says, "Um, @lock/zone?"

Trispis says, "Without zones, the only way to do that is to @chown it to eachof you for the time you want to mess with it."Trispis says, "Close, David."

Dropped.

Xira says, "put it in a zone (object or room) which is specified to eachuser.. or something."

Trispis says, "Okay... there's another object, my zmo."

Nhoj adds to Xira, "Or player."

Trispis says, "ZMO stands for Zone Master Object (I'll not rant too much aboutthe inconsistent usage of the terms 'thing' and 'object'. For the purpose ofthis lecture, assume they mean the same thing.)"Trispis says, "All types of Zones work basically the same way (I'll spell outthe details of differences a bit later), so I'll use this ZMO as a genericexample."Trispis says, "Everyone here: Please try to put an attribute (named your name)on 'Sample-Object' (not on the zmo, please). For example:

Trispis says, "Okay... Now... I'm going to zone that object to the zmo

@chzone Sample-Object=Sample-ZMO

... then add you all to the @lock/zone of the zmo with...

@lock/zone Sample-ZMO==me|=David|=Xira|=Akiko|=Nhoj"

ZMOs must be zone-locked before you @chzone!

Locked.

Warning: @chzoning admin-owned object!

Zone changed.

Trispis says, "Okay... when I tried to do that (in the order I said), it saidthe zmo must be @lock/zone-ed first. so, I had to reverse the order ... Ilocked first, then chzoned."Trispis says, "Now try adding an attribute to Sample-Object named your name(as before)."

GAME: Joshua has connected.ZONE: Joshua has connected. (Foyer)Joshua has arrived.

Xira says, "test char."

Xira leans back in his chair.

Given.

Given.

Joshua found the problem

Joshua drops Sample-Object.

Joshua drops Sample-ZMO.

Trispis says, "the problem was my blasted royalty flag."Trispis says, "Try now, folks. sorry for the confusion."Trispis says, "Try to set an attribute on the sample-object."

David says, "It worked! Yay!"

Akiko says, "Set"

Xira does a jig

Trispis says, "man, how embarrassing."

Nhoj cheers!

Xira says, "what happened?"

Trispis says, "I should have remembered that admin-owned restriction."Trispis says, "Um... You can't play with stuff I own, no matter what... justbecause I'm an admin."

Nhoj nods.

Trispis says, "So, I chowned it all to Joshua. (:"

Xira says, "hehe"

David says, "Ah, why don't you tell us about all the restrictions now, then?"

Joshua has disconnected.

Trispis says, "Well... I'll get to the restrictions in a minute. Let me finishthe purpose of zones and the various types."Trispis says, "As you can all now see, the benefit of a zone is that it allowsmultiple players to control objects."Trispis says, "that is... It allows 'group projects'."Trispis says, "We can all work on this object together, at the same time,without having to chown it back and forth among us."Trispis says, "Here's an example of a beneficial use of Zones..."Trispis says, "Let's say you have several characters (alts) on a game."Trispis says, "And... one day you hear a report of something being broken onan object owned by one of your alts, but you don't want to give away youridentity by logging that character in immediately to fix the problem... butyou still wanna fix it."Trispis says, "You can create zones to achieve the desired end."Trispis says, "Put all of character A's stuff on a zone and lock that zmo toall of your alts."Trispis says, "Likewise for every other character."Trispis says, "Then, no matter what character is logged in, you have controlof all of their stuffs at once. (:"Trispis says, "Now..."Trispis says, "there are 3 types of zones."Trispis says, "One (which we just used) is the ZMO (or, probably moretecnically correct, ZMT)... that is, a zone which is controlled by an Object(or THING)."Trispis says, "Another, is the ZMR Zone. A zone controlled by a ROOM."

Xira says, "next zmp?"

Trispis says, "And the third is the ZMP Zone, which is controlled by aPLAYER."Trispis says, "Each of these has features unique to itself."Trispis says, "The ZMO Zone (Object/THING-controlled) can have any type ofobject zoned to it except a PLAYER."Trispis says, "Thus, THINGS, ROOMS, and EXITS can all be zoned to a ZMO (orZMT)."Trispis says, "The ZMR Zone is restricted to just objects of type ROOM."Trispis says, "That is, you can only zone ROOMs to a ZMR."Trispis says, "Exits and Things cannot be zoned to a ZMR."Trispis says, "What, you might ask, is the good of a ZMR, then... if it can'thave the other types zoned to it?"Trispis says, "Well.. the ZMR has the benifit of behaving very similar to theMUSH's Master Room, in that: All objects dropped in the ZMR become global tothat zone (any room zoned to the ZMR), and thus any $commands on those objectsare 'zone global commands'."

David says, "Cool."

Trispis says, "The ZMO has a similar feature, though. Any $commands on the ZMOare global to that zone, as well."Trispis says, "What about the ZMP? What benefits does it offer?"Trispis says, "The ZMP offers a benefit that can't be had from either of theother two..."

Nhoj says, "You can have players on the ZMP?"

Trispis says, "In addition to being able to zone all non-PLAYER type objects,PLAYERS who are on the zonelock of the ZMP can also @chown things directly tothe ZMP, thus immediately adding them to the zone for others to work on."Trispis says, "No... you can't have PLAYERS on the ZMP."Trispis says, "Which brings me to restrictions."

Xira says, "so you can make somone take ownership of an object right?"

Trispis says, "Ermm... Xira: You can... but only the ZMP. You can only makethe ZMP take ownership."

Xira says, "K"

Trispis says, "Some restrictions of zones are as follows..."Trispis says, "An admin owned object cannot be controlled by anyone,regardless of the zmo control."

Nhoj says, "What if the ZMO is set ROYALTY or WIZARD?"

Akiko says, "We noticed. :)"

Nhoj says, "Or the ZMP, etc?"

Trispis says, "The INHERIT flag will change permissions and privileges onzoned objects, just like it does on non-zoned objects."Trispis says, "Well.. I /think/ I could have retained ownership of the ZMO inthis instance, but it was simpler to just put it all into mortal situation.Since that was the intention of Zones in the beginning anyway."Trispis says, "If you have a ROYALTY or WIZARD player to experiment with, Isuggest doing experiments on your own with some test objects and testcharacters. If you intend to have a ROY or WIZ player involved in a Zone,you'd better be far more familiar with zones than this lecture will cover."

Akiko grins.

Nhoj nods.

Trispis says, "Um... Just for your information (to see the versatility ofzones), the 101 Schoolhouse is made up of /all three/ types of zones."Trispis says, "Everything in the schoolhouse is owned by 101ZMP."Trispis says, "Which doesn't require any @chzone-ing (ownership by the ZMPcreates the zone)."Trispis says, "All rooms are zoned to 101ZMR, where we keep our own set ofzone globals."Trispis says, "All things and exits are zoned to the 101ZMO (thing).... sothat they can also be maintained by the folks on the zone."Trispis says, "the purpose of using all three is this:..."Trispis says, "It allows us to give limited access to certain things on thezone to players who want to work on limited portions."Trispis says, "If someone wants to tinker with an exitlock, we can put them onthe zonelock of the zmo and allow them the access they need without givingthem access to rooms ..."Trispis says, "And vice-versa for access to rooms and not exits."Trispis says, "Being on the ZMP's zonelock is like being a wizard in thiszone... it will even allow you to put yourself on zonelocks ofZoneMaster<whatever>'s owned by the ZMP."Trispis says, "final note on restrictions."Trispis says, "Zone privilege does not allow you to @nuke objects owned byother players on the zone."Trispis says, "If you don't own it, you can't nuke it."David says, "What if the ZMP owns it?"Trispis says, "You can change lots of flags, add/remove/edit attributes...just as if you did own it, but you can't nuke it."Trispis says, "Nuking requires that you own it."Trispis says, "If the ZMP owns it, you can't nuke it."Trispis says, "I'm pretty much through with my illustration/lecture on zones."Trispis says, "Any questions?"

NHOJ [#1906]: Cows can moo.AKIKO [#1804]: hah!XIRA [#2362]: $Xira:@emit=Oh my god look over there!DAVID [#1907]: Anything you can do, I can do better...anything I can do betterthen you...TEST [#1623]: test

NHOJ [#1906]: Cows can moo.AKIKO [#1804]: hah!XIRA [#2362]: $Xira:@emit=Oh my god look over there!DAVID [#1907]: Anything you can do, I can do better...anything I can do betterthen you...TEST [#1623]: test

Trispis says, "Um... Test it and see (more advanced than this lecture wasintended)."

Akiko says, "Can you chain ZMOs?"

Trispis says, "Yes."Trispis says, "You can zone a zmo to another zmo."

David says, "Hmmm...it worked..."

Trispis says, "the ZMO is not special. It's just a focal point for objectszoned to it."Trispis says, "It's where the server looks for permissions."Trispis says, "Note: Any given object can only be @chzone-ed to /one/ ZMO at atime. The only time an object can belong to more than one zone is when aZMPlayer is involved. i.e., an object can be owned by a zmp and chzoned tosome other ZMObject (thing or room)."Trispis has about 5-10 min left, then must leave.

David says, "Trispis, do you see what I'm trying to do?"

Trispis says, "Before I go, I want to apologize again for forgetting about theROYALTY issue. That was a silly mistake (one I've made a hundred times andnever learned from)."Trispis looks, David.

DAVID [#1907]: $david:@set/adescribe me=!no_command

Oh my god look over there!

Xira says, "thanks"

Trispis says, "Yes, I see. And I think that should work... if the object hasan &adescribe attribute."Trispis says, "but..."Trispis says, "The correct syntax is...

$david:@set me/adescribe=!no_command"

Trispis says, "Um... unless the adescribe attribute is protected by the serverin some way (similar to the @describe attribute, which cannot be set!no_command or !visual."Trispis says, "er... correction."Trispis says, "@describe cannot be set 'no_command' or '!visual'"Trispis says, "Wait."Trispis says, "maybe i had it right the first time."

Akiko grins.

Grinna giggles.

Trispis is obsessed with his pending appointment.Trispis thinks.

David has to go real quick...but I'll read the log...and will this work in toadd people?

Xira scratches his head "I am lost"

Trispis says, "Yes, I think it will, David."

Trispis says, "If the ZMO is zoned to itself, you should be able to add peopleto the zonelock."