I did a homemade version of PK. Here's how it goes... structs.h: +#define ROOM_PK (1 << 16) /* PK allowed in room */ +#define PLR_PK (1 << 17) /* Plr is flagged PK */ constants.c: +"PK", act.informative.c: + if (PLR_FLAGGED(wch, PLR_PK)) + strcat(buf, " (PK!)"); act.movement.c: + if (IS_SET(ROOM_FLAGS(ch->in_room), ROOM_PK)) { +SET_BIT(PLR_FLAGS(ch), PLR_PK); fight.c: <In function void check_killer>: ! if (!PLR_FLAGGED(vict, PLR_KILLER) && !PLR_FLAGGED(vict, PLR_THIEF) ! && !PLR_FLAGGED(ch, PLR_KILLER) && !IS_NPC(ch) && !IS_NPC(vict) ! && (ch != vict)) { ! char buf[256]; <change to>: ! if (!PLR_FLAGGED(vict, PLR_KILLER) && !PLR_FLAGGED(vict, PLR_THIEF) ! && !PLR_FLAGGED(ch, PLR_KILLER) && !PLR_FLAGGED(ch, PLR_PK) && ! !IS_NPC(ch) && !IS_NPC(vict) && (ch != vict)) { ! char buf[256]; <and after line>: send_to_char("If you want to be a PLAYER KILLER, so be it...\r\n", ch); + } else if (PLR_FLAGGED(ch, PLR_PK) && !PLR_FLAGGED(ch, PLR_KILLER)) + return; <In function void die>: <After the first REMOVE_BIT>: + REMOVE_BIT(PLR_FLAGS(ch), PLR_PK); Now... The problem is that when i leave the room, the PK flag remains, as well as the state of PKiller. Where would i add another remove_bit to take the flag away when you exit to a room without the pk flag? Thanks... This has been bugging me for quite a while now. -CyberMan ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com +------------------------------------------------------------+ | 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