Hello. I added a new olc zone # for builders so they could have access to 2 zones at once. I defined these accordingly, and everything works, except for one minor mistake, and i'm not exactly sure why. In olc.c (for OasisOLC), the permission checks seem to be scrambled. if ((GET_LEVEL(ch) < LVL_COIMPL) && (zone_table[OLC_ZNUM(d)].number != GET_OLC_ZONE(ch)) && ((GET_LEVEL(ch) < LVL_COIMPL) && (zone_table[OLC_ZNUM(d)].number != GET_OLCS_ZONE(ch)))) { send_to_char("You do not have permission to edit this zone.\r\n",ch); free(d->olc); return; } else if ((!(GET_LEVEL(ch) < LVL_IMPL)) && (!ch->player_specials->saved.olc_zone == AEDIT_PERMISSION) && (!ch->player_specials->saved.olcs_zone == AEDIT_PERMISSION)) { send_to_char("You do not have permission to edit actions.\r\n", ch); free(d->olc); return; } else if ((!(GET_LEVEL(ch) < LVL_BUILDER)) && (!ch->player_specials->saved.olc_zone == HEDIT_PERMISSION) && (!ch->player_specials->saved.olcs_zone == HEDIT_PERMISSION)) { send_to_char("You do not have permission to edit helpfiles.\r\n", ch); free(d->olc); return; } Yes.. This is mailer code and it's really sloppy... But here's my problem. I set the player's olc OR olcs to my AEDIT_PERMISSION (999) and it doesn't work, but if i set olc to 999 and olcs to 0 (or vice versa), it does work properly, and lets the person edit both Socials and Zone 0. Same with HEDIT_PERMISSION (666). Same way. Does anyone see the problem? I know it's boolean, but i couldn't seem to sort out the logic for it. -CyberMan ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST