I downloaded a code snippet form circlemud's ftp for adding a new flag,
ROOM_IMPLONLY for rooms.
It works nicely for cardinal directions, but I want to keep those nosey
imms out of my IMPL room.
This is what I tried in the ACMD(do_goto) function in act.wizard.c:
ACMD(do_goto)
{
room_rnum location;
+ if (GET_LEVEL(ch) < LVL_IMPL) {
+ if (ROOM_FLAGGED(location, ROOM_IMPLONLY)) {
+ send_to_char("You are not godly enough to use that room!\r\n", ch);
+ return;
+ }
+ }
if ((location = find_target_room(ch, argument)) < 0)
return;
if (POOFOUT(ch))
sprintf(buf, "%s", POOFOUT(ch));
else
strcpy(buf, "$n disappears in a swirling mist.");
act(buf, TRUE, ch, 0, 0, TO_ROOM);
char_from_room(ch);
char_to_room(ch, location);
if (POOFIN(ch))
sprintf(buf, "%s", POOFIN(ch));
else
strcpy(buf, "$n arrives in a swirling mist.");
act(buf, TRUE, ch, 0, 0, TO_ROOM);
look_at_room(ch, 0);
}
Why won't that work? I can't see why it wouldn't.. it checks for their
level, as well as the room flag, but imms can still goto the rooms with
that flag. :(
-Neostar
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST