void do_checktype(CHAR_DATA *ch, char *argument) { char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH],buf[MAX_INPUT_LENGTH], name[MAX_INPUT_LENGTH]; BUFFER *buffer; OBJ_DATA *obj; bool found; int level = 0, number = 0, wearloc; found = FALSE; number = 0; name[0] = '\0'; buffer = new_buf(); argument = one_argument(argument, arg1); argument = one_argument(argument, arg2); if ( arg1[0] == '\0' ) { send_to_char("Syntax: checktype \n\r", ch); send_to_char(" Type can be one of the following:\n\r",ch); send_to_char(" Light Finger\n\r",ch); send_to_char(" Neck Body\n\r",ch); send_to_char(" Head Legs\n\r",ch); send_to_char(" Feet Hands\n\r",ch); send_to_char(" Arms Shield\n\r",ch); send_to_char(" About Waist\n\r",ch); send_to_char(" Wrist Hold\n\r",ch); send_to_char(" Floating Wield\n\r",ch); return; } if ( is_number(arg1) ) level = atoi(arg1); else sprintf(name,"%s",arg1); if ( arg2[0] != '\0' ) { if ( is_number(arg2) ) { if ( level ) // User entered 2 level values { send_to_char("Please enter only 1 level value.\n\r",ch); return; } else level = atoi(arg2); } else if ( name[0] != '\0' ) // User entered 2 name values { send_to_char("Please enter only 1 name value.\n\r", ch); return; } else sprintf(name,"%s",arg2); } if ( !str_cmp( name, "light" )) wearloc = WEAR_LIGHT; else if ( !str_cmp( name, "finger" )) wearloc = WEAR_FINGER_L; else if ( !str_cmp( name, "neck" )) wearloc = WEAR_NECK_1; else if ( !str_cmp( name, "body" )) wearloc = WEAR_BODY; else if ( !str_cmp( name, "head" )) wearloc = WEAR_HEAD; else if ( !str_cmp( name, "legs" )) wearloc = WEAR_LEGS; else if ( !str_cmp( name, "feet" )) wearloc = WEAR_FEET; else if ( !str_cmp( name, "hands" )) wearloc = WEAR_HANDS; else if ( !str_cmp( name, "arms" )) wearloc = WEAR_ARMS; else if ( !str_cmp( name, "arms" )) wearloc = WEAR_ARMS; else if ( !str_cmp( name, "shield" )) wearloc = WEAR_SHIELD; else if ( !str_cmp( name, "about" )) wearloc = WEAR_ABOUT; else if ( !str_cmp( name, "waist" )) wearloc = WEAR_WAIST; else if ( !str_cmp( name, "wrist" )) wearloc = WEAR_WRIST_L; else if ( !str_cmp( name, "hold" )) wearloc = WEAR_HOLD; else if ( !str_cmp( name, "float" )) wearloc = WEAR_FLOAT; else if ( !str_cmp( name, "wield" )) wearloc = WEAR_WIELD; else { send_to_char("Syntax: checktype \n\r", ch); send_to_char(" Type can be one of the following:\n\r",ch); send_to_char(" Light Finger\n\r",ch); send_to_char(" Neck Body\n\r",ch); send_to_char(" Head Legs\n\r",ch); send_to_char(" Feet Hands\n\r",ch); send_to_char(" Arms Shield\n\r",ch); send_to_char(" About Waist\n\r",ch); send_to_char(" Arms Shield\n\r",ch); send_to_char(" About Waist\n\r",ch); send_to_char(" Wrist Hold\n\r",ch); send_to_char(" Floating Wield\n\r",ch); return; } // Now just execute 1 loop for ( obj = object_list; obj != NULL; obj = obj->next ) { if(obj->wear_loc == wearloc && (!level || obj->level == level)) { number++; sprintf(buf," %d ) [ LEVEL: %3d ] %s (%d)\n\r",number,obj->level,obj->short_descr,obj->pIndexData->vnum); add_buf(buffer,buf); } } if ( buf_string(buffer)[0] == '\0' ) send_to_char("Nothing matching the given criteria found.\n\r", ch); else page_to_char(buf_string(buffer),ch); free_buf(buffer); return; }