On Thu, 27 Jun 1996, David Blocher wrote: > I think this was brought up before but what is the most effecient way to > make several object appear only once when you look in a room. Like: > A short sword lies here. > A short sword lies here. > A short sword lies here. > A short sword lies here. > A short sword lies here. > A short sword lies here. > Instead you would see: > A short sword lies here. [x6] In the act.informative.c file change the list_obj_to_char function with this: ------------------------------------ void list_obj_to_char(struct obj_data * list, struct char_data * ch, int mode, bool show) { struct obj_data *i, *j; char buf[10]; bool found; int num; found = FALSE; for (i = list; i; i = i->next_content) { num = 0; for (j = list; j != i; j = j->next_content) if (j->item_number==NOTHING) { if(strcmp(j->short_description,i->short_description)==0) break; } else if (j->item_number==i->item_number) break; if (j!=i) continue; for (j = i; j; j = j->next_content) if (j->item_number==NOTHING) { if(strcmp(j->short_description,i->short_description)==0) num++; } else if (j->item_number==i->item_number) num++; if (CAN_SEE_OBJ(ch, i)) { if (num!=1) { sprintf(buf,"(%2i) ",num); send_to_char(buf,ch); } show_obj_to_char(i, ch, mode); found = TRUE; } } if (!found && show) send_to_char(" Nothing.\r\n", ch); } ---------------------------------------- The result will be: (x) <obj> . Iggy
This archive was generated by hypermail 2b30 : 12/18/00 PST