Re: [plr_ghost] and [do_advance]

From: ;P (siv@CYBERENET.NET)
Date: 04/08/98

>   if (PLR_FLAGGED(ch, PLR_GHOST)) {
>     if (!CMD_IS("who")   && !CMD_IS("north") &&
>         !CMD_IS("south") && !CMD_IS("east")  &&
>         !CMD_IS("west")  && !CMD_IS("down")  &&
>         !CMD_IS("up")    && !CMD_IS("gossip")) {
>     send_to_char("You cannot do that as a ghost!\r\n", ch);
>     return;
>     }
>   }
> My intention is for it to get the ghost only to do certain things...
> But it doesn't matter if the ghost type gossip or any of the commands
> above... they cant do it anyway.
> What's wrong??? I can't seem to figure it out.

cause you put the code in before it knows what command is being used..try
moving it this (lines with the plusses):

  if (*complete_cmd_info[cmd].command == '\n')
    send_to_char("Huh?!?\r\n", ch);
    send_to_char("You try, but the mind-numbing cold prevents you...\r\n", ch);
+  else if (PLR_FLAGGED(ch, PLR_GHOST) && !(CMD_IS("who") ||
+       IS_MOVE(cmd) || IS_CMD("gossip"))
+    send_to_char("You cannot do that as a ghost!\r\n", ch);
  else if (complete_cmd_info[cmd].command_pointer == NULL)
    send_to_char("Sorry, that command hasn't been implemented yet.\r\n", ch);
  else if (IS_NPC(ch) && complete_cmd_info[cmd].minimum_level >= LVL_IMMORT)
    send_to_char("You can't use immortal commands while switched.\r\n", ch);

> And another prob I got... I have made so that I define the exp for lvl
> in class.c only how much it is needed to lvl not all exp just the exp
> for next lvl...

what was your reason for changing it? do you subtract experience when a
person levels? made some other change that requires the
differential rather than the total? if not you would have no reference
to when the next level will will be 4000 no matter how much exp
you have..i'd suggest putting it back the way it was :)


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

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