Heres the bool is_restricted from Tartarus, it shows you how to restrict objs
to only be worn by certain races etc etc... Dont ask for help on it because
im still trying to figure it out too. - Luke 

bool is_restricted(CHAR_DATA *ch,OBJ_DATA *obj)
{
/*
    int restrict;
    bool status;
    char *race;
*/
return FALSE;
}
/*
    if (IS_NPC(ch))
	return FALSE;

    if (str_cmp(obj->owner,"none") && str_cmp(obj->owner,ch->name))
	return TRUE;

    race = race_table[ch->race].name;
    restrict = obj->pIndexData->restrict_flags;

    status = FALSE;

    if (!str_cmp(race,"changeling"))
    {
        if (IS_SET(obj->wear_flags,ITEM_WEAR_BODY))
	{
        send_to_char("Your race does not wear full body items.\n\r",ch);
	return TRUE;
	}
    }

    if (!restrict)
	return FALSE;
 
    if ((IS_SET(restrict,ANCIENT_ONLY) && ch->clan != CLAN_ANCIENT)
    || (IS_SET(restrict, ARCANA_ONLY) && ch->clan != CLAN_ARCANA)
    || (IS_SET(restrict, CRUSADER_ONLY) && ch->clan != CLAN_CRUSADER)
    || (IS_SET(restrict, ENFORCER_ONLY) && ch->clan != CLAN_ENFORCER)
    || (IS_SET(restrict, OUTLAW_ONLY) && ch->clan != CLAN_OUTLAW)
    || (IS_SET(restrict, LIFE_ONLY) && ch->clan != CLAN_LIFE)
    || (IS_SET(restrict, HUMAN_ONLY) && str_cmp(race,"human"))
    || (IS_SET(restrict, ELF_ONLY) && str_cmp(race,"elf"))
    || (IS_SET(restrict, GREY_ONLY) && str_cmp(race,"grey-elf"))
    || (IS_SET(restrict, DARK_ONLY) && str_cmp(race,"dark-elf"))
    || (IS_SET(restrict, GIANT_ONLY) && str_cmp(race,"giant"))
    || (IS_SET(restrict, TROLL_ONLY) && str_cmp(race,"troll"))
    || (IS_SET(restrict, CENTAUR_ONLY) && str_cmp(race,"centaur"))
    || (IS_SET(restrict, GNOME_ONLY) && str_cmp(race,"gnome"))
    || (IS_SET(restrict, DWARF_ONLY) && str_cmp(race,"dwarf"))
    || (IS_SET(restrict, DRACONIAN_ONLY) && str_cmp(race,"draconian")))
	status = TRUE;

    if ( IS_SET(restrict, MAGE_ONLY) )
    {
	if (ch->class != CLASS_CLERIC
	&& ch->class != CLASS_CHANNELER && ch->class != CLASS_NECROMANCER
	&& ch->class != CLASS_ELEMENTALIST)
	status = TRUE;
    }

    if ( (IS_SET(restrict, RANGER_ONLY) && ch->class != CLASS_RANGER)
    || (IS_SET(restrict, ANTI_PALADIN_ONLY) && ch->class != CLASS_ANTI_PALADIN)
     || (IS_SET(restrict, ASSASSIN_ONLY) && ch->class != CLASS_ASSASSIN)
     || (IS_SET(restrict, PALADIN_ONLY) && ch->class != CLASS_PALADIN)
     || (IS_SET(restrict, THIEF_ONLY) && ch->class != CLASS_THIEF)
     || (IS_SET(restrict, NECROMANCER_ONLY) && ch->class != CLASS_NECROMANCER)
     || (IS_SET(restrict, CHANNELER_ONLY) && ch->class != CLASS_CHANNELER)
     || (IS_SET(restrict, ELEMENTALIST_ONLY) && ch->class != CLASS_ELEMENTALIST) )
	status = TRUE;

    if (IS_SET(restrict,RANGER_ONLY) && ch->class != CLASS_RANGER)
	status = TRUE;
    if (IS_SET(restrict,ANTI_PALADIN_ONLY) && ch->class != CLASS_ANTI_PALADIN) 
	status = TRUE;
    if (IS_SET(restrict, ASSASSIN_ONLY) && ch->class != CLASS_ASSASSIN)
	status = TRUE;
    if (IS_SET(restrict, PALADIN_ONLY) && ch->class != CLASS_PALADIN ) 
	status = TRUE;
    if (IS_SET(restrict, MONK_ONLY) && ch->class != CLASS_MONK ) 
	status = TRUE;
    if (IS_SET(restrict, CLERIC_ONLY) && ch->class != CLASS_CLERIC ) 
	status = TRUE;
    if (IS_SET(restrict, CHANNELER_ONLY) && ch->class != CLASS_CHANNELER ) 
	status = TRUE;
    if (IS_SET(restrict, NECROMANCER_ONLY) && ch->class != CLASS_NECROMANCER ) 
	status = TRUE;
    if (IS_SET(restrict, ELEMENTALIST_ONLY) && ch->class != CLASS_ELEMENTALIST ) 
	status = TRUE;
    if (IS_SET(restrict, THIEF_ONLY) && ch->class != CLASS_THIEF ) 
	status = TRUE;
    if (IS_SET(restrict, WARRIOR_ONLY) && ch->class != CLASS_WARRIOR ) 
	status = TRUE;


    return status;
}
*/