On Mon, 8 Jul 1996, Linebacker wrote: > I am wanting to prevent characters over a certain level from entering > certain rooms and characters under a certain level from entering other > rooms. I have seen muds with mud schools that allowed only levels 0 - 5 > into the school. > > Has anyone done anything like this? What is the best method for doing this? > Q: I need to prevent people from entering rooms, how should I go about doing this? A: Let's take a peak in LL1.5.1's act.movement.c... in do_simple_move, after checking for /* charmed? */ is the best place to put checks in. Here's an example: /* Check for UpperGodsRoom */ if ((ROOM_FLAGGED(ch->in_room, ROOM_UPPERGODROOM) || ROOM_FLAGGED(EXIT(ch, dir)->to_room, ROOM_UPPERGODROOM)) && GET_LEVEL(ch) < LVL_GRGOD) { send_to_char("A strange force prevents you from going there.\r\n", ch); return 0; } /* Check for GodRoom */ if ((ROOM_FLAGGED(ch->in_room, ROOM_GODROOM) || ROOM_FLAGGED(EXIT(ch, dir)->to_room, ROOM_GODROOM)) && GET_LEVEL(ch) < LVL_AMBASSADOR) { send_to_char("A strange force prevents you from going there.\r\n", ch); return 0; } So, define your ROOM flags and figure out the levels and you're done. -- Billy H. Chan bhchan@po.eecs.berkeley.edu bhchan@csua.berkeley.edu CogSci/CompSci http://www.csua.berkeley.edu/~bhchan ResumeInside
This archive was generated by hypermail 2b30 : 12/07/00 PST