返回信息流转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
好像只有ytht系和Mapple的代码有这个功能。
不知道代码是什么……
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #7084同步于 1 周前
BBSMan_Dev机器人发帖
问一下自动离站的ASCII代码……
Jtr.
1 周前镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
转信站: BYR!news.byr.edu.cn!news.shec6.edu.cn!SJTU
自己看吧,KBS应该类似的
int
Q_Goodbye()
{
extern int started;
time_t stay;
char fname[STRLEN], notename[STRLEN];
int logouts, mylogout = NA;
struct userec tmpu;
clear();
prints("\n\n\n\n");
if (USERDEFINE(currentuser, DEF_OUTNOTE)) {
setuserfile(notename, "notes");
if (dashf(notename))
ansimore(notename, YEA);
}
if (USERDEFINE(currentuser, DEF_LOGOUT)) {
setuserfile(fname, "logout");
if (dashf(fname))
mylogout = YEA;
}
if (mylogout) {
logouts = countlogouts(fname);
if (logouts >= 1) {
user_display(fname, (logouts == 1) ? 1 :
(currentuser->numlogins % (logouts)) + 1,
YEA);
}
} else {
if (fill_shmfile(2, "etc/logout", getBBSKey(GOODBYE_SHM))) {
show_goodbyeshm();
}
}
pressreturn();
stay = now_t - login_start_time;
if (started) {
tracelog("%s exitbbs %ld", currentuser->userid, stay);
if ((currentuser->userlevel & PERM_BOARDS)
&& (count_uindex(usernum) == 1))
setbmstatus(0);
}
memcpy(&tmpu, currentuser, sizeof (tmpu));
//多窗口不重复计算上站时间. 检查now_t防止时钟变化导致负的stay
if (count_uindex(usernum) == 1 && now_t > tmpu.lastlogin)
stay = now_t - tmpu.lastlogin;
else
stay = 0;
tmpu.stay += stay;
tmpu.lastlogout = now_t;
tmpu.flags[0] &= ~BRDSORT_MASK;
tmpu.flags[0] |= board_sorttype;
updateuserec(&tmpu, usernum);
if (strcmp(currentuser->userid, "guest") && count_uindex(usernum) == 0) {
FILE *fp;
char buf[STRLEN], *ptr;
if ((fp = fopen("friendbook", "r")) != NULL) {
while (fgets(buf, sizeof (buf), fp) != NULL) {
char uid[14];
ptr = strstr(buf, "@");
if (ptr == NULL) {
del_from_file("friendbook", buf);
continue;
}
ptr++;
strcpy(uid, ptr);
ptr = strstr(uid, "\n");
*ptr = '\0';
if (!strcmp(uid, currentuser->userid))
del_from_file("friendbook", buf);
}
fclose(fp);
}
}
if (started)
u_exit();
started = 0;
exit(0);
}
【 在 Jtr@newsmth.net-SPAM.no (从此信奉单身主义) 的大作中提到: 】
: 好像只有ytht系和Mapple的代码有这个功能。
: 不知道代码是什么……
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
什么叫自动离站
【 在 Jtr (从此信奉单身主义) 的大作中提到: 】
: 好像只有ytht系和Mapple的代码有这个功能。
: 不知道代码是什么……
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
错了,是快速离战,打错了。
【 在 SoapDinosaur (肥龙) 的大作中提到: 】
: 什么叫自动离站
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
快速离站跟普通离站是一样的呀,有什么不同么?
【 在 Jtr (从此信奉单身主义) 的大作中提到: 】
: 错了,是快速离战,打错了。
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
'!',这个?
【 在 Jtr (从此信奉单身主义) 的大作中提到: 】
: 错了,是快速离战,打错了。
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
自己看吧,KBS应该类似的
int
Q_Goodbye()
{
extern int started;
time_t stay;
char fname[STRLEN], notename[STRLEN];
int logouts, mylogout = NA;
struct userec tmpu;
clear();
prints("\n\n\n\n");
if (USERDEFINE(currentuser, DEF_OUTNOTE)) {
setuserfile(notename, "notes");
if (dashf(notename))
ansimore(notename, YEA);
}
if (USERDEFINE(currentuser, DEF_LOGOUT)) {
setuserfile(fname, "logout");
if (dashf(fname))
mylogout = YEA;
}
if (mylogout) {
logouts = countlogouts(fname);
if (logouts >= 1) {
user_display(fname, (logouts == 1) ? 1 :
(currentuser->numlogins % (logouts)) + 1,
YEA);
}
} else {
if (fill_shmfile(2, "etc/logout", getBBSKey(GOODBYE_SHM))) {
show_goodbyeshm();
}
}
pressreturn();
stay = now_t - login_start_time;
if (started) {
tracelog("%s exitbbs %ld", currentuser->userid, stay);
if ((currentuser->userlevel & PERM_BOARDS)
&& (count_uindex(usernum) == 1))
setbmstatus(0);
}
memcpy(&tmpu, currentuser, sizeof (tmpu));
//多窗口不重复计算上站时间. 检查now_t防止时钟变化导致负的stay
if (count_uindex(usernum) == 1 && now_t > tmpu.lastlogin)
stay = now_t - tmpu.lastlogin;
else
stay = 0;
tmpu.stay += stay;
tmpu.lastlogout = now_t;
tmpu.flags[0] &= ~BRDSORT_MASK;
tmpu.flags[0] |= board_sorttype;
updateuserec(&tmpu, usernum);
if (strcmp(currentuser->userid, "guest") && count_uindex(usernum) == 0) {
FILE *fp;
char buf[STRLEN], *ptr;
if ((fp = fopen("friendbook", "r")) != NULL) {
while (fgets(buf, sizeof (buf), fp) != NULL) {
char uid[14];
ptr = strstr(buf, "@");
if (ptr == NULL) {
del_from_file("friendbook", buf);
continue;
}
ptr++;
strcpy(uid, ptr);
ptr = strstr(uid, "\n");
*ptr = '\0';
if (!strcmp(uid, currentuser->userid))
del_from_file("friendbook", buf);
}
fclose(fp);
}
}
if (started)
u_exit();
started = 0;
exit(0);
}
【 在 Jtr@newsmth.net-SPAM.no (从此信奉单身主义) 的大作中提到: 】
: 好像只有ytht系和Mapple的代码有这个功能。
: 不知道代码是什么……
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
Merci!
【 在 TNDS (拖泥带水) 的大作中提到: 】
: 自己看吧,KBS应该类似的
: int
: Q_Goodbye()
: ...................
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
fb2k系的代码也有吧,!
要这个干吗,基本上没人用的。。。
【 在 Jtr (从此信奉单身主义) 的大作中提到: 】
: 好像只有ytht系和Mapple的代码有这个功能。
: 不知道代码是什么……
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
你又去法国了?
【 在 Jtr (从此信奉单身主义) 的大作中提到: 】
: Merci!