/*******************************************************************************
 *         _               | File Name:   addcarry.txt
 *        / \      _-'     | Description: This is a mset add-on
 *      _/|  \-''- _ /     |              It allows an immortal witht the set
 * __-' |          \       |              set command to add number of extra items
 *     /              \    |              and/or number of extra carry lbs that a
 *     /       "o.  |o |   |              character is allowed to carry.
 *     |            \ ;    |              *It is permanent!
 *                   ',    |
 *        \_         __\   | (c) 2000-2001 TAKA 
 *          ''-_    \.//   | (c) 2000-2001 The GhostMud Project Team
 *            / '-____'    | 
 *           /             | You may use this code under GNU license restriction 
 *         _'  The Wolf    | 1) This header block remains in the code.          
 *       _-'   strikes!    | 2) You email me at a_ghost_dancer@excite.com
 *_________________________|    letting me know you are using this code
 *                              please incluse your name, your mud name
 * All rights reserved          your mud address, your email and this file
 * GhostMud is copyrighted      name.                                         
 * by TAKA                   3) In your help files mention me where appropriate 
 *                              IE: help snippets.
 *********************************************************************************/

/*
 * This allows an immortal to se the carry items and weight
 * bonus for a player.
 */
 
in MERC.H 

find
struct    pc_data
{


add near the bottom of this structure
    int			xcarry;
    int			xweight;



in SAVE.C 

find
void fwrite_char( CHAR_DATA *ch, FILE *fp )
{

add somewhere after age
	fprintf( fp, "Xcry %d %d\n", ch->pcdata->xcarry, ch->pcdata->xweight);

find 
bool load_char_obj( DESCRIPTOR_DATA *d, char *name )
{

add
	ch->pcdata->xcarry	= 0;
	ch->pcdata->xweight	= 0;
after title initialize

add
	case 'X':
	    if ( !str_cmp( word, "Xcry" ))
	    {
			ch->pcdata->xcarry = fread_number( fp );
			ch->pcdata->xweight = fread_number( fp );
			fMatch = TRUE;
			break;
	    }
	    break;
in the switch statement...X is a new case for the switch

in ACT_WIZ.C
find
void do_mset( CHAR_DATA *ch, char *argument )
{

add near the bottom
	/* more taka set changes */
    if ( !str_prefix( arg2, "carry" ) )
    {
		if ( IS_NPC( victim ) )
		{
			send_to_char( "{RNot on NPC's.{x\n\r", ch );
			return;
		}
		if ( !is_number( arg3 ) )
		{
			send_to_char( "{RValue must be numeric.{x\n\r", ch );
			return;
		}
		value = atoi( arg3 );

		if ( value < 0 || value > 300 )
		{
		    send_to_char( "{RCarry value must be 0 to 300!{x\n\r", ch );
		    return;
		}

		victim->pcdata->xcarry = value;
		return;
    }

    if ( !str_prefix( arg2, "weight" ) )
    {
		if ( IS_NPC( victim ) )
		{
			send_to_char( "{RNot on NPC's.{x\n\r", ch );
			return;
		}
		if ( !is_number( arg3 ) )
		{
			send_to_char( "{RValue must be numeric.{x\n\r", ch );
			return;
		}
		value = atoi( arg3 );

		if ( value < 0 || value > 30000 )
		{
		    send_to_char( "{RWeight value must be 0 to 30,000!{x\n\r", ch );
		    return;
		}

		victim->pcdata->xweight = value;
		return;
    }


in HANDLER.C

find and replace these proceedures
/*
 * Retrieve a character's carry capacity.
 */
int can_carry_n (CHAR_DATA * ch)
{
	if (!IS_NPC (ch) && ch->level >= LEVEL_IMMORTAL)
		return 1000;

	if (IS_NPC (ch) && IS_SET (ch->act, ACT_PET))
		return 0;

	if(!IS_NPC(ch))
		return MAX_WEAR + 2 * get_curr_stat (ch, STAT_DEX) + ch->level + ch->pcdata->xcarry;
	else
		return MAX_WEAR + 2 * get_curr_stat (ch, STAT_DEX) + ch->level;

}



/*
 * Retrieve a character's carry capacity.
 */
int can_carry_w (CHAR_DATA * ch)
{
	if (!IS_NPC (ch) && ch->level >= LEVEL_IMMORTAL)
		return 10000000;

	if (IS_NPC (ch) && IS_SET (ch->act, ACT_PET))
		return 0;

	if(!IS_NPC(ch))
		return str_app[get_curr_stat (ch, STAT_STR)].carry * 10 + (ch->level * 25) + ch->pcdata->xweight;
	else
		return str_app[get_curr_stat (ch, STAT_STR)].carry * 10 + (ch->level * 25);

}



viola you are done :)