From: PD
Subject: Mob Stacking This is code to stack mobs, so instead of: a cityguard stands here. a cityguard stands here. a cityguard stands here. a cityguard stands here. a cityguard stands here. you get: a cityguard stands here.[4] Just like item stacks. Here's what you do: act.informative.c change the name of list_one_char to "list_all_char", and add an integer argument num: void list_one_char(struct char_data * i, struct char_data * ch) to void list_all_char(struct char_data * i, struct char_data * ch, int num) look for... else if (IS_GOOD(i)) strcat(buf, "(Blue Aura) "); } strcat(buf, i->player.long_descr); /* insert here */ if (num > 1) { while ((buf[strlen(buf)-1]=='\r') || (buf[strlen(buf)-1]=='\n') || (buf[strlen(buf)-1]==' ')) { buf[strlen(buf)-1] = '\0'; } sprintf(buf2," [%d]\n\r", num); strcat(buf, buf2); } /*end insert*/ then replace the function list_char_to_char(), with the below: void list_char_to_char(struct char_data *list, struct char_data *ch) { struct char_data *i, *plr_list[100]; int num, counter, locate_list[100], found=FALSE; num = 0; for (i=list; i; i = i->next_in_room) { if(i != ch) { if (CAN_SEE(ch, i)) { if (num< 100) { found = FALSE; for (counter=0;(counter