Re: [IDEA]

From: Angus Mezick (amezick@edgil.com)
Date: 03/31/99


Zone flags rock. But you should take it further, esp for use with
your builders.  Try this zone struct:

struct zone_data {
   char *name;              /* name of this zone                  */
   char *author;
   char *editor;
   char *levels;
   byte status;
   byte source;
   int  lifespan;           /* how long between resets (minutes)  */
   int  age;                /* current age of this zone (minutes) */
   int  top;                /* upper limit for rooms in this zone */

   int  reset_mode;         /* conditions for reset (see below)   */
   int  number;             /* virtual number of this zone        */
   long bitvector;           /* Bits for zones                    */
   struct reset_com *cmd;   /* command table for reset            */
   int idle_time;          /* if zone is idle for <age> minutes, purge
                                it and wait for  for players to to enter

                  */
   /*
        *  Reset mode:                              *
        *  0: Don't reset, and don't update age.    *
        *  1: Reset if no PC's are located in zone. *
        *  2: Just reset.                           *   */
};

It is what we use on PhoenixMUD and it is extremely useful.  We use the
author/editor/levels fields to fill in the areas command. Status and
Source are defined by the following arrays:

/* ZONE Status */
const char *zone_status[] = {
   "In Progress",
   "Waiting to be Proofed",
   "On Hold",
   "Finished",
   "Active",
   "\n"
};

/* ZONE Source */
const char *zone_source[] = {
   "Original",
   "Stock",
   "Re-Write",
   "Public",
   "\n"
};


These can be used to help calculate how original your world is.  You add in
editing capability to zedit and then not allow most builders to set a zone
to
finished/active.  If they edit anything in a zone with these settings, we
set it back to In Progress, and only Active zones get moved the the playing
port.  It is a VERY nice system and has really improved the quality of
our zones (even if it does bug the heck out of some builders.)
One last thing, additions to show stats to use this stuff:

Current stats:
 Players:
     25 players in game     22 connected
    678 registered       825634503 top idnum
 World Database:
   1637 mobiles           2737 prototypes
   4562 objects           3141 prototypes
   9230 rooms              142 zones
      6 paths
 Zone Sources:
     73 Original            35 Stock
     10 Re-Write            24 Public
 Zone Status:
     10 In Progress          8 Waiting to be Proofed
      1 On Hold              0 Finished
    123 Active
 Internal Buffers
      0 large bufs
   6770 buf switches         2 overflows
 19095939 buf cache hits  1669177 buf cache misses
  92792k Total Bytes writen to players
Up since Tue Mar 30 15:32:18 1999: 0 days, 18:21

--Angus - masque@phoenixmud.org





Benjamin Draper <satrycus@DRACHENBURG.DEMON.CO.UK> on 03/31/99 08:54:24 AM


Deltanet wrote:
>
> Maybe this has been discussed, I haven't seen it.
> Adding in the zone file(zedit.c) a field called ZONE STATUS
> This field would only have two options.  OPEN/CLOSED
>

  Why stop at 2 options? Why not have zone flags? Just a simple
copy of the room flag code, and you can set all sorts of things.
We're using a 'CLOSED' zone flag which stops all non-immortals from
entering it, and this flag is also set on any objects and mobiles that
are created, thus stopping normal players handing them or attacking
them.
  We've also got !PORTAL, !RECALL and !TELEPORT flags, an ARENA zone
flag, and a CLAN zone flag which designates the zone as set aside for
clan construction for our clan olc.
  I think they're useful, although some could argue that I'm just
mimicing the affects of some room flags.

-> Ben


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST