Creating Puppet (or Zombie) Objects [Pt. 2] ~ Alkani

From: Alkani

Date: 2013-01-10 04:18 PM


Creating Puppet (or Zombie) Objects (pt. 1)

Chandra al-Alkani, SpinDizzy (Published 01/10/2013 -- Last Updated 03/14/2013)

General Procedures -> Object Handling -> Semiautonomous Objects

PROCEDURE

For the purposes of the procedure below, Example Puppet will be the name of the

Puppet Object we want to create, 'ep' will be the name of the Control Action, and

Chandra will be the name of the Player Object creating the Puppet Object.

1. Create an Object. Be sure to record the Database Reference ID (DBREF).

This object will be referred to as a Puppet Object in the remainder of

this document.

@create Example Puppet

2. Set the Zombie Flag on the Puppet Object. This lets the system know and

understand that you want this object to be controllable.

@set Example Puppet=Z

3. Set the Forcible Flag on the Puppet Object. This lets other people, namely

you, do force your puppet to do stuff!

@set Example Puppet=X

4. Lock the Puppet Object to you to set ownership and to prevent other people

from doing naughty things to your puppet!

@lock Example Puppet=*Chandra

(The Lock Expression is Chandra)

5. Force-lock the Puppet Object to you so that you can force he puppet and

nobody else can!

@flock Example Puppet=*Chandra

(The Lock Expression is Chandra)

6. Create an action against yourself; this is how you control the Puppet Object and

instruct it to do things for you. It's best if it's something short that

doesn't conflict with a global action. From this point forward, this will be

referred to as the Control Action.

@action ep=me

7. Link the new Control Action to the Nothing Multi-User Forth (MUF) Program.

This should be globally registered program. If it isn't, talk to a

Resident MUF developer/helpstaffer or a Wizard to determine the usability

and status of the program's registration.

@link ep=$nothing

8. Lock the Control Action so that it always fails. This can really be any

expression, but he easiest is simply to use something that inherently

conflicts.

@lock ep=*Chandra&!*Chandra

(The Lock Expression is {Chandra} AND {NOT Chandra} )

9. Set the Fail message to use MPI Force and accept parameters. Note that this

requires you to have the Database Reference ID (DBREF) for the Puppet Object

you created.

@fail ep={force:<OBJ NUMBER>,{&arg}}

10. Test out your newly created Puppet Object by sending a command to the

Control Action.

ep "This is a Test of the Emergency Broadcast System!"

ep :does a little jig!

ep look me

POST-CREATION

Once your puppet object is created, you may proceed to perform many of the same

Player Object creation tasks, such as creating descriptions, smells, tastes, and

installing message notifications. Much of this can be facilitated using the

editzombie command. If the editzombie command is not available, you will need

to use appropriate methods on your MUCK System for setting these attributes.

In addition, unless a puppet is being used only once and/or will never be seen by

the public, it is recommended that you register your puppet with whatever local

facility is available. On the SpinDizzy MUCK, plist is the facility used to display

puppet locations.

For more information on where and how to register your puppets for use with the local

puppet tracking facility, speak with your Wizard. On SpinDizzy MUCK, you may use the

plist command by running 'plist #register' as the Zombie object.

FURTHER READING

Software or Topics with Help files (call using help <TOPIC OR COMMAND>):

+ @create A facility for creating new Objects on the MUCK System

+ @set A facility for setting properties and flags on Objects

+ @action A facility for creating actions on Objects

+ @link A facility for linking Objects together

+ @fail A facility for setting the Player-seen Fail messages on an Object

+ @lock A facility for creating Lock Expressions on Objects for General Use/Ownership

+ @flock A facility for creating Lock Expressions on Objects for Permission to Force

+ @force A facility for forcing Objects to run commands (Covers Xforcible flag)

+ Flags A help file which summarizes some of the Flags on the MUCK System

+ Types A help file which discusses the types of Objects on the MUCK System

+ Zombie A help file which discusses the uses of the 'Z' flag on the MUCK System

Software or Topics with Look Help (call using look <TOPIC OR COMMAND>):

+ plist A facility used to locate the Puppet Objects on the MUCK System

+ editzombie A menu-driven facility used to edit properties of Puppet Objects

[Special thanks to Xor for reminding me of the 'editzombie' command!]

[Special thanks for Pyro for pointing out a typo in Step 10. Thank you!]

(THANK YOU FOR READING!)

« Prev: 78. Creating Puppet (or Zombie) Objects [Pt. 1] Next: 80. Additional tips for zombies/puppets (Updated) »