void comms(player * p, char *str) { player *scan, *start; int pages = 1, page, line; char *oldstack, middle[80]; oldstack = stack; if (strlen(str) < 1) page = 1; else page = atoi(str); if (p->custom_flags & YES_SESSION) { tell_player(p, " Im sorry, but if you are ignoring session you havent any business using this command. " "Please type 'muffle session' to unignore the sessions\n"); return; } if (page < 1) { tell_player(p, " Format: comms []\n"); return; } scan = flatlist_start; start = NULL; line = 0; for (scan = flatlist_start; scan; scan = scan->flat_next) { if (pages <= page && line == 0) start = scan; if (scan->comment[0] != 0) line++; if (line > TERM_LINES - 2) { line = 0; pages++; } } if (page > pages) page = pages; if (strlen(session) < 1) { strncpy(session, get_session_msg("default_session"), MAX_SESSION - 3); strncpy(sess_name, get_session_msg("default_setter"), MAX_NAME - 1); } pstack_mid(session); line = 0; for (; start; start = start->flat_next) { if (line > TERM_LINES) break; sprintf(stack, " ^Y[^aName^Y] " " ^Y[^aComments^Y]^N\n"); stack = strchr(stack, 0); if (start->comment[0] != 0) { /* if (!strcasecmp(sess_name, start->lower_name)) sprintf(stack, "%-19s*", start->name); else*/ sprintf(stack, "%-19s ", start->name); stack = strchr(stack, 0); /* Original code told people whether people who had set session comments had colour or other stuff on or not. Why? Its not as if anyone cares! --Silver */ sprintf(stack, "| %s\n", start->comment); stack = strchr(stack, 0); line++; } } TELLPLAYER(p, "%s", LINE); sprintf(p, "\t\tThis is Page %d of %d\n", page, pages); TELLPLAYER(p, "%s", LINE); *stack++ = 0; tell_player(p, oldstack); stack = oldstack; return; }
Site hosted by Angelfire.com: Build your free website today!