diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2010-06-26 10:56:21 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2010-06-26 10:56:21 +0800 |
commit | a8829414774bbc0a5ec9334bd52ea3bca9d04155 (patch) | |
tree | 907ee234d6496f29379fee3c31c8cc4ae152f19b | |
parent | 9cc72498ce991197330c1aa957ede3e9da7321fb (diff) | |
download | pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar.gz pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar.bz2 pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar.lz pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar.xz pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.tar.zst pttbbs-a8829414774bbc0a5ec9334bd52ea3bca9d04155.zip |
* make ordersong free (but requires post>=3, badpost<=2, and still max one order for each day)
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5068 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/menu.c | 2 | ||||
-rw-r--r-- | pttbbs/mbbsd/ordersong.c | 34 |
2 files changed, 24 insertions, 12 deletions
diff --git a/pttbbs/mbbsd/menu.c b/pttbbs/mbbsd/menu.c index d78daa20..d18057ac 100644 --- a/pttbbs/mbbsd/menu.c +++ b/pttbbs/mbbsd/menu.c @@ -807,7 +807,7 @@ static const commands_t moneylist[] = { {p_give, 0, "00Give 給其他人錢"}, {save_violatelaw, 0,"11ViolateLaw 繳罰單"}, {p_from, 0, "33From 暫時修改故鄉"}, - {ordersong,0, "44OSong 歐桑動態點歌機 $200 /次"}, + {ordersong,0, "44OSong 動態點歌機"}, {p_exmail, 0, "55Exmail 購買信箱 $1000/封"}, {NULL, 0, NULL} }; diff --git a/pttbbs/mbbsd/ordersong.c b/pttbbs/mbbsd/ordersong.c index e55f769c..c835c7f0 100644 --- a/pttbbs/mbbsd/ordersong.c +++ b/pttbbs/mbbsd/ordersong.c @@ -6,7 +6,13 @@ #define lockbreak(unmode, state) if(lockutmpmode(unmode, state)) break #define SONGBOOK "etc/SONGBOOK" #define OSONGPATH "etc/SONGO" -#define ORDER_SONG_COST (200) // how much to order a song + +#ifndef ORDERSONG_MIN_NUMPOST +#define ORDERSONG_MIN_NUMPOST (3) +#endif +#ifndef ORDERSONG_MAX_BADPOST +#define ORDERSONG_MAX_BADPOST (2) +#endif #define MAX_SONGS (MAX_ADBANNER-100) // (400) XXX MAX_SONGS should be fewer than MAX_ADBANNER. @@ -24,8 +30,23 @@ do_order_song(void) int nsongs; char save_title[STRLEN]; - strlcpy(buf, Cdatedate(&now), sizeof(buf)); + // 由於變免費了,改成要文章數吧 +#ifdef ORDERSONG_MIN_NUMPOST + if (cuser.numposts < ORDERSONG_MIN_NUMPOST) { + vmsgf("為避免濫用,點歌前請先獲得 %d 篇有效文章記錄", + ORDERSONG_MIN_NUMPOST); + return 0; + } +#endif +#ifdef ORDERSONG_MAX_BADPOST + if (cuser.badpost > ORDERSONG_MAX_BADPOST) { + vmsgf("為避免濫用,點歌前請先消除劣文記錄至 %d 篇以下", + ORDERSONG_MAX_BADPOST); + return 0; + } +#endif + strlcpy(buf, Cdatedate(&now), sizeof(buf)); lockreturn0(OSONG, LOCK_MULTI); pwcuReload(); @@ -65,14 +86,6 @@ do_order_song(void) } } - reload_money(); - if (cuser.money < ORDER_SONG_COST) { - move(22, 0); - vmsgf("點歌要 %d 元唷!....", ORDER_SONG_COST); - unlockutmpmode(); - return 0; - } - getdata_str(19, 0, "點歌者(可匿名): ", sender, sizeof(sender), DOECHO, cuser.userid); getdata(20, 0, "點給(可匿名): ", receiver, sizeof(receiver), DOECHO); @@ -167,7 +180,6 @@ do_order_song(void) snprintf(genbuf, sizeof(genbuf), "%s says \"%s\" to %s.", sender, say, receiver); log_usies("OSONG", genbuf); - vice(ORDER_SONG_COST, "點歌"); } snprintf(save_title, sizeof(save_title), "%s:%s", sender, say); hold_mail(filename, receiver, save_title); |