On Sun, 23 Jun 2002, Peter d wrote: >for (d = descriptor_list; d; d = d->next) > if (!d->connected) { STATE(d) == CON_PLAYING > ROOM_FLAGGED(IN_ROOM(tch), ROOM_ARENA) && > (tch->in_room != NOWHERE) && GET_LEVEL(tch)<LVL_IMMORT) { The order of the first two checks is backwards. > sprintf(buf , "%s%-20.20s%s", buf, > GET_NAME(tch),(!(++num % 3) ? "\r\n" : "")); The "sprintf(buf, "%s...", buf, ...)" idiom doesn't work on all systems. Borland's sprintf() is the only one I know that it doesn't. Yours doesn't appear to work with it either. >this piece of code is located just below.. and it is this code that only >prints out the first arena fighter, but none of the others.. >this should be the last thing for now with the arena.. thanx for your time. Change all of your: sprintf(buf, "%s...", buf, ...); to: int len = 0; // (at the top, obviously) len += sprintf(buf + len, "...", ...) and pray your 'buf' is big enough. -- George Greer greerga@circlemud.org -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT