作者itoc.bbs@processor.tfcis.org (核心動力) 看板: plan
標題Re: 【請教】使用者名單…
時間動力核心 (2004/10/19 Tue 10:00:40) Updated: 2004/10/19
※ 引述《online (只在上線時愛你)》之銘言:
> 有關使用者名單,能不能像kk一樣在最下方顯示"公告or活動"的訊息呢?
先做精華區的 xover.c 預覽
再做以下變動
: xover.c:preview_news() 加在 preview_tip() 後面
static void
preview_news()
{
int i, j, msg_num;
char msg[128];
FILE *fp;
if (!(fp = fopen(FN_ETC_NEWS, "r")))
return;
fgets(msg, 128, fp);
msg_num = atoi(msg); /* 第一行記錄總篇數 */
i = time(0) % msg_num + 1;
j = 0;
while (j < i) /* 取第 i 個 tip */
{
fgets(msg, 128, fp);
if (msg[0] == '#')
j++;
}
fgets(msg, 128, fp);
outs(msg);
fgets(msg, 128, fp);
outs(msg);
fclose(fp);
}
: xover.c:xo_knee()
case XZ_ULIST:
- {
- typedef UTMP *pickup;
- extern pickup ulist_pool[];
- preview_userid(ulist_pool[xo->pos]->userid);
- }
+ preview_news();
break;
: xover.c:xover()
int pos, num, zone, sysmode;
XO *xo;
KeyFunc *xcmd, *cb;
+ if (cmd == XZ_ULIST) /* 使用者名單強制有 feet */
+ XO_TALL = b_lines - 7;
for (;;)
{
...
...
else if (cmd == '!')
{
+ if (zone == XZ_ULIST)
+ cmd = XO_NONE;
+ else
+ {
XO_TALL = (XO_TALL == b_lines - 3) ? b_lines - 7 : b_lines - 3;
cmd = XO_LOAD;
+ }
}
: global.h
#define FN_ETC_TIP "etc/tip" /* 每日小秘訣 */
+ #define FN_ETC_TIP "etc/news" /* 新聞 */
: admutil.c:a_xfile()
#ifdef HAVE_TIP
"每日小秘訣",
#endif
+ "新聞",
...
...
#ifdef HAVE_TIP
FN_ETC_TIP,
#endif
+ FN_ETC_NEWS,
--------------------------------------------------------------------
然後從 BBS 站上 0Admin -> Xfile 去編輯「新聞」這文件,格式如下
>>>>>>> 第一行要記錄總共有幾則新聞,每則新聞有三行 (一行#、二行內容)
>>>>>>> 下行為檔案開始 (本行不包括)
04
# 01
新聞一第一行內容
新聞一第二行內容
# 02
新聞二第一行內容
新聞二第二行內容
# 03
新聞三第一行內容
新聞三第二行內容
# 04
新聞四第一行內容
新聞四第二行內容
>>>>>>> 上行為檔案結束 (本行不包括)
--
╭┼ Origin: Maple-itoc˙動力核心 processor.tfcis.org
┼┘ Author: itoc 從 itoc.Dorm11.NCTU.edu.tw 發表