Please Note the License for Naked Mud, which reads as follows: NakedMud is free to use for any purpose you would like to use it for, without restriction from the creator, Geoff Hollis. By using it, or any pieces of the code, you agree to absolve responsibility from the creator, Geoff Hollis, and take full responsibility for anything NakedMud or pieces of the NakedMud code may cause to happen. Since NakedMud was based on SocketMud by Brian Graversen, I ask that you follow Brian's requests as per giving credit to Erwin Andreasen for the snippets he supplied in SocketMud's code (see README). I also request you credit Brian for the work he put into SocketMud, and myself for the work I put into NakedMud. Geoff Hollis hollis@ualberta.ca http://www.ualberta.ca/~hollis/ These are my two early drafts for a money and banking system. I've just added the shop code for this previously released module. I've taken the liberty of including the changes I made to the src files below. Feel free to use the code as you like. If you distribute it on a website, I would appreciate acknowledgement. -Hera of Athens - The Mud (http://athens.mudmagic.com) 11-11-05 in cmd_manip.c: add: #include "money/money.h" in COMMAND(cmd_drop) { under bool multiple = FALSE; add: if(!strcasecmp(arg, "drachma") || !strcasecmp(arg, "drachmas")) { int char_cash; int cash_change; char_cash = (charGetMoney(ch)); cash_change = (char_cash -1); OBJ_DATA *obj = newObj(); objSetName (obj, "a gold coin"); objSetKeywords (obj, "coin"); objSetRdesc (obj, "A gold coin is laying here."); objSetMultiName (obj, "%d gold coins"); objSetMultiRdesc (obj, "%d gold coins lie here in a pile."); objSetDesc (obj, " This simple, gold slug bears no mark or seal."); send_to_char(ch, "You drop a gold coin.\r\n"); obj_to_game(obj); obj_to_room(obj, charGetRoom(ch)); charSetMoney(ch, cash_change); }else{ Make sure to add an extra } at the end of cmd_drop in handler.c change void do_get to: void do_get(CHAR_DATA *ch, OBJ_DATA *obj, OBJ_DATA *container) { if(bitIsOneSet(objGetBits(obj), "notake")) send_to_char(ch, "You cannot take %s.\r\n", objGetName(obj)); else if(container) { send_to_char(ch, "You get %s from %s.\r\n", objGetName(obj), objGetName(container)); message(ch, NULL, obj, container, TRUE, TO_ROOM, "$n gets $o from $O."); obj_from_obj(obj); obj_to_char(obj, ch); }else if(objGetKeywords(obj), "coin"){ do_get_money(ch); extract_obj(obj); }else { send_to_char(ch, "You get %s.\r\n", objGetName(obj)); message(ch, NULL, obj, NULL, TRUE, TO_ROOM, "$n gets $o."); obj_from_room(obj); obj_to_char(obj, ch); hookRun("get", ch, obj, NULL); } } You will have to add: worn_add_type "pants"