[Code]

From: Andrew Jones (mch@gladstone.uoregon.edu)
Date: 10/28/96


Here is how I imped free mud-mail for immorts on DevastationsMUD:
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 *));
    *(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(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;
  }
}
|*******************************************************************|
| 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