Don't forget to also check the actual exit. There is a chance that the exit exits, but goes to -1 because it is an exit desc. --Angus ______________________________ Forward Header __________________________________ Subject: Re: [code] help with room exits Author: INTERNET:CIRCLE@POST.QUEENSU.CA at CSERVE Date: 4/8/98 9:59 PM On Wed, 8 Apr 1998, C^2 wrote: > I know that the function works properly, but I just can't seem to > get right how to check to see if the target room(the room the player is > trying to enter) has a down exit. Things that I have tried are: > > world[(EXIT(ch, dir)->to_room)].dir_option[DOWN]->to_room != -1 > world[(EXIT(ch, dir)->to_room).dir_option[DOWN]->to_room].number != -1 > world[(world[ch->in_room].dir_option[dir]->to_room)].dir_option[DOWN]->to_room > == -1 > > Every one of these crashes the mud as soon as a character(without > fly) enters the room. Flying characters work fine. If I replace the if (world[EXIT(ch, dir)->to_room].dir_option[DOWN] && code_for_ch_not_flying) { send_to_char("You gotta be flying to go there.\r\n", ch); return 0; } If an exit does not exist.... Then it quite literally does NOT exist. It doesn't exist as an option for movement and it doesn't exist in memory either. That is probably why the attempt to accesss a non-existant exit crashed the MUD. <...> Good luck, John Evans <evansj@hi-line.net> -- http://www.hi-line.net/~evansj/ +------------------------------------------------------------+ | 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