I dont think that your problem is here... the reason being that there are no calls to char_to_room. You might want to harness the great and mystical powers of GDB. Fili Admin for DarkStar Adam wrote: > I have been trying to make the autoexit code better than the stock stuff so > I took the ACMD(do_exits) command and basically put it into the autoexit > code, the MUD crashed everytime a regular player logged in, but an immortal > could log in fine. I have now also tried using the very similar code from > the Snippet Site. > > void do_auto_exits(struct char_data *ch) > { > int door; > > *buf = '\0'; > > if (IS_AFFECTED(ch, AFF_BLIND)) { > send_to_char("You can't see a damned thing, you're blind!\r\n", ch); > return; > } > 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)) { > if (GET_LEVEL(ch) >= LVL_IMMORT) > sprintf(buf2, "%-5s - [%5d] %s\r\n", dirs[door], > world[EXIT(ch, door)->to_room].number, > world[EXIT(ch, door)->to_room].name); > else { > sprintf(buf2, "%-5s - ", dirs[door]); > if (IS_DARK(EXIT(ch, door)->to_room) && !CAN_SEE_IN_DARK(ch)) > strcat(buf2, "Too dark to tell\r\n"); > else { > strcat(buf2, world[EXIT(ch, door)->to_room].name); > strcat(buf2, "\r\n"); > } > } > strcat(buf, CAP(buf2)); > } else if (EXIT(ch, door) && EXIT(ch, door)->to_room != NOWHERE && > IS_SET(EXIT(ch, door)->exit_info, EX_CLOSED)) { > if (GET_LEVEL(ch) >= LVL_IMMORT) { > sprintf(buf2, "%-5s - [%5d] %s - CLOSED", dirs[door], > world[EXIT(ch, door)->to_room].number, > world[EXIT(ch, door)->to_room].name); > if (IS_SET(EXIT(ch, door)->exit_info, EX_LOCKED)) > strcat(buf2, " - LOCKED"); > if (IS_SET(EXIT(ch, door)->exit_info, EX_PICKPROOF)) > strcat(buf2, " - PICKPROOF"); > strcat(buf2, "\r\n"); > } else > sprintf(buf2, "%-5s - The %s is closed\r\n", dirs[door], > fname(EXIT(ch, door)->keyword)); > strcat(buf, CAP(buf2)); > } > } > send_to_char("Obvious exits:\r\n", ch); > > if (*buf) > send_to_char(buf, ch); > else > send_to_char(" None.\r\n", ch); > } > > I get this error message and the MUD crashes: > > Thu Sep 25 22:02:36 :: SYSERR: Illegal value(s) passed to char_to_room > > Could someone help me figure this out? Has anybody else had this problem. > > Thanks, > > Adam > > +------------------------------------------------------------+ > | Ensure that you have read the CircleMUD Mailing List FAQ: | > | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | > +------------------------------------------------------------+ +------------------------------------------------------------+ | 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/08/00 PST