> I've decided to try to write a "teleporter" room for my MUD... so I wrote
> this and put it in spec_procs.c:
>
> SPECIAL(transport)
> {
> int rnwhereto = number(1,3);
> int whereto = 0;
>
> ACMD(do_look);
>
> if (IS_NPC(ch) || (cmd != 302))
> return(FALSE);
>
> switch(rnwhereto) {
> case 1:
> whereto = 3001; break;
> case 2:
> whereto = 12032; break;
> case 3:
> whereto = 7009; break;
> }
>
> act("$n presses a button on the transporter, and disappears.", TRUE, ch, 0,
> 0, TO_ROOM);
> send_to_char("You press a button on the transporter..\n\r", ch);
> char_from_room(ch);
> char_to_room(ch, whereto);
[..]
> And then a crash.. Anyone know what I have done wrong here?
Yes. char_to_room() uses an rnum, not a vnum. 3001, 12032, and 7009
look like they are vnums. Use real_room() to convert a vnum to an
rnum.
-je
This archive was generated by hypermail 2b30 : 12/07/00 PST