Re: [newbie?]

From: Daniel Koepke (
Date: 12/18/96

On Tue, 17 Dec 1996, DragonMUD Admin wrote:

> I have written a proc for a newbie zone guardian that prevents players 
> level 6 and over from entering the newbie zone.  I plan to use the  proc 
> in several different places in the mud, but I am coming across a 
> problem.  Initially, the proc worked beautifully.  The guard prevented 
> characters from traveling west into the newbie zone.  I changed the level 
> maximum to 7, which was the /only/ modification made to the code.  Now, 
> characters cannot only go west, they cannot go down into the temple 
> either.  In essence, they are trapped when they enter the room, because 
> the guard will not let them go any direction.  Any help on resolving this 
> issue (i.e. blocking chars from west only) would be appreciated.

As a note to all... This type of thing really requires that you post
the code.  There's a million ways and one to code any one thing (hell,
when there's several different ways to do the same boolean check...),
so we can't really guess at what your code is or what the problem is.

  SPECIAL(do_newbie_guard) {
    int block_dir = SCMD_WEST; // change this for blocking a different dir
    int min_newbie_level = 7; // level 7 and under can pass
    struct char_data *guard = (struct char_data *) me;
    if (cmd != block_dir || GET_LEVEL(ch) <= min_newbie_level)
      return FALSE;

    sprintf(buf, "$n stops you, saying, \"Only level %d characters and"
		 " below may pass.\"", min_newbie_level);
    act(buf, TRUE, guard, 0, ch, TO_VICT);
    sprintf(buf, "$N stops $n from leaving %s%s.",
	    (cmd < SCMD_UP ? "to the " : ""), dirs[cmd-1]);
    act(buf, FALSE, ch, 0, guard, TO_ROOM);
    return TRUE;

That may or may not work...  To coin a new phrase, the above is "IMC"
(Inside Mailer Coder), essentially meaning I wrote it in my mailer, a
very dangerous prospect, indeed. :)

Daniel Koepke
Forgive me father, for I am sin.

| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   |

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