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