> How can I make it so that a PC can have a longer name when they emote, say, > tell, or otherwise act or appear.. I'm not sure if this is the best way, but it's the way I did it... Add something like char prefix[12] into the player_specials_saved struct, and make sure it's given a default value when chars. are created (to be on the safe side). Then, add something like this into utils.h: #define GET_PREFIX(ch) ((ch)->player_specials.saved.prefix) After that, modify the perform_tell, etc, functions so that instead of this: sprintf(buf, "$n tells you, '%s'", arg); You have this: (excuse the line wrap) sprintf(buf, "%s%s$n tells you, '%s'", GET_PREFIX(ch), (GET_PREFIX(ch)[0]?" ":""), arg); Alternatively, if you're brave, you could modify the act() function to do the same thing. The reason for the two %s's at the beginning is this: the first is the prefix string itself, using the macro from utils.h. The second is optionally a space between the name and the prefix - so you don't get this: hasprefix bob tells you, 'blah' and bill tells you, 'blah blah' ^ |- Notice the space there - that looks messy, hence the second %s. When the first character of GET_PREFIX(ch) is 0 (i.e. the PC has no prefix), the (GET_PREFIX(ch)?" ":"") returns an empty string, otherwise it returns a space. There is a way around this by making the function that sets the prefix append a space to it if it's non-blank, but I didn't think of that when I first did it. I know that's not _quite_ what you asked for, but I'm sure you should be able to get it to suit your needs. Regards, -- Mo McKinlay Development and Support Manager IDSS Department Bekon 2 North Place Stockport Cheshire SK1 1HH T: +44 (0) 161 476 1300 x224 F: +44 (0) 161 476 1311 E: M.McKinlay@bekon.com W: http://www.bekon.com/idss/ +------------------------------------------------------------+ | 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