summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-06-08 02:42:52 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-06-08 02:42:52 +0800
commit9033ec8254e5cc92068bde5a34c1225e63c5bc74 (patch)
tree75b8828e066f7b46627715a53944ef6d5c40e963 /mbbsd
parent997cfb050d41a91ec712734a6e02c6ecf361314f (diff)
downloadpttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar.gz
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar.bz2
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar.lz
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar.xz
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.tar.zst
pttbbs-9033ec8254e5cc92068bde5a34c1225e63c5bc74.zip
add revoke gamble
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@308 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/gamble.c63
1 files changed, 43 insertions, 20 deletions
diff --git a/mbbsd/gamble.c b/mbbsd/gamble.c
index 9337d569..c3229bfe 100644
--- a/mbbsd/gamble.c
+++ b/mbbsd/gamble.c
@@ -1,4 +1,4 @@
-/* $Id: gamble.c,v 1.8 2002/06/07 17:54:17 ptt Exp $ */
+/* $Id: gamble.c,v 1.9 2002/06/07 18:42:52 ptt Exp $ */
#include "bbs.h"
#ifndef _BBS_UTIL_C_
@@ -237,14 +237,15 @@ int openticket(int bid) {
{
do
{
- getdata(20, 0, "\033[1m��ܤ��������X(0:����)\033[m:", buf, 3, LCECHO);
+ getdata(20, 0,
+ "\033[1m��ܤ��������X(0:���}�� 99:�����h��)\033[m:", buf, 3, LCECHO);
bet=atoi(buf);
move(0,0);
clrtoeol();
- } while(bet<0 || bet>count);
+ } while( (bet<0 || bet>count) && bet!=99);
if(bet==0)
{unlockutmpmode(); return 0;}
- getdata(21, 0, "\033[1m�A���T�{���������X\033[m:", buf, 3, LCECHO);
+ getdata(21, 0, "\033[1m�A���T�{��J���X\033[m:", buf, 3, LCECHO);
}while(bet!=atoi(buf));
bet -= 1; //�ন�x�}��index
@@ -257,10 +258,18 @@ int openticket(int bid) {
return 0;
}
// �٨S�}���������� �u�nmv�@���N�n
- money=total*price;
- demoney(money*0.02);
- mail_redenvelop("[������Y]", cuser.userid, money*0.02, 'n');
- money = ticket[bet] ? money*0.95/ticket[bet]:9999999;
+ if(bet!=98)
+ {
+ money=total*price;
+ demoney(money*0.02);
+ mail_redenvelop("[������Y]", cuser.userid, money*0.02, 'n');
+ money = ticket[bet] ? money*0.95/ticket[bet]:9999999;
+ }
+ else
+ {
+ vice(price*10, "��L�h������O");
+ money=price;
+ }
setbfile(outcome,bh->brdname,FN_TICKET_OUTCOME);
if((fp = fopen(outcome, "w")))
{
@@ -279,8 +288,10 @@ int openticket(int bid) {
if(i==3) fprintf(fp,"\n");
}
fprintf(fp, "\033[m\n");
-
- fprintf(fp, "\n\n�}���ɶ��G %s \n\n"
+
+ if(bet!=98)
+ {
+ fprintf(fp, "\n\n�}���ɶ��G %s \n\n"
"�}�����G�G %s \n\n"
"�Ҧ����B�G %d �� \n"
"������ҡG %d�i/%d�i (%f)\n"
@@ -288,9 +299,12 @@ int openticket(int bid) {
Cdatelite(&now), betname[bet], total*price, ticket[bet], total,
(float) ticket[bet] / total, money);
- fprintf(fp, "%s ��L�}�X:%s �Ҧ����B:%d �� ����/�i:%d �� ���v:%1.2f\n",
+ fprintf(fp, "%s ��L�}�X:%s �Ҧ����B:%d �� ����/�i:%d �� ���v:%1.2f\n",
Cdatelite(&now), betname[bet], total*price, money,
total? (float)ticket[bet] / total:0);
+ }
+ else
+ fprintf(fp, "\n\n��L�����h���G %s \n\n");
}
fclose(fp1);
@@ -311,28 +325,37 @@ int openticket(int bid) {
�H�U�O�����ʧ@
*/
setbfile(buf, bh->brdname, FN_TICKET_USER);
- if (ticket[bet] && (fp1 = fopen(buf, "r")))
+ if ((bet==98 || ticket[bet]) && (fp1 = fopen(buf, "r")))
{
int mybet, uid;
char userid[IDLEN];
while (fscanf(fp1, "%s %d %d\n", userid, &mybet, &i) != EOF)
{
- if (mybet == bet)
+ if (bet==98 )
+ {
+ fprintf(fp,"%s �R�F %d �i %s, �h�^ %d �T�޹�\n"
+ ,userid, i, betname[mybet], money);
+ sprintf(buf, "%s ����h��! $ %d", bh->brdname, money * i);
+ }
+ else if (mybet == bet)
{
- fprintf(fp,"���� %-15s�R�F%9d �i %s, ��o %d �T�޹�\n"
- ,userid, i, betname[mybet], money * i);
- if((uid=getuser(userid))==0) continue;
- deumoney(uid, money * i);
+ fprintf(fp,"���� %s �R�F%d �i %s, ��o %d �T�޹�\n"
+ ,userid, i, betname[mybet], money);
sprintf(buf, "%s ������! $ %d", bh->brdname, money * i);
- mail_id(userid, buf, "etc/ticket.win", "Ptt���");
- }
+ }
+ if((uid=getuser(userid))==0) continue;
+ deumoney(uid, money * i);
+ mail_id(userid, buf, "etc/ticket.win", "Ptt���");
}
fclose(fp1);
}
fclose(fp);
- sprintf(buf, "[���i] %s ��L�}��", bh->brdname);
+ if(bet!=98)
+ sprintf(buf, "[���i] %s ��L�}��", bh->brdname);
+ else
+ sprintf(buf, "[���i] %s ��L����", bh->brdname);
post_file(bh->brdname, buf, outcome, "[�䯫]");
post_file("Record", buf+7, outcome, "[�������l]");