Re: [偷可] 罚单与罚金

楼主: likebike (小小折)   2018-02-17 14:43:56
推 likebike: QQ 那应该是我搞错了 过几天我在试试看@@01/27 00:02
虽然已经过了有点久,但刚刚才把测试结果完成QQ
本篇超级U文请安心观看(?),
只是这篇只针对我已经完成确定的部分说明,其他就...当推测就好,有错请告知,
然后为了增加公信力会把原始码也放上(?),没兴趣就跳过那部分就好.
<简易结论版>
罚单的费用
罚单的费用是直接用你收过罚单的次数去计算,
依照次数*1000P,
如果你直接被一次开出3张罚单,
那么你每一张罚单就是3000P,
反之,你如果是被开完罚单缴清后再被罚,
那么第n次收到罚单缴的费用就是1000n.
如果没钱则没办法缴交.
缴罚单的时间
如果真的不幸被开了罚单,
那么反省的时间也是直接用你收过罚单的次数去计算,
依照次数*3天,
意即,如果你直接被一次开出3张罚单,
那么你缴罚单的日子就是9天,
同时如果你在反省的时间又被开罚单,
那么你的反省时间会被加上罚单次数后重新计算,
拿上面的例子,如果在9天反省期内又被开了一张罚单,
那么你缴罚单就是要反省12天.
被开罚单的权限
一但被开罚单,权限上会有以下的变动:
1.看板限制发文,但在罚单的讨论相关板可以发文(发文应该是包含推文).
2.无法投票.
3.限制发文量(为避免违法使用者大量对申诉板转文,限定每次发文量。).
4.无法进入多人聊天室(T>C).
5.无法使用^U进入使用者选单.
6.会被标记违规,名片会出现
此人违规 尚未缴交罚单 (已累计 n 次).
7.缴罚单成功的当下会被退出系统.
以下是不确定(我解读不出来QQ)的权限
8.水球功能是否被关闭?
(用站长权限丢水球收的到,也可以回丢)
9.是否能进入信箱?
我的测试还是可以,也可以寄出信件,但现在的ptt好像是不行的(?)
这点很可爱,连写程式的站长(?)都有写出"但这样麻烦的是他们就搞不懂发生什么事"
10.其他我看不懂的原始码(??
10-1.是否会被强制现身?
<完整版>
这个部分是我用自己架在虚拟器的BBS站做出的结果,
因为没有很用心去架(?),加上没有即时更新,
可能得到的结果只适用旧版BBS系统,所以各节会放上现在运行的原始码.
给有兴趣的人参考,如果有需要测试什么的我也可以尽量帮忙\( ̄▽ ̄#)﹏﹏
1.罚单费用部分
罚单部分我总共是放了3张的罚单,所以时间上这么晚才出现(加上我平常没有开
【 缴罚单中心 】
这是你第 1 次违法 必须缴出 1000 Ptt币
你是否确定以后不会再犯了?
确定吗?[y/N]:
【 缴罚单中心 】
这是你第 2 次违法 必须缴出 2000 Ptt币
你是否确定以后不会再犯了?
确定吗?[y/N]:
然后...如果按下N的话...
不想付吗? 还是不知道要按 y ?
请养成看清楚系统讯息的好习惯。
会被系统呛喔\( ̄▽ ̄#)﹏﹏
如果恶意按N超过10次的话,就要重新反省.
第3次因为我手动开错罚单,所以就顺便试试看没钱的话系统会说什么吧XD"
这是你第 3 次违反本站法规必须缴出 3000 Ptt币;但你目前只有 0 ,数量不足!!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 请按任意键继续 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
所以没钱不要想说就可以不要缴罚单,还是会被系统呛的喔(?
然后..→ civilian: 与其缴罚单不如发给我啊
这一点确定是可行的!!
被开罚单还是可以把钱转走喔XDD
然后当你缴完罚单的当下,你会被系统强制踢出.
罚单反省期没什么好测试的,就反省期被开会重新计算而已,请自行参阅原始码.
罚单系统原始码的部分:
https://github.com/ptt/pttbbs/blob/c02eea20b9f9164d6abc7d78a1911768debe188d
/mbbsd/bbs.c#L255
第255行~第326行:
/* Heat CharlieL */
int
save_violatelaw(void)
{
char buf[128], ok[3];
int day;
setutmpmode(VIOLATELAW);
clear();
vs_hdr("缴罚单中心");
// XXX reload lots of stuff here?
pwcuReload();
if (!(cuser.userlevel & PERM_VIOLATELAW)) {
vmsg("你没有被开罚单~~");
return 0;
}
day = cuser.vl_count*3 - (now - cuser.timeviolatelaw)/DAY_SECONDS;
if (day > 0) {
vmsgf("依照违规次数(%d), 你还需要反省 %d 天才能缴罚单",
cuser.vl_count, day);
return 0;
}
reload_money();
if (cuser.money < (int)cuser.vl_count * 1000) {
snprintf(buf, sizeof(buf),
ANSI_COLOR(1;31) "这是你第 %d 次违反本站法规"
"必须缴出 %d " MONEYNAME ";但你目前只有 %d ,数量不足!!"
ANSI_RESET, (int)cuser.vl_count, (int)cuser.vl_count * 1000,
cuser.money);
mvouts(22, 0, buf);
pressanykey();
return 0;
}
move(5, 0);
prints("这是你第 %d 次违法 必须缴出 %d " MONEYNAME "\n\n",
cuser.vl_count, cuser.vl_count * 1000);
outs(ANSI_COLOR(1;37) "你是否确定以后不会再犯了?" ANSI_RESET "\n");
if (!getdata(10, 0, "确定吗?[y/N]:", ok, sizeof(ok), LCECHO) ||
ok[0] != 'y')
{
move(15, 0);
outs(ANSI_COLOR(1;31) "不想付吗? 还是不知道要按 y ?\n"
"请养成看清楚系统讯息的好习惯。\n" ANSI_RESET);
pressanykey();
return 0;
}
//Ptt:check one more time
reload_money();
if (cuser.money < (int)cuser.vl_count * 1000)
{
log_filef("log/violation", LOG_CREAT,
"%s %s pay-violation error: race-conditionn hack?\n",
Cdate(&now), cuser.userid);
vmsg(MONEYNAME "怎么忽然不够了? 试图欺骗系统被查到将砍帐号!");
return 0;
}
pay(1000 * (int)cuser.vl_count, "缴付罚单 (#%d)", cuser.vl_count);
pwcuSaveViolateLaw();
log_filef("log/violation", LOG_CREAT,
"%s %s pay-violation: $%d complete.\n",
Cdate(&now), cuser.userid, (int)cuser.vl_count*1000);
vmsg("罚单已付,请重新登入。");
u_exit("save_violate");
exit(0);
return 0;
}
好啦偷偷说其实按10次按N会被要求重新反省是骗人的XD(?
2.被开罚单的权限变动
2-1. 发文限制,仅能在相关看板发文
这点还蛮好理解的,总之就不是全站水桶的概念,
而是只能在一些看板发文,不然怎么申诉发单嘛XDD
如果是其他看板,就会出现这一部份:
d - 开放 自删文章 发文与推文限制:
r - 开放 推荐文章 *罚单未缴
s - 开放 嘘文
f - 开放 快速连推文章 名单编辑与其它: (需板主权限)
i - 推文时 不会 记录来源 IP w)设定水桶 v)可见会员名单
a - 推文时 不用对齐 开头 m)举办投票 o)投票名单
k - 板主 无法 删除部份违规文字 c)文章类别 n)发文注意事项
x - 转录文章 不会 自动记录,且 不需 发文权限 p)进板画面
j - 未 设为冷静模式
8 - 允许 未满十八岁进入
★ 您在此看板无发文或推文权限,详细原因请参考上面显示为红色或有 * 的项目。
原始码:
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/cache.c#L246
第246~第271行(有一并写出未完成认证的帐号也是如此)
if (!HasUserPerm(PERM_POST))
return (PERM_POST == PERM_LOGINOK) ? "未完成认证" :
"无发文权限";
/* 秘密看板特别处理 */
if (bp->brdattr & BRD_HIDE)
return NULL;
else if (bp->brdattr & BRD_RESTRICTEDPOST &&
!is_hidden_board_friend(i, usernum))
return "看板限制发文";
if (HasUserPerm(PERM_VIOLATELAW))
{
// 在罚单的讨论相关板可以发文
if (bp->level & PERM_VIOLATELAW)
return NULL;
else
return "罚单未缴";
}
if (!(bp->level & ~PERM_POST))
return NULL;
if (!HasUserPerm(bp->level & ~PERM_POST))
return "未达看板要求权限";
return NULL;
}
2-2. 无法投票
也是简单解释,如果按大V进入投票系统,会出现:
◆ 罚单未缴清,无法投票。 [按任意键继续]
原始码:
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/vote.c#L980
第980~995行(一样有说明未通过注册的不能投,其他投票部分有兴趣自己再看就好)
static const char *
voteperm_msg(const char *bname)
{
const char *msg;
if (!HasBasicUserPerm(PERM_LOGINOK))
return "对不起! 您未完成注册程序, 还没有投票权喔!";
if (HasUserPerm(PERM_VIOLATELAW))
return "罚单未缴清,无法投票。";
if ((msg = banned_msg(bname)) != NULL)
return msg;
return NULL;
}
2-3 为避免违法使用者大量对申诉板转文,限定每次发文量。
这个我真的不知道是说什么,也没有试过,就直接放原始码了.
https://github.com/ptt/pttbbs/blob/c02eea20b9f9164d6abc7d78a1911768debe188d
/mbbsd/mail.c#L1994
第1994~2000行
// XXX TODO 为避免违法使用者大量对申诉板转文,限定每次发文量。
if (HasUserPerm(PERM_VIOLATELAW))
{
static int violatecp = 0;
if (violatecp++ >= MAX_CROSSNUM)
return DONOTHING;
}
应该是跟转录部分有关系吧(?
2-4,2-5,2-10-1 一并处理,被开罚单能不能进入聊天室...强制现身
目前仅知如果被开罚单的使用者,是不能进入聊天室的.
◆ 请先缴罚单才能使用聊天室! [按任意键继续]
原始码"应该"是分做两段,不过我就不贴这部分了.
里面有说道站长隐身,回应空气等水球功能
https://github.com/ptt/pttbbs/blob/6461cbbacb868363ecba12fce305ab74bd42e6b0
/mbbsd/talk.c#L36
第36行开始;第2050行开始
2-6,2-7,2-9 跟其他我就不多做解释了,在站上还蛮常看到的,
如果有需要就自己去把原始码拉出来看囉\( ̄▽ ̄#)﹏﹏
以上大概是这次的测试结果,
如果有跟事实不符的再麻烦告知囉.
这篇应该属于U文吧XD
感谢大家的收看,不知道稿费有多少!!
如果有什么问题可以提出,我会尽量试试看的QQ
※ 引述《rrr518 (废文族の理沙)》之铭言:
: ※ 引述《mono5566 ( )》之铭言:
: : 那么,第一次收到罚单1张,第二次收到罚单3张,
: : 这样的话会罚多少? 有人有这样的经验吗@@?
: 我来说说ㄅ
: 我总共收到3次罚单
: 第一次 1000P
: 第二次 2000P
: 再来就是关键惹
: 一次收到两张
: 他叫我给4000P
: 所以一次收两张会省钱!(握拳
: 阿不过因为我很不爽跑去申诉
: 就撤销惹
: 不过也是经验啦
: 尼ㄉ问题4这样子ㄇ
楼主: likebike (小小折)   2017-01-27 00:02:00
QQ 那应该是我搞错了 过几天我在试试看@@
作者: rrr518 (理沙)   2018-02-17 14:47:00
那个试图转出去的在算法银行系统里面满重要的观念XD
楼主: likebike (小小折)   2018-02-17 14:48:00
怎么忽然不够了? 试图欺骗系统被查到将砍帐号!是指这个吗(?)XD
作者: bbbruce (布鲁斯)   2018-02-17 14:51:00
小折是学资工的欧?
楼主: likebike (小小折)   2018-02-17 14:53:00
当然不是,如果是我就架好站自己玩了\( ̄▽ ̄#)﹏﹏
作者: bbbruce (布鲁斯)   2018-02-17 14:54:00
我都看不懂原始码在写什么 qq
作者: rrr518 (理沙)   2018-02-17 14:55:00
对简单来说就是运算前要重检查如果刚好同时两边领就有另一个算法
作者: lpbrother (趴趴153豆瓣LP哥)   2018-02-17 15:11:00
好专业,3r是被罚了几次?
作者: kiss745745 (咚)   2018-02-17 15:27:00
小折好腻害
作者: mono5566 (曼娜)   2018-02-17 17:19:00
赞赞 收精华
楼主: likebike (小小折)   2018-02-17 18:32:00
我也看不懂 所以只挑中文看阿(??

Links booklink

Contact Us: admin [ a t ] ucptt.com