Hello - I am the coder for Terminus (currently in need of a new home) a MUD based on Circle MUD. We have changed the do_auto_exit function to make it look a bit nicer and I was wondering if there was anyone out there that could help me fix the latest problem. We wanted it to say that the room in a named direction was Dark (ie. by putting Too Dark to See in place of the name of the nearby room). We have tried a number of things out but we can not get it to take into account if the person is carrying a light source of some description. If there is anyone out there that has any Ideas I would be grateful for some help. The code for this function follows. void do_auto_exits(struct char_data * ch) { int door; char tmpBuf[10]; char temp[80]; /* used to bung things in Mort*/ *buf = '\0'; for (door = 0; door < NUM_OF_DIRS; door++) if (EXIT(ch, door) && EXIT(ch, door)->to_room != NOWHERE && !IS_SET(EXIT(ch, door)->exit_info, EX_CLOSED)) { switch(LOWER(*dirs[door])) { case 'n': strcpy(tmpBuf, "north"); break; case 'e': strcpy(tmpBuf, "east"); break; case 's': strcpy(tmpBuf, "south"); break; case 'w': strcpy(tmpBuf, "west"); break; case 'u': strcpy(tmpBuf, "up"); break; case 'd': strcpy(tmpBuf, "down"); break; default: strcpy(tmpBuf, "somewhere"); }; /* added to take into account dark rooms */ if(IS_SET(ROOM_FLAGS(EXIT(ch, door)->to_room), ROOM_DARK)) { strcpy(temp, "Too dark to see"); } else { strcpy(temp, world[EXIT(ch,door)->to_room].name); } /* End added section, change line below as well though*/ sprintf(buf, "^p%10s^N: ^Y%s\r\n", tmpBuf, /*world[EXIT(ch, door)->to_room].name*/ temp); send_to_char(buf, ch); }; } Note. The ^Y etc bits are for out colouring instead of using ANSI codes. Mort +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST