-----Original Message----- From: Adam Scriven <scriven@LORE.COM> ---snip--- >Hey all. > >I've added the ASCII pfiles, and they seem to be OK (some wierd crashing, >but I don't think that's the ASCII pfile stuff), but I wanted to change the >player structure, to add a flag (boolean) that says whether they've been >told they can level or not (took out auto-level). > >I removed the autolevelling code, and added in a spec_proc called Level >that I've assigned to a mob, so you can only level at the mob. In place of the >old level code, I've added a line "You feel more powerful.", which means you >can level. The problem is, that line is displayed every time you get more >exp (before you advance yourself). I'd like to set a flag SHOWN_MESSAGE >or something, so that it knows not to show the message more than once, even >if the person quits before they level. ---snip--- This is mailer snippet, so double check your syntaxes, don't copy/paste Instead of adding something to the player struct, why not add another PLR_X flag? In structs.h, where all the other PLR_X flags are listed, add #define PLR_SHOWN_CANLEVEL 23 /* this should not be 23, it should be whatever your highest PLR flag is plus 1) before showing them the message check for the flag with a quick if ( /*whatever your criteria for level meesage*/ && !PLR_FLAGGED(ch, PLR_SHOWN_CANLEVEL) ... show message here.... /* Set the message flag */ SET_BIT(PLR_FLAGS(ch), PLR_SHOWN_CANLEVEL); and when they do their level at the mob, REMOVE_BIT(PLR_FLAGS(ch), PLR_SHOWN_CANLEVEL); That's it, hope it helps, Dana +------------------------------------------------------------+ | 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 : 04/10/01 PDT