Direction code problem(2)

From: Charles Erwin (Mystikarc@aol.com)
Date: 07/08/00


The restof the code:

         room->dir_option[DOWN] && room->dir_option[DOWN]->to_room != -1 ?
          world[room->dir_option[DOWN]->to_room].number : -1,
         grn, nrm, cyn,
    room->dir_option[NORTHEAST] && room->dir_option[NORTHEAST]->to_room != -1
?
    world[room->dir_option[NORTHEAST]->to_room].number : -1,
    grn, nrm, cyn,
    room->dir_option[NORTHWEST] && room->dir_option[NORTHWEST]->to_room != -1
?
    world[room->dir_option[NORTHWEST]->to_room].number : -1,
    grn, nrm, cyn,
    room->dir_option[SOUTHEAST] && room->dir_option[SOUTHEAST]->to_room != -1
?
    world[room->dir_option[SOUTHEAST]->to_room].number : -1,
    grn, nrm, cyn,
    room->dir_option[SOUTHWEST] && room->dir_option[SOUTHWEST]->to_room != -1
?
    world[room->dir_option[SOUTHWEST]->to_room].number : -1,
     grn, nrm, grn, nrm
          );

Then insert the following into the case statements for REDIT_MAIN_MENU:

    case 'b':
    case 'B':
+     OLC_VAL(d) = NORTHEAST;
+     redit_disp_exit_menu(d);
+     break;
+   case 'c':
+   case 'C':
+     OLC_VAL(d) = NORTHWEST;
+     redit_disp_exit_menu(d);
+     break;
+   case 'd':
+   case 'D':
+     OLC_VAL(d) = SOUTHEAST;
+     redit_disp_exit_menu(d);
+     break;
+   case 'e':
+   case 'E':
+     OLC_VAL(d) = SOUTHWEST;
+     redit_disp_exit_menu(d);
+     break;
+   case 'f':
+   case 'F':
      /*
       * If the extra description doesn't exist.
       */



            The last two characters are supposed to be northeast and
southwest.
            So: To fix that add the following to constants.c:


            const char *sdirs[] =
            {
               "n",
               "e",
               "s",
               "w",
               "u",
               "d",
               "ne",
               "nw",
               "se",
               "sw",
               " "
            };

            Add to constants.h:
            extern const char *sdirs[];

            and in act.informative.c in the look_at_room function:
            change

            slen += sprintf(buf + slen, "%c ", LOWER(*dirs[door]));

            to:

            slen += sprintf(buf+slen, "%s ", sdirs[door]);

            That ought to fix it. Sorry about that :)

            -Kkalun
            [ Reply to this comment ]


     +------------------------------------------------------------+
     | 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 : 04/10/01 PDT