The (SHP) Shop File

SHOP: <###>

BT an item type this shop will buy
CASTING if present, casting is allowed in this shop
CHEATS list of codes indicating which chars this shop will cheat
DEADBEAT how the shop reacts to chars without enough money
GREED how greedy the keeper is
HATES list of codes indicating which chars this shop won't deal with
HOURS operating hours for this shop
KILLABLE if present, shopkeeper may be attacked
MBCASH message sent when they don't have enough money to buy something
MBHAVE message sent when they try to sell something they don't have
MBIGOT message sent to chars shop hates
MBUY message sent when shop buys an item
MCLOSE message sent to room when shop closes
MNBUY message sent when they try to sell something shop won't buy
MOPEN message sent to room when the shop opens
MSCASH message sent when the shop doesn't have enough money to buy
MSELL message sent when shop sells them an item
MSHAVE message sent when shop doesn't have something they try to buy
OFFENSE how keeper reacts to attacks against him/her
PO Vnums of objects this shop makes/sells
PROFIT the spread between buy/sell prices
ROAMING if present, shop is a roaming peddler
ROOM Vnum of the room shop loads in
SHOP Vnum of the NPC that is the shop's keeper
  • You can now comment shops using ;;
  • Be careful with white space as it can lead to crashes.
  • Each line must be complete on one line, you can imbed newlines with \n, and if you absolutely HAVE to, you can use a '\' on the end of a line to indicate a continuation. Example:

    MBUY:\
    %s Here's your %s,\n\
    That will be %s.

    Will be read into the mud as:
    MBUY:%s Here's your %s,\nThat will be %s.

    And will result in:

    Shopkeeper tells you 'Here's your longsword, That will be 1 platinum and 3 gold coins.' _

  • Also note: no damn tildes '~', they'll be treated as normal characters if you put one in a file. The code also trims all leading and trailing whitespace (spaces, tabs).

  • Any keyword can be used in any order, and any number of times, except SHOP, which is used to indicate the start of a new shop definition. Extra uses of some keywords (notably the messages) simply causes code to ignore the previous entries, the 'Explanations of Keywords' section will make clear which keywords make sense when used multiple times.