This is how I imped mud-mail being free for immortals, not sure if this got out the first time.(I got some weird error) anyway: void postmaster_send_mail(struct char_data * ch, struct char_data *mailman, int cmd, char *arg) { long recipient; char buf[256]; if (GET_LEVEL(ch) < MIN_MAIL_LEVEL) { sprintf(buf, "$n tells you, 'Sorry, you have to be level %d to send mail!'", MIN_MAIL_LEVEL); act(buf, FALSE, mailman, 0, ch, TO_VICT); return; } one_argument(arg, buf); if (!*buf) { /* you'll get no argument from me! */ act("$n tells you, 'You need to specify an addressee!'", FALSE, mailman, 0, ch, TO_VICT); return; } if (GET_LEVEL(ch) < LVL_IMMORT) { if (GET_GOLD(ch) < STAMP_PRICE) { sprintf(buf, "$n tells you, 'A stamp costs %d coins.'\r\n" "$n tells you, '...which I see you can't afford.'", STAMP_PRICE); act(buf, FALSE, mailman, 0, ch, TO_VICT); return; } if ((recipient = get_id_by_name(buf)) < 0) { act("$n tells you, 'No one by that name is registered here!'", FALSE, mailman, 0, ch, TO_VICT); return; } act("$n starts to write some mail.", TRUE, ch, 0, 0, TO_ROOM); sprintf(buf, "$n tells you, 'I'll take %d coins for the stamp.'\r\n" "$n tells you, 'Write your message, (/s saves /h for help)'", STAMP_PRICE); act(buf, FALSE, mailman, 0, ch, TO_VICT); GET_GOLD(ch) -= STAMP_PRICE; SET_BIT(PLR_FLAGS(ch), PLR_MAILING | PLR_WRITING); ch->desc->mail_to = recipient; ch->desc->str = (char **) malloc(sizeof(char *)); izeof(char *)); *(ch->desc->str) = NULL; ch->desc->max_str = MAX_MAIL_SIZE; } else { if ((recipient = get_id_by_name(buf)) < 0) { act("$n tells you, 'No one by that name is registered here!'", FALSE, mailman, 0, ch, TO_VICT); return; } act("$n starts to write some mail.", TRUE, ch, 0, 0, TO_ROOM); sprintf(buf, "$n tells you, 'Postage is free for immortals.'\r\n" "$n tells you, 'Write your message, (/s saves /h for help)'"); act(bct(buf, FALSE, mailman, 0, ch, TO_VICT); GET_GOLD(ch) -= 0; SET_BIT(PLR_FLAGS(ch), PLR_MAILING | PLR_WRITING); ch->desc->mail_to = recipient; ch->desc->str = (char **) malloc(sizeof(char *)); *(ch->desc->str) = NULL; ch->desc->max_str = MAX_MAIL_SIZE; } } You can do what ya like with it, heck even if you want, ya could put it on the snnipets page. Ohh this is after I added the improved_editor.patch, but you can see how easy it is to modify it. |*******************************************************************| | Andrew Jones Computer and Information Science Major | | E-Mail: | | Gladstone: mch@gladstone.uoregon.edu | | Other: mch@thantos.mudservices.com | |*******************************************************************| +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST