OK, this is really silly, for reference, who, user, etc works. But... this
function seems to like making things odd. I have tried variations of
different buffers, making new char temp_buf[MAX_INPUT_LENGTH]; etc, also
tried using sprintf(buf+strlen(buf) for other parts but it always garbles at
least some text. This feels ridiculous to me :-/ please give a bit of
advice, something bla happened here, thanks for any help! All the strings
used here exist and work right, so it isnt that at least...
Output:
memberslis <- should be Nae' Blis members
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Sponsor Dust
Members: 1 Member Rank: 1
Power: 110 Power Rank: 1
Code:
void show_clan_who(struct char_data *ch, struct clan_type *clan)
{
struct descriptor_data *d;
struct clan_type *cptr = NULL;
int power_r = 1, member_r = 1;
int i;
*buf = '\0';
sprintf(buf, "%s members\r\n", clan->name);
send_to_char(buf, ch);
sprintf(buf, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n");
send_to_char(buf, ch);
for ( d = descriptor_list; d; d = d->next ) {
if ( !(d->connected) && (GET_CLAN(d->character) == GET_CLAN(ch))) {
sprintf(buf, "%s %s\r\n",
clan->rank_name[GET_CLAN_RANK(d->character)], GET_NAME(d->character));
send_to_char(buf, ch);
}
}
for (cptr = clan_info; cptr; cptr = cptr->next) {
if (cptr == clan)
continue;
if (cptr->members > clan->members)
member_r++;
if (cptr->power > clan->power)
power_r++;
}
sprintf(buf, "\r\nMembers: %d Member Rank: %d\r\nPower: %d Power Rank:
%d\r\n",
clan->members, member_r, clan->power, power_r);
send_to_char(buf, ch);
return;
}
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/05/01 PST