The pawn shop inherits std/room.c so look at documentation for that to see how to use the room code. Only additions to the room code are explained here. The pawn shop offers 4 functions to the players and has 3 other variables. You can configure the messages printed when the players use the 4 messages and can set the 3 variables. The functions are selling items, buying items, listing items and valuing items. The variables are the time things can be left, The storeroom to use for the pawn shop and the shop storeroom to send items to when the time limit has expired. Functions are: void set_buy_mess(*string str); void set_sell_mess(*string str); void set_list_mess(string str); void set_value_mess(string str); string *query_buy_mess(); string *query_sell_mess(); string query_list_mess(); string query_value_mess(); void set_storeroom(string str); void set_shop(string str); void set_hold_time(int time); string query_storeroom(); string query_shop(); int query_hold_time(); The message functions work the same way as the equivilant functions in std.shop so look there to see how to use them. The only difference is that there is no set_browse_mess as you cannot buy things that you did not leave in the shop. The storeroom and shop functions take the pathname of a room. The room should be a room that a player cannot get to. Do not make the mistake of putting the storeroom or the shop as the actual shop. If this happens, players will be able to walk in and steal the items, only to have them moved away as the time limit expires, or they keep them if they were already supposed to be in the shop. The time limit is the number of seconds after the items is sold to the shop before it will be sold off to a shop to recover costs. If the shop is updated or dested and it has items in it, it will inform all the people who had things in it that it has gone broke and sold all the stuff to the shop anyway. It is the best solution I could find without going into either save_objects or other methods of transfering data.