📄 llysgb.cpp
字号:
//在指定表中产生一条随机内容static int getrandcontent(char *tablename,char *polt,int max){ int retval,score; char sql[500]; MYSQL_ROW row; MYSQL_RES *res = NULL; sprintf(sql,"SELECT POLT,SCORE FROM %s WHERE ID>=%d LIMIT 1",tablename,getrandnum(max)); retval = QuerySQL(sql,&myconn,&res); if(retval != 0) { writelog(SELF_TYPE,"查询指令失败"); return 0; } if(res == NULL) { return 0; } if( row = mysql_fetch_row(res)) { strcpy(polt,row[0]); score= atoi(row[1]); } mysql_free_result(res); return score;}//赌大小游戏static int dobet(char *content,char *msisdn,char *dcode,float fee,int type){ int retval,id,score,max,state; char msg[500]; char sql[500]; char day[20]; int flag,len,i,bet_score,num1,num2,num3; char *argv[2]; MYSQL_ROW row; MYSQL_RES *res = NULL; upper(content); getnowdate(day); state=haveuser(msisdn); sprintf(sql,"SELECT SCORE FROM USER_LLYS_POINT WHERE MSISDN='%s'",msisdn); retval = QuerySQL(sql,&myconn,&res); if(retval != 0) { writelog(SELF_TYPE,"查询指令失败"); return 0; } if(res == NULL) { return 0; } if( row = mysql_fetch_row(res)) { score= atoi(row[0]); mysql_free_result(res); } else { mysql_free_result(res); sprintf(msg,"你还不是玲垅轶事的用户,不能玩这个游戏,如需加入请回复33申请定制"); SendUser(msisdn,msg,dcode,fee,1); //点播 return 0; } if(splitarg(content,argv,2) != 2) { argv[1] = " "; } if(strcmp(argv[0],"DG") == 0) //打工 { if (score >= 400) { sprintf(msg,"您还有%d个金币,没必要去打工啊!继续加油!相信你的运气会很好的!",score); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } max=getmaxid("LLYS_RAND_DG"); score=getrandcontent("LLYS_RAND_DG",msg,max); sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=SCORE+%d,DOWN_NUM=DOWN_NUM+1 WHERE FLAG='1' AND MSISDN='%s'",score,msisdn); if(DoSQL(sql,&myconn)!=0) { writelog(SELF_TYPE,"更新打工分数出错!"); return 0; } sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } else if(strcmp(argv[0],"TF") == 0) //讨饭 { if (score >= 200) { sprintf(msg,"您还有%d个金币,没必要去讨饭啊!继续加油!相信你的运气会很好的!",score); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } max=getmaxid("LLYS_RAND_TF"); score=getrandcontent("LLYS_RAND_TF",msg,max); sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=SCORE+%d,DOWN_NUM=DOWN_NUM+1 WHERE FLAG='1' AND MSISDN='%s'",score,msisdn); if(DoSQL(sql,&myconn)!=0) { writelog(SELF_TYPE,"更新讨饭分数出错!"); return 0; } sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } else if(strcmp(argv[0],"DA") == 0) //赌大 { flag = 1; } else if(strcmp(argv[0],"XI") == 0) //赌小 { flag = 2; } else { //writelog(SELF_TYPE,"不是有效代码!"); strcpy(msg,"如果您猜大请回复DA_赌注,猜小请回复XI_赌注,一次赌注不能大于200个金币,祝您好运气!当你满5000个金币时还可以换取50元话费呢"); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } len=strlen(argv[1]); for(i=0;i<len;i++) { if(!isdigit(argv[1][i])) { sprintf(msg,"如果您猜大请回复DA_赌注,猜小请回复XI_赌注,一次赌注不能大于200个金币,祝您好运气!当你满5000个金币时还可以换取50元话费呢"); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } } bet_score = atoi(argv[1]); if(bet_score > 200) { sprintf(msg,"不要这样吧!慢慢来,您一次赌博的赌注只能在200个金币以内!"); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } else if(bet_score <=0) { sprintf(msg,"如果您猜大请回复DA_赌注,猜小请回复XI_赌注,一次赌注不能大于200个金币,祝您好运气!当你满5000个金币时还可以换取50元话费呢!"); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } if(score < bet_score) { sprintf(msg,"您的赌本不够了,您有两种选择,去打工或者去讨饭,\"打工\"回复DG ,\"讨饭\"回复TF,虽然讨饭来钱快,但是,不是每次都能讨到哦!"); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } num1 = getrandnum(6) + 1; num2 = getrandnum(6) + 1; num3 = getrandnum(6) + 1; if(num1 + num2 + num3 <= 10) { if(flag == 1) { score -= bet_score; sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=%d,DOWN_NUM=DOWN_NUM+1 WHERE MSISDN='%s'",score,msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赌大输出错!"); return 0; } sprintf(msg,"您的手气不太好,三颗骰子分别是:%d点,%d点,%d点,共%d点--小,您输了%d个金币,目前还有%d个金币,继续加油!",num1,num2,num3,num1+num2+num3,bet_score,score); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } if(score < 100) { sprintf(msg,"您的赌本只有%d金,您可以去打工或者去讨饭,\"打工\"回复DG ,\"讨饭\"回复TF,虽然讨饭来钱快,但是不是每次都能讨到哦!",score); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } } return 0; } else { score += bet_score; if(score<5000) { sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=SCORE+%d,DOWN_NUM=DOWN_NUM+1 WHERE MSISDN='%s'",bet_score,msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赌大赢出错!"); return 0; } sprintf(msg,"吉人自有天象,您的手气很好,三颗骰子分别是:%d点,%d点,%d点,共%d点--小,您赚了%d个金币,目前共有%d个金币,继续加油!",num1,num2,num3,num1+num2+num3,bet_score,score); } else { sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=2000,DOWN_NUM=DOWN_NUM+1,WIN_NUM=WIN_NUM+1 WHERE MSISDN='%s'",msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赢了50元话费出错!"); return 0; } sprintf(msg,"%s手机用户赌大小蠃了50元话费,请帮其充值,%s",msisdn,db_dbname); SendUser("13951753547",msg,dcode,fee,0); // sprintf(msg,"小!您太厉害了!您已经赚到了50元话费,24小时内将会充到您的手机上,请注意查收!并希望您继续参加,祝愿您的运气会更好!"); } sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } } else { if(flag == 2) { score -= bet_score; sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=%d,DOWN_NUM=DOWN_NUM+1 WHERE MSISDN='%s'",score,msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赌小输出错!"); return 0; } sprintf(msg,"您的手气不太好,三颗骰子分别是:%d点,%d点,%d点,共%d点--大,您输了%d个金币,目前还有%d个金币,继续加油!",num1,num2,num3,num1+num2+num3,bet_score,score); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } if(score < 100) { sprintf(msg,"您的赌本只有%d金,您可以去打工或者去讨饭,\"打工\"回复DG ,\"讨饭\"回复TF,虽然讨饭来钱快,但是不是每次都能讨到哦!",score); sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } } return 0; } else { score += bet_score; if(score<5000) { sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=SCORE+%d,DOWN_NUM=DOWN_NUM+1 WHERE MSISDN='%s'",bet_score,msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赌大赢了出错!"); return 0; } sprintf(msg,"吉人自有天象,您的手气很好,三颗骰子分别是:%d点,%d点,%d点,共%d点--大,您赚了%d个金币,目前共有%d个金币,继续加油!",num1,num2,num3,num1+num2+num3,bet_score,score); } else { sprintf(sql,"UPDATE USER_LLYS_POINT SET SCORE=2000,DOWN_NUM=DOWN_NUM+1,WIN_NUM=WIN_NUM+1 WHERE MSISDN='%s'",msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新赢了50元话费出错!"); return 0; } sprintf(msg,"%s手机用户赌大小蠃了50元话费,请帮其充值,%s",msisdn,db_dbname); SendUser("13951753547",msg,dcode,fee,0); strcpy(msg,"大!您太厉害了!您已经赚到了50元话费,24小时内将会充到您的手机上,请注意查收!并希望您继续参加,祝愿您的运气会更好!"); } sprintf(sp_id_extern,"166%d",type); if(state==1) { SendUser(msisdn,msg,dcode,fee,1); //点播 } if(state==2) { SendUser(msisdn,msg,dcode,fee,0); //免费 } return 0; } }}static int SendUser(char *msisdn,char *msg,char *dcode,float fee,int flag){ SEND_STRUC sendstruc; char buf[100]; memset(&sendstruc,0,sizeof(sendstruc)); strcpy(sendstruc.icpid,"MO"); sendstruc.nMsgLevel = 3; strcpy(sendstruc.sServiceID,dcode); sendstruc.nMsgFormat = MSG_FORMAT_ASCII; strcpy(sendstruc.sValidTime,""); strcpy(sendstruc.sAtTime,""); strcpy(sendstruc.sSrcTermID,SP_ID); strcat(sendstruc.sSrcTermID,sp_id_extern); strcpy(sendstruc.sDesTermID,msisdn); sendstruc.sFeeCode = fee; sendstruc.cFeeUserType=0; strcpy(sendstruc.sFeeTerminalID,""); sendstruc.cTpPid = 0; sendstruc.cTpUdhi = 0; strcpy(sendstruc.step,"9"); getnowdate(sendstruc.Send_Date); strcpy(sendstruc.sMsgContent,msg); checksql(sendstruc.sMsgContent); strcpy(sendstruc.linkid,linkid); switch(flag) { case 0: //免费、错误信息 strcpy(sendstruc.sServiceID,"ERROR"); strcpy(sendstruc.sFeeType,"01"); sendstruc.nNeedReply = 0; break; case 1: //按条点播(收费) strcpy(sendstruc.sFeeType,"02"); sendstruc.nNeedReply = 0; break; case 2: //包月点播(不收费的) strcpy(sendstruc.sFeeType,"03"); sendstruc.nNeedReply = 1; break; case 3: //包月扣费 strcpy(sendstruc.sFeeType,"03"); sendstruc.nNeedReply = 2; break; case 8: //定购成功包 strcpy(sendstruc.sFeeType,"08"); sendstruc.nNeedReply = 1; break; case 9: //取消成功包 strcpy(sendstruc.sFeeType,"09"); sendstruc.nNeedReply = 1; break; default: //其它 strcpy(sendstruc.sServiceID,"ERROR"); strcpy(sendstruc.sFeeType,"01"); sendstruc.nNeedReply = 0; break; } SendMsg(&sendstruc,&myconn); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -