Remote Control "Zombies"

MUCKs have a feature that is often disabled because it is easily abused called “Zombies”. Zombies are remote control 'characters' that are actually objects that you can manipulate. Some other text-based games call these “puppets” instead.

We have turned on this feature because it can be helpful in running an RP; it lets a single player character connection operate in multiple rooms at the same time, and makes for NPCs that are easily disposable.

NOTE: We highly recommend making alts for long-running characters. You can have as many alts as you want, just ask Jarvis or Jaymie to make you one.

Please do not make an excessive amount of zombies, or use zombies as a means to park yourself in multiple rooms. Zombies don't and, in fact, can't show up in the 'where'/'wa' listing so if you're going to make something to park in a room, we'd rather it be an alt so that it is known a room is occupied and there's somoene who wants RP in there.

The intention of zombies is purely for short-lived NPCs or, perhaps, children. Please use them as intended!

Instructions

Making a zombie is fairly easy. We're going to make a zombie called TestZomb with DBREF #123. Replace TestZomb with your desired zombie name, and #123 with the created object's ref.

First, create the object. This will provide you the ref number:

@create TestZomb

Next, set flags on it:

@set testzomb=z
@set testzomb=x
@flock testzomb=me

Now, set up your control action. This is what you type to remote control the zombie, and thus you will want it to be as short as possible. In this example, I will use 'tz', but you can make it whatever you want. WARNING: Avoid single letters and words that are often used as exit names; out, star, port, and lift for example. If your remote control command is the same as an exit in the room, you won't be able to use the exit in the room.

@act tz=me
@link tz=$nothing
@succ tz={force:#123,{&arg}}

Note the #123 in there; replace with your object reference, including the hash mark. And of course, replace tz with whatever command you want to use. Now, drop your zombie and test it:

drop zombie
tz :waves hello!

You will be able to see through the zombie's eyes as it walks around; what it sees will be prefixed with its name, such as: TestZombie>

You can use editplayer with the test zombie, by using tz editplayer and zombies can use morphs, etc. Please note I haven't extensively tested this, so there could be some features that don't work right with zombies, but I'm pretty sure most things will work.

You can rename your zombie with @name if you want to reuse it:

@name testzombie=NewName

Enjoy and try not to be annoying with these things :)