From: David Cole (
Date: 01/17/02

Hello again,

I'm redoing quit to give a prompt for quitting cause quitting on our mud
makes you drop everything and leave the game, I'm trying to through the PC
into a state then prompt them for yes or no then disconnect or go back inot
CON_PLAYING. Here's what I've written below, only problem is it doesn't
work, once you type quit, nothing happens. Any help would be greatful.

  struct descriptor_data *d, *next_d;

  if (IS_NPC(ch)) {
 send_to_char("Monsters can't quit, go away.", ch);

  if (GET_POS(ch) == POS_FIGHTING)
    send_to_char("No way!  You're fighting for your life!\r\n", ch);
  if (GET_POS(ch) < POS_STUNNED)
    send_to_char("No way!  You're stunned, wait till your senses
clear!\r\n", ch);

  for (d = descriptor_list; d; d = next_d) {
    next_d = d->next;
    if (d == ch->desc)

   SEND_TO_Q("Quiting means you leave the game entirely and your saved\r\n"
       "to the room in which you leave. However quiting is not a\r\n"
    "proper way to leave the game, and as a consequence all of\r\n"
    "your equipment will we left in the room from which you\r\n"
    "quit. To avoid this, rent at an inn, or camp in a suitable\r\n"
    "room.\r\nAre you sure you want to quit (y/n)? ", d);
      STATE(d) = CON_QUIT;

  switch (STATE(d)) {
  case CON_QUIT:
    if (*arg == 'y' || *arg == 'Y') {
    if (!GET_INVIS_LEV(ch))
      act("$n has left the game.", TRUE, ch, 0, 0, TO_ROOM);
      sprintf(buf, "%s has quit the game.", GET_NAME(ch));
      mudlog(buf, NRM, MAX(LVL_IMMORT, GET_INVIS_LEV(ch)), TRUE);
      send_to_char("You drop everything and leave the game.\r\n", ch);

      if (d->character && (GET_IDNUM(d->character) == GET_IDNUM(ch)))
        save_char(ch, ch->in_room);
 } else
    if (*arg == 'n' || *arg == 'N') {

Dave (Tiznor)

It's probably staring me right in the face, in bold, bright, blinking
letters. But for some odd reason I still don't see it...

   | FAQ: |
   | Archives: |
   | Newbie List:   |

This archive was generated by hypermail 2b30 : 06/25/03 PDT