Files

2085 lines
73 KiB
JavaScript

///////////////////////////////////////////////////
/////// cls_youle_room_export: 输出接口 ///////
///////////////////////////////////////////////////
var cls_youle_room_export = cls_youle_room_export || {
new: function() {
var exp = {};
//检查玩家的位置是否正确,检查tcp连接是否正确,返回房间对象
exp.check_player = function(agentid, gameid, roomcode, seat, playerid, conmode, fromid){
//查找代理商
var o_agent = youle_room.agents.method.find_agent(agentid);
if (!o_agent){
return null;
}
//查找游戏
var o_game = o_agent.method.find_game(gameid);
if (!o_game){
return null;
}
//查找房间
var o_room = o_game.method.find_room(roomcode);
if (!o_room){
return null;
}
//查找玩家
var o_player = o_room.seatlist[seat];
if (!o_player){
return null;
}
//检查座位
if (o_player.playerid != playerid) {
return null;
};
//检查tcp连接
if (o_player.conmode != conmode || o_player.fromid != fromid) {
return null;
}
return o_room;
}
//扣除房主的房卡
exp.deduct_roomcard = function(o_room){
if (!o_room){
return;
}
//系统房间写死不要房卡
if (o_room.infinite){
return;
}
if (o_room.roommode){
//sss
var xxroomdeduct = youle_room.app.youle_platform.config.method.get_paravalue("xxroomdeduct", o_room.o_game.o_agent.agentid);
if (!xxroomdeduct){
return;
}
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
if (deductmode == 2){
//大赢家扣卡
return;
}
// var extcard = 0;
// if(o_room.videoConfig){
// var o_agent1 = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
// var vConfig = o_agent1.method.alyVideoConfig(o_room.videoConfig);
// if(vConfig[0] == 1){
// extcard = vConfig[1];
// }
// }
for (var i = 0; i < o_room.seatlist.length; i++) {
var o_player = o_room.seatlist[i];
if (!o_player){
continue;
}
if (o_player.gameinfo.isowner == 1){ //房主
if (o_room.wasdeduct){
continue;
}
if (o_room.needroomcard == 0){
continue;
}
if (o_player.gameinfo.isbet != 1){
continue;
}
//vip不扣房卡
if (o_player.playertype == 1){
continue;
}
o_room.wasdeduct = true;
//通知代理商服务器修改房卡
var o_game = o_room.o_game;
var o_agent = o_game.o_agent;
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "deduct_roomcard";
msg.data = {};
msg.data.agentid = o_agent.agentid;
msg.data.playerid = o_player.playerid;
msg.data.needroomcard = o_room.needroomcard;
msg.data.gameid = o_room.o_game.gameid;
msg.data.roomcode = o_room.roomcode;
if (o_agent.server == o_game.roomserver){
//房间服务器与代理商服务器是同一地址
msg.data.issameserver = 1;
youle_room.app.youle_agent[msg.rpc](msg);
} else {
//房间服务器与代理商服务器不是同一地址
msg.data.issameserver = 0;
var cfg = {};
cfg.url = "http://" + o_agent.server + ":" + o_agent.httpport + "/index.html";
cfg.type = "POST";
cfg.data = JSON.stringify(msg);
cfg.success = function(str){};
cfg.error = function(str){
o_room.wasdeduct = false;
};
min_http(cfg);
}
} else if (o_player.gameinfo.isowner == 0){ //非房主
if (o_player.wasdeduct){
continue;
}
if (o_player.needroomcard == 0){
continue;
}
if (o_player.gameinfo.isbet != 1){
continue;
}
//vip不扣房卡
if (o_player.playertype == 1){
continue;
}
o_player.wasdeduct = true;
//通知代理商服务器修改房卡
var o_game = o_player.gameinfo.o_game;
var o_agent = o_game.o_agent;
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "deduct_roomcard";
msg.data = {};
msg.data.agentid = o_agent.agentid;
msg.data.playerid = o_player.playerid;
msg.data.needroomcard = o_player.needroomcard;
msg.data.gameid = o_room.o_game.gameid;
msg.data.roomcode = o_room.roomcode;
if (o_agent.server == o_game.roomserver){
//房间服务器与代理商服务器是同一地址
msg.data.issameserver = 1;
youle_room.app.youle_agent[msg.rpc](msg);
} else {
//房间服务器与代理商服务器不是同一地址
msg.data.issameserver = 0;
var cfg = {};
cfg.url = "http://" + o_agent.server + ":" + o_agent.httpport + "/index.html";
cfg.type = "POST";
cfg.data = JSON.stringify(msg);
cfg.success = function(str){};
cfg.error = function(str){
o_player.wasdeduct = false;
};
min_http(cfg);
}
}
}
//群主开房,房主没在房间内也要扣房卡
var o_player = o_room.owner;
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
if (o_player && !o_room.wasdeduct && o_room.needroomcard != 0 && o_player.playertype != 1 && deductmode == 0){
o_room.wasdeduct = true;
//通知代理商服务器修改房卡
// var extcard = 0;
// if(o_room.videoConfig){
// var o_agent1 = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
// var vConfig = o_agent1.method.alyVideoConfig(o_room.videoConfig);
// if(vConfig[0] == 1){
// extcard = vConfig[1];
// }
// }
var o_game = o_room.o_game;
var o_agent = o_game.o_agent;
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "deduct_roomcard";
msg.data = {};
msg.data.agentid = o_agent.agentid;
msg.data.playerid = o_player.playerid;
msg.data.needroomcard = o_room.needroomcard;
msg.data.gameid = o_room.o_game.gameid;
msg.data.roomcode = o_room.roomcode;
if (o_agent.server == o_game.roomserver){
//房间服务器与代理商服务器是同一地址
msg.data.issameserver = 1;
youle_room.app.youle_agent[msg.rpc](msg);
} else {
//房间服务器与代理商服务器不是同一地址
msg.data.issameserver = 0;
var cfg = {};
cfg.url = "http://" + o_agent.server + ":" + o_agent.httpport + "/index.html";
cfg.type = "POST";
cfg.data = JSON.stringify(msg);
cfg.success = function(str){};
cfg.error = function(str){
o_room.wasdeduct = false;
};
min_http(cfg);
}
}
}
//小局结算系统抽成,ary_grade为与座位一一对应的本小局得分,格式如[100,null,-100,null]。函数返回抽成后的得分
exp.save_grade_aset = function(o_room, ary_grade, asetnumber, ary_pond){
//累计池子输赢
if (ary_pond){
var __o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var __o_agentsvr_game = __o_agentsvr_agent.method.find_game(o_room.o_game.gameid);
for (var i = 0; i < ary_pond.length; i++) {
if (ary_pond[i][1]){
var _found = false;
for (var j = 0; j < __o_agentsvr_game.pondlist.length; j++) {
if (ary_pond[i][0] == __o_agentsvr_game.pondlist[j][0]) {
__o_agentsvr_game.pondlist[j][1] = __o_agentsvr_game.pondlist[j][1] + ary_pond[i][1];
_found = true;
break;
}
};
if (!_found){
var info = [ary_pond[i][0], ary_pond[i][1]];
__o_agentsvr_game.pondlist.push(info);
}
var sql = "call cp_game_update_pond(?,?,?,?)";
youle_room.mysql.execsql("execsql", sql, [o_room.o_game.o_agent.agentid, o_room.o_game.gameid, ary_pond[i][0], ary_pond[i][1]]);
}
};
}
//只有星星场才有小局结算和小局抽成
var isFree = 0;
// if(o_room.isFree){
// isFree = 1;
// }
if(o_room.sysroom && !isFree){
var sysRoomConfig = youle_room.app.youle_platform.config.method.get_paravalue("system_room", o_room.o_game.o_agent.agentid, o_room.o_game.gameid);
if(sysRoomConfig){
for(var i=0;i<sysRoomConfig.length;i++){
if(JSON.stringify(sysRoomConfig[i].roomtype) == JSON.stringify(o_room.roomtype)){
if(sysRoomConfig[i].isFree){
isFree = 1;
}
}
}
}
}
if(isFree){
var rAry = [];
rAry.length = ary_grade.length;
for(var i=0;i<ary_grade.length;i++){
if(ary_grade[i] != null){
rAry[i]=0;
}else{
rAry[i] = null;
}
}
//console.log(JSON.stringify(ary_grade),JSON.stringify(rAry));
return rAry;
}
var breakTemp = false;
var reTemp = false;
if (!o_room.roommode){
//非星星场短号房要结算魅力值
try{
if (o_room.shortcode){
var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var o_agentsvr_owner = o_agentsvr_agent.method.find_player(o_room.owner.playerid);
if (o_agentsvr_owner.whitelist && o_agentsvr_owner.whitelist.length > 0){
// var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid);
// var rCharm = 0;
// var maxgrade1 = 0;
// var maxseat1 = [];
// var rcTemp = false;
//if(gameid == "Btke0urRy0cvPd5CIvD5yfhYhKhdSdex"){
//if(rebateConfig.rebateCharm && o_room.rebateType){
// for (var i = 0; i < ary_grade.length; i++){
// if (ary_grade[i]){
// ary_grade[i] = Number(ary_grade[i]);
// if (ary_grade[i] > maxgrade1){
// maxgrade1 = ary_grade[i];
// maxseat1 = [i];
// } else if (ary_grade[i] == maxgrade1){
// maxseat1.push(i);
// }
// }
// }
// console.log("maxseat1",JSON.stringify(maxseat1));
// console.log("maxgrade1",maxgrade1);
//rcTemp = true;
// if(maxseat1.length>0){
// rCharm = parseInt(o_room.rebateNumber/maxseat1.length);
// }else{
// rCharm = parseInt(o_room.rebateNumber);
// }
//}
//}
// if(rebateConfig){
// if(rebateConfig.rebateCharm && o_room.rebateType){
// rcTemp = true;
// }
// //抽金币
// if(!o_room.rebateType){
// reTemp = true;
// }
// }
var _seatlist = [];
// console.log("ary_grade",ary_grade);
// console.log("333",JSON.stringify(o_agentsvr_owner.whitelist));
// console.log("rCharm",rCharm);
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
if (o_room.seatlist[i]){
var _player = {};
_player.seat = i;
_player.playerid = o_room.seatlist[i].playerid;
_player.change = ary_grade[i];
// for(var k=0;k<o_agentsvr_owner.whitelist.length;k++){
// if(o_agentsvr_owner.whitelist[k][2]){
// o_agentsvr_owner.whitelist[k][2] = parseInt(o_agentsvr_owner.whitelist[k][2]);
// }else{
// o_agentsvr_owner.whitelist[k][2] = 0;
// }
// }
for (var j = 0; j < o_agentsvr_owner.whitelist.length; j++) {
if (o_agentsvr_owner.whitelist[j][0] == _player.playerid){
if (o_agentsvr_owner.whitelist[j][2]){
o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) + ary_grade[i];
// if(rcTemp && ary_grade[i] == maxgrade1){
// o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) - rCharm;
// }
} else {
o_agentsvr_owner.whitelist[j][2] = ary_grade[i];
// if(rcTemp && ary_grade[i] == maxgrade1){
// o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) - rCharm;
// }
}
_player.charm = o_agentsvr_owner.whitelist[j][2];
break;
}
}
_seatlist.push(_player);
}
}
}
var msg = {};
msg.app = "youle";
msg.route = "agent";
msg.rpc = "update_charm";
msg.data = {};
msg.data.seatlist = _seatlist;
o_room.method.sendpack_toother(msg, -1);
//console.log("222",JSON.stringify(o_agentsvr_owner.whitelist));
var writeDB = true;
if(o_room.o_game.gameid){
var config_vipConfig = youle_agent.app.youle_platform.config.method.get_paravalue("vipConfig", o_room.o_game.o_agent.agentid, o_room.o_game.gameid);
if(config_vipConfig){
var vipIndex = min_ary_indexof(config_vipConfig,o_room.shortcode,"0");
if(vipIndex > -1){
if(config_vipConfig[vipIndex][1]){
writeDB = false;
}
}
}
}
writeDB = true;
if(writeDB){
var sql = "update player set play_whitelist = ? where play_agentid = ? and play_playerid = ?";
youle_room.mysql.execsql("execsql", sql, [youle_agent.compressWhiteList(o_agentsvr_owner.whitelist), o_room.o_game.o_agent.agentid, o_room.owner.playerid]);
}
}
}
}catch(e){
console.log("结算短号魅力值发生错误");
console.log(e);
}
var ary = xRebate.gameRebate2(o_room,ary_grade);
// console.log("ary",ary);
return ary;
}
//小局抽成设置
var aset_rebate = youle_room.app.youle_platform.config.method.get_paravalue("aset_rebate", o_room.o_game.o_agent.agentid);
var setting;
if (o_room.infinite){
//无限局
if (aset_rebate && aset_rebate.infinite){
setting = aset_rebate.infinite; //无限局设置
} else {
setting = [0];
}
} else {
//有限局
if (aset_rebate && aset_rebate.finitude){
setting = aset_rebate.finitude; //有限局设置
} else {
return ary_grade;
}
}
//是否有真实玩家
var haveplayer = false;
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
if (o_room.seatlist[i]){
if (!o_room.seatlist[i].isrobot){
haveplayer = true;
break;
}
}
}
}
var do_save_coin_rebate = function(seat, isrobot){
var agentid = o_room.o_game.o_agent.agentid;
var gameid = o_room.o_game.gameid;
var roomcode = o_room.roomcode;
var roommode = 0; //玩家房间
o_room.asetRebate = true;
if (o_room.sysroom) {
roommode = 1; //系统房间
}
var createtime = o_room.createtime;
var beanmult = 0;
if (o_room.beanmult){
beanmult = o_room.beanmult;
}
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var playerid = o_room.seatlist[seat].playerid;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
if (!isrobot){
isrobot = 0;
} else {
isrobot = 1;
}
var grade = ary_grade[seat];
var push = 0;
switch (parseInt(setting[1])){
case 1: //按得分的百分比抽成
push = parseInt(ary_grade[seat] * parseInt(setting[2]) / 100);
break;
case 2: //按倍数的百分比抽成
push = parseInt(o_room.beanmult * parseInt(setting[2]) / 100);
break;
}
var invitecode = null;
var inviteid = null;
var marketid = null;
if (!isrobot){
var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid);
var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid);
invitecode = __o_agentsvr_player.invitecode;
inviteid = __o_agentsvr_player.inviteid;
marketid = __o_agentsvr_player.marketid;
}
if (haveplayer){
//有真实玩家才保存数据
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 1, asetcount, asetnumber, playerid, isrobot, grade, parseInt(setting[0]), 0, "", parseInt(setting[1]), parseInt(setting[2]), push, datatime, invitecode, inviteid, marketid]);
}
do_update_bean(playerid, grade, push, isrobot, false);
return grade - push;
}
var do_update_bean = function(playerid, grade, push, isrobot, save_gold_account){
//游戏输赢设置 玩家输赢存在玩家winLose属性中
var updateGameWinLose = function(gameid,type,val,oPlayer){
var key;
val = Number(val);
switch(type){
case 1:
key = "game_winlose";
break;
case 2:
key = "game_winlose_xx";
break;
case 3:
key = "game_winlose_x2";
break;
}
if(oPlayer.winLose){//判断是否有次属性
if(oPlayer.winLose[gameid]){
if(oPlayer.winLose[gameid][key]){
oPlayer.winLose[gameid][key] += val;
}else{
oPlayer.winLose[gameid][key] = val;
}
}else{
oPlayer.winLose[gameid] = {};
oPlayer.winLose[gameid][key] = val;
}
}else{
oPlayer.winLose = {};
oPlayer.winLose[gameid] = {};
oPlayer.winLose[gameid][key] = val;
}
}
//读取输赢
// var getGameWinLose = function(gameid,type,oPlayer){
// var key;
// switch(type){
// case 1:
// key = "game_winlose";
// break;
// case 2:
// key = "game_winlose_xx";
// break;
// case 3:
// key = "game_winlose_x2";
// break;
// }
// if(oPlayer.winLose){//判断是否有次属性
// if(oPlayer.winLose[gameid]){
// if(oPlayer.winLose[gameid][key]){
// return oPlayer.winLose[gameid][key];
// }else{
// }
// }else{
// }
// }else{
// }
// return null;
// }
if (!isrobot){
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = o_room.o_game.o_agent.agentid;
msg.data.playerid = playerid;
msg.data.change = grade;
msg.data.pushbean = -1 * push;
msg.data.gameid = o_room.o_game.gameid;
msg.data.showrebate = 2;
youle_room.app.youle_agent[msg.rpc](msg);
if (o_room.roommode){
var sql = ' update agent_game_player ' +
' set agpl_playset_xx = agpl_playset_xx + 1, ' +
' agpl_winlose_xx = agpl_winlose_xx + (? div ?), ' +
' agpl_winlose_x2 = agpl_winlose_x2 + ? ' +
' where agpl_agentid = ? ' +
' and agpl_gameid = ? ' +
' and agpl_playerid = ?';
youle_room.mysql.execsql("execsql", sql, [grade, o_room.beanmult, grade, o_room.o_game.o_agent.agentid, o_room.o_game.gameid, playerid]);
var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var o_agentsvr_player = o_agentsvr_agent.method.find_player(playerid);
if (o_agentsvr_player){
if (!o_agentsvr_player.nn_winlose_xx){
if (o_room.beanmult){
o_agentsvr_player.nn_winlose_xx = parseInt(grade / o_room.beanmult);
}
} else {
if (o_room.beanmult){
o_agentsvr_player.nn_winlose_xx = o_agentsvr_player.nn_winlose_xx + parseInt(grade / o_room.beanmult);
}
}
if (!o_agentsvr_player.nn_winlose_x2){
o_agentsvr_player.nn_winlose_x2 = grade;
} else {
o_agentsvr_player.nn_winlose_x2 = o_agentsvr_player.nn_winlose_x2 + grade;
}
if (o_room.beanmult){
updateGameWinLose(o_room.o_game.gameid,2,parseInt(grade / o_room.beanmult),o_agentsvr_player);
}
updateGameWinLose(o_room.o_game.gameid,3,grade,o_agentsvr_player);
}
}
} else {
//记录机器人的累积输赢
if (o_room.roommode){
var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var o_agentsvr_game = o_agentsvr_agent.method.find_game(o_room.o_game.gameid);
if (!o_agentsvr_game.robot_xx){
if (o_room.beanmult){
o_agentsvr_game.robot_xx = parseInt(grade / o_room.beanmult);
}
} else {
if (o_room.beanmult){
o_agentsvr_game.robot_xx = o_agentsvr_game.robot_xx + parseInt(grade / o_room.beanmult);
}
}
if (!o_agentsvr_game.robot_x2){
o_agentsvr_game.robot_x2 = grade;
} else {
o_agentsvr_game.robot_x2 = o_agentsvr_game.robot_x2 + grade;
}
if (haveplayer){
//有真实玩家才保存数据
var sql = "call cp_game_grade_robot(?,?,?,?);";
youle_room.mysql.execsql("execsql", sql, [o_room.o_game.o_agent.agentid, o_room.o_game.gameid, grade, o_room.beanmult]);
}
}
}
if (save_gold_account){
var agentid = o_room.o_game.o_agent.agentid;
var gameid = o_room.o_game.gameid;
var roomcode = o_room.roomcode;
var roommode = 0; //玩家房间
if (o_room.sysroom) {
roommode = 1; //系统房间
}
var createtime = o_room.createtime;
var beanmult = 0;
if (o_room.beanmult){
beanmult = o_room.beanmult;
}
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
if (!isrobot){
isrobot = 0;
} else {
isrobot = 1;
}
var invitecode = null;
var inviteid = null;
var marketid = null;
if (!isrobot){
var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid);
var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid);
invitecode = __o_agentsvr_player.invitecode;
inviteid = __o_agentsvr_player.inviteid;
marketid = __o_agentsvr_player.marketid;
}
if (haveplayer){
//有真实玩家才保存数据
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid);
var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid);
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 1, asetcount, asetnumber, playerid, isrobot, grade, parseInt(setting[0]), 0, "", parseInt(setting[1]), parseInt(setting[2]), 0, datatime, invitecode, inviteid, marketid]);
}else{
//读取是否纯机器人保存金币变动
var o_cfg = youle_agent.app.youle_platform.config;
var reportRobotGold = o_cfg.method.get_paravalue("reportRobotGold", agentid, gameid);
if(reportRobotGold){
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 1, asetcount, asetnumber, playerid, isrobot, grade, parseInt(setting[0]), 0, "", parseInt(setting[1]), parseInt(setting[2]), 0, datatime, invitecode, inviteid, marketid]);
}
}
}
}
//房间id = 时间戳 + 4位随机码 + 房号
var roomid = new Date().getTime() + min_randomChar(4) + o_room.roomcode;
var datatime = min_now();
switch (parseInt(setting[0])){
case 0: //无限局没有小局系统抽成
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
do_update_bean(o_room.seatlist[i].playerid, ary_grade[i], 0, o_room.seatlist[i].isrobot, true);
}
}
return ary_grade;
case 1: //对大赢家抽成
var maxwingrade = -1;
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
if (ary_grade[i] > maxwingrade){
maxwingrade = ary_grade[i];
}
}
}
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
if (ary_grade[i] == maxwingrade){
ary_grade[i] = do_save_coin_rebate(i, o_room.seatlist[i].isrobot);
} else {
do_update_bean(o_room.seatlist[i].playerid, ary_grade[i], 0, o_room.seatlist[i].isrobot, true);
}
}
}
return ary_grade;
case 2: //对所有赢的人抽成
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
if (ary_grade[i] > 0){
ary_grade[i] = do_save_coin_rebate(i, o_room.seatlist[i].isrobot);
} else {
do_update_bean(o_room.seatlist[i].playerid, ary_grade[i], 0, o_room.seatlist[i].isrobot, true);
}
}
}
return ary_grade;
case 3: //对所有人抽成
for (var i = 0; i < ary_grade.length; i++) {
if (ary_grade[i] != null){
ary_grade[i] = do_save_coin_rebate(i, o_room.seatlist[i].isrobot);
}
}
return ary_grade;
default:
return ary_grade;
}
}
//一局游戏结束保存战绩并释放房间(不用通知前端游戏,因为游戏服务器已经通知了前端)
exp.save_grade = function(o_room, o_gameinfo1, o_gameinfo2, freeroomflag){
//游戏输赢设置 玩家输赢存在玩家winLose属性中
//console.log(o_room, o_gameinfo1, o_gameinfo2, freeroomflag);
var updateGameWinLose = function(gameid,type,val,oPlayer){
var key;
val = Number(val);
switch(type){
case 1:
key = "game_winlose";
break;
case 2:
key = "game_winlose_xx";
break;
case 3:
key = "game_winlose_x2";
break;
}
if(oPlayer.winLose){//判断是否有次属性
if(oPlayer.winLose[gameid]){
if(oPlayer.winLose[gameid][key]){
oPlayer.winLose[gameid][key] += val;
}else{
oPlayer.winLose[gameid][key] = val;
}
}else{
oPlayer.winLose[gameid] = {};
oPlayer.winLose[gameid][key] = val;
}
}else{
oPlayer.winLose = {};
oPlayer.winLose[gameid] = {};
oPlayer.winLose[gameid][key] = val;
}
}
//读取输赢
// var getGameWinLose = function(gameid,type,oPlayer){
// var key;
// switch(type){
// case 1:
// key = "game_winlose";
// break;
// case 2:
// key = "game_winlose_xx";
// break;
// case 3:
// key = "game_winlose_x2";
// break;
// }
// if(oPlayer.winLose){//判断是否有次属性
// if(oPlayer.winLose[gameid]){
// if(oPlayer.winLose[gameid][key]){
// return oPlayer.winLose[gameid][key];
// }else{
// }
// }else{
// }
// }else{
// }
// return null;
// }
//需要子游戏设置玩家的gameinfo.isbet和gameinfo.grade属性
if (o_gameinfo1){
try
{
cls_youle_room_backup.deletebackup_room(o_room);
var agentid = o_room.o_game.o_agent.agentid;
var gameid = o_room.o_game.gameid;
var roomcode = o_room.roomcode;
var createtime = o_room.createtime;
var makewartime = o_room.makewartime;
var overtime = min_now();
//星星场房间是否和普通房间一样扣房卡
var xxroomdeduct = youle_room.app.youle_platform.config.method.get_paravalue("xxroomdeduct", o_room.o_game.o_agent.agentid);
//小局抽成设置
// var aset_rebate = youle_room.app.youle_platform.config.method.get_paravalue("aset_rebate", o_room.o_game.o_agent.agentid);
//抽成到的玩家id
// var pushtoplayerid_setting = youle_room.app.youle_platform.config.method.get_paravalue("pushtoplayerid", o_room.o_game.o_agent.agentid);
//是否抽成到玩家id对应的代理账号上
// var pushto_setting = youle_room.app.youle_platform.config.method.get_paravalue("pushto", o_room.o_game.o_agent.agentid);
//大赢家扣卡
var needdeduct = false;
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
if (deductmode == 2){
needdeduct = true;
}
if (o_room.roommode){
//星星场不扣房卡
if (!xxroomdeduct){
needdeduct = false;
}
}
if (needdeduct){
var deductcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
if (deductcard > 0){
var maxgrade = 0;
var maxseat = [];
for (var i = 0; i < o_room.seatlist.length; i++){
if (o_room.seatlist[i] && o_room.seatlist[i].gameinfo.isbet){
if (o_room.seatlist[i].gameinfo.grade > maxgrade){
maxgrade = parseInt(o_room.seatlist[i].gameinfo.grade);
maxseat = [i];
} else if (o_room.seatlist[i].gameinfo.grade == maxgrade){
maxseat.push(i);
}
}
}
// if(o_room.videoConfig){
// var o_agent1 = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
// var vConfig = o_agent1.method.alyVideoConfig(o_room.videoConfig);
// if(vConfig[0] == 1){
// deductcard += vConfig[1];
// }
// }
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "deduct_roomcard";
msg.data = {};
msg.data.agentid = agentid;
msg.data.needroomcard = deductcard;
msg.data.gameid = gameid;
msg.data.roomcode = roomcode;
msg.data.issameserver = 1;
for (var i = 0; i < maxseat.length; i++){
msg.data.playerid = o_room.seatlist[maxseat[i]].playerid;
youle_room.app.youle_agent[msg.rpc](msg);
}
}
}
/*
var rebatefrom = 0;
var rebateto = 0;
var toplayerid = "";
var rebatemode;
var setvalue;
//如果设置了星星场限进,计算大赢家的房主抽成数量
if (o_room.beanfloor){
//大赢家抽成星星数
var maxwiner_setting = 0;
if (!o_room.advanced_type){
//普通星星场房间
maxwiner_setting = youle_room.import.owner_beanpush(o_room.o_game, o_room.roomtype);
if (maxwiner_setting){
maxwiner_setting = parseInt(maxwiner_setting);
rebatefrom = 1;
rebateto = 1;
if (pushtoplayerid_setting){
if (pushtoplayerid_setting[0]){
rebateto = 2;
toplayerid = pushtoplayerid_setting[0];
if (pushto_setting == 1){
rebateto = 3;
} else if (pushto_setting == 2){
rebateto = 4;
toplayerid = o_room.owner.playerid;
}
}
}
rebatemode = 3;
setvalue = maxwiner_setting;
}
} else {
//短号星星场房间
if (o_room.advanced_teabean){
maxwiner_setting = o_room.advanced_teabean;
rebatefrom = 1;
rebateto = 1;
if (pushtoplayerid_setting){
if (pushtoplayerid_setting[1]){
rebateto = 2;
toplayerid = pushtoplayerid_setting[1];
if (pushto_setting == 1){
rebateto = 3;
} else if (pushto_setting == 2){
rebateto = 4;
toplayerid = o_room.owner.playerid;
}
}
}
rebatemode = 3;
setvalue = maxwiner_setting;
}
}
if (maxwiner_setting){
//房主得分
var ownergarde = 0;
//房主抽成星星数量
var ownerpush = 0;
//大赢家得分
var maxgrade = 0;
//大赢家数量
var maxcount = 0;
for (var i = 0; i < o_room.seatlist.length; i++){
if (o_room.seatlist[i] && o_room.seatlist[i].gameinfo.isbet){
if (o_room.seatlist[i].gameinfo.grade > maxgrade){
maxgrade = parseInt(o_room.seatlist[i].gameinfo.grade);
maxcount = 1;
} else if (o_room.seatlist[i].gameinfo.grade == maxgrade){
maxcount = maxcount + 1;
}
}
}
//大赢家实际抽成星星数
var maxwiner_pushbean = parseInt(maxwiner_setting / maxcount);
}
}
*/
//比赛数据
var match_data = {};
match_data.agent_id = agentid;
match_data.game_id = gameid;
match_data.game_infos = [];
var aryplayerid = "";
var arygrade = "";
var aryroomcard = "";
var aryisrobot = "";
var o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid);
var arywinner = "";
var winscore = -100000;
var aryscore = "";
//大赢家标志
var getResult1 = youle_room.import.getWinnerByGameInfo1(o_room,o_gameinfo1);
var getResult2 = youle_room.import.getScoreByGameInfo1(o_room,o_gameinfo1);
if(getResult1){
arywinner = getResult1.join(",");
}else{
if(o_gameinfo1.playerlist){
for(var k=0;k<o_gameinfo1.playerlist.length;k++){
if(o_gameinfo1.playerlist[k]){
if(Number(o_gameinfo1.playerlist[k][1]) > winscore){
winscore = Number(o_gameinfo1.playerlist[k][1]);
}
}
}
}
}
if(getResult2){
aryscore = getResult2.join(",");
}
//房间id = 时间戳 + 4位随机码 + 房号
var roomid = new Date().getTime() + min_randomChar(4) + o_room.roomcode;
var datatime = min_now();
for (var i = 0; i < o_room.seatlist.length; i++) {
if (o_room.seatlist[i]){
var o_player = o_room.seatlist[i];
if (o_gameinfo1.playerlist[i]) {
var o_agentsvr_player = o_agentsvr_agent.method.find_player(o_player.playerid);
if (aryplayerid){
aryplayerid = aryplayerid + "," + o_player.playerid;
if (o_player.isrobot){
aryisrobot = aryisrobot + ",1";
} else {
aryisrobot = aryisrobot + ",0";
}
if(!getResult1){
try{
if(o_gameinfo1.playerlist){
if(Number(o_gameinfo1.playerlist[i][1]) == winscore &&
Number(o_gameinfo1.playerlist[i][3]) == Number(o_player.playerid)){
arywinner = arywinner + "," + 1;
}else{
arywinner = arywinner + "," + 0;
}
}else{
arywinner = arywinner + "," + 0;
}
}catch(err){
console.log("战绩结算大赢家出错!");
console.log(o_gameinfo1);
console.log(err);
}
}
if(!getResult2){
try{
if(o_gameinfo1.playerlist){
if(Number(o_gameinfo1.playerlist[i][3]) == Number(o_player.playerid)){
aryscore = aryscore + "," + o_gameinfo1.playerlist[i][1];
}else{
aryscore = aryscore + "," + 0;
}
}else{
aryscore = aryscore + "," + 0;
}
}catch(err){
console.log("战绩结算分数出错!");
console.log(o_gameinfo1);
console.log(err);
}
}
if (gameid == "8x4l0rGjf026f60c48h0mbUAhK5vV16f"){
var recordflag = true;
// if (o_room.game.model == 4 || o_room.game.model == 5){
// recordflag = false;
// }
try{
if (NN_control){
if (NN_control.kanpaiqz){
recordflag = true;
}
}
}catch(e){}
if (o_player.isrobot){
recordflag = true;
}
if (recordflag){
arygrade = arygrade + "," + o_player.gameinfo.grade;
} else {
arygrade = arygrade + ",0";
}
} else {
arygrade = arygrade + "," + o_player.gameinfo.grade;
}
if (o_agentsvr_player) {
aryroomcard = aryroomcard + "," + o_agentsvr_player.roomcard;
} else {
aryroomcard = aryroomcard + ",-99999";
}
} else {
aryplayerid = o_player.playerid;
if (o_player.isrobot){
aryisrobot = "1";
} else {
aryisrobot = "0";
}
if(!getResult1){
try{
if(o_gameinfo1.playerlist){
if(Number(o_gameinfo1.playerlist[i][1]) == winscore &&
Number(o_gameinfo1.playerlist[i][3]) == Number(o_player.playerid)){
arywinner = "1";
}else{
arywinner = "0";
}
}else{
arywinner = "0";
}
}catch(err){
console.log("战绩结算大赢家出错!");
console.log(o_gameinfo1);
console.log(err);
}
}
if(!getResult2){
try{
if(o_gameinfo1.playerlist){
if(Number(o_gameinfo1.playerlist[i][3]) == Number(o_player.playerid)){
aryscore = o_gameinfo1.playerlist[i][1];
}else{
aryscore = "0" ;
}
}else{
aryscore = "0" ;
}
}catch(err){
console.log("战绩结算分数出错!");
console.log(o_gameinfo1);
console.log(err);
}
}
if (gameid == "8x4l0rGjf026f60c48h0mbUAhK5vV16f"){
var recordflag = true;
// if (o_room.game.model == 4 || o_room.game.model == 5){
// recordflag = false;
// }
try{
if (NN_control){
if (NN_control.kanpaiqz){
recordflag = true;
}
}
}catch(e){}
if (o_player.isrobot){
recordflag = true;
}
if (recordflag){
arygrade = o_player.gameinfo.grade;
} else {
arygrade = 0;
}
} else {
arygrade = o_player.gameinfo.grade;
}
if (o_agentsvr_player){
aryroomcard = o_agentsvr_player.roomcard;
} else {
aryroomcard = "-99999";
}
}
//统计牛牛的输赢总分
if (gameid == "8x4l0rGjf026f60c48h0mbUAhK5vV16f"){
var recordflag = true;
try{
if (NN_control){
if (NN_control.kanpaiqz){
recordflag = true;
}
}
}catch(e){}
if (recordflag){
if (o_room.roommode){
if (!o_agentsvr_player.nn_winlose_xx){
o_agentsvr_player.nn_winlose_xx = 0;
}
if (!o_room.beanmult){
o_agentsvr_player.nn_winlose_xx = o_agentsvr_player.nn_winlose_xx + o_player.gameinfo.grade;
} else {
o_agentsvr_player.nn_winlose_xx = o_agentsvr_player.nn_winlose_xx + parseInt(o_player.gameinfo.grade / o_room.beanmult);
}
if (!o_agentsvr_player.nn_winlose_x2){
o_agentsvr_player.nn_winlose_x2 = 0;
}
o_agentsvr_player.nn_winlose_x2 = o_agentsvr_player.nn_winlose_x2 + o_player.gameinfo.grade;
} else {
if (!o_agentsvr_player.nn_winlose){
o_agentsvr_player.nn_winlose = 0;
}
o_agentsvr_player.nn_winlose = o_agentsvr_player.nn_winlose + o_player.gameinfo.grade;
}
}
}
if (gameid){
var recordflag = true;
try{
if (NN_control){
if (NN_control.kanpaiqz){
recordflag = true;
}
}
}catch(e){}
if (recordflag){
if (o_room.roommode){
if (!o_agentsvr_player.nn_winlose_xx){
o_agentsvr_player.nn_winlose_xx = 0;
}
if (!o_room.beanmult){
o_agentsvr_player.nn_winlose_xx = o_agentsvr_player.nn_winlose_xx + o_player.gameinfo.grade;
} else {
o_agentsvr_player.nn_winlose_xx = o_agentsvr_player.nn_winlose_xx + parseInt(o_player.gameinfo.grade / o_room.beanmult);
}
if (!o_agentsvr_player.nn_winlose_x2){
o_agentsvr_player.nn_winlose_x2 = 0;
}
o_agentsvr_player.nn_winlose_x2 = o_agentsvr_player.nn_winlose_x2 + o_player.gameinfo.grade;
if (!o_room.beanmult){
updateGameWinLose(gameid,2,o_player.gameinfo.grade,o_agentsvr_player);
} else {
updateGameWinLose(gameid,2,parseInt(o_player.gameinfo.grade / o_room.beanmult),o_agentsvr_player);
}
updateGameWinLose(gameid,3,o_player.gameinfo.grade,o_agentsvr_player);
} else {
if (!o_agentsvr_player.nn_winlose){
o_agentsvr_player.nn_winlose = 0;
}
o_agentsvr_player.nn_winlose = o_agentsvr_player.nn_winlose + o_player.gameinfo.grade;
updateGameWinLose(gameid,1,o_player.gameinfo.grade,o_agentsvr_player);
}
}
}
/*
//如果是豆豆场则通知代理服务器修改豆豆数量
if (o_room.roommode){
//当前玩家被抽成的星星数
var _pushbean = 0;
//是否不提示茶水费抽成
var showrebate = 0;
if (maxwiner_setting){ //有房主抽成
if (o_player.playerid == o_room.owner.playerid) {
ownergarde = o_player.gameinfo.grade;
continue;
} else {
if (o_player.gameinfo.grade == maxgrade) {
_pushbean = maxwiner_pushbean;
ownerpush = ownerpush + maxwiner_pushbean;
}
}
} else {
if (o_room.advanced_type){
switch (o_agentsvr_agent.rebate_mode2){
case 1: //按比例抽成
rebatefrom = 2;
rebateto = 0;
toplayerid = "";
rebatemode = 1;
setvalue = o_agentsvr_agent.rebate_set2;
break;
case 2: //按固定值抽
rebatefrom = 2;
rebateto = 0;
toplayerid = "";
rebatemode = 3;
setvalue = o_agentsvr_agent.rebate_set2;
break;
default://不抽
rebatefrom = 0;
rebateto = 0;
toplayerid = "";
rebatemode = 0;
setvalue = 0;
break;
}
} else {
switch (o_agentsvr_agent.rebate_mode1){
case 1: //按比例抽成
rebatefrom = 2;
rebateto = 0;
toplayerid = "";
rebatemode = 1;
setvalue = o_agentsvr_agent.rebate_set1;
break;
case 2: //按固定值抽
rebatefrom = 2;
rebateto = 0;
toplayerid = "";
rebatemode = 3;
setvalue = o_agentsvr_agent.rebate_set1;
break;
default://不抽
rebatefrom = 0;
rebateto = 0;
toplayerid = "";
rebatemode = 0;
setvalue = 0;
break;
}
}
//所有赢家系统抽成处理
if (o_player.gameinfo.grade > 0) {
if (!o_room.advanced_type){ //普通星星场房间
switch (o_agentsvr_agent.rebate_mode1){
case 1: //按比例抽成
_pushbean = parseInt(o_player.gameinfo.grade * o_agentsvr_agent.rebate_set1 / 100);
break;
case 2: //按固定值抽
_pushbean = o_agentsvr_agent.rebate_set1;
break;
default:
break;
}
} else { //短号星星场房间
switch (o_agentsvr_agent.rebate_mode2){
case 1: //按比例抽成
_pushbean = parseInt(o_player.gameinfo.grade * o_agentsvr_agent.rebate_set2 / 100);
break;
case 2: //按固定值抽
_pushbean = o_agentsvr_agent.rebate_set2;
break;
default:
break;
}
}
if (_pushbean){
showrebate = 1;
}
}
}
if (!aset_rebate || !aset_rebate.finitude) {
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = o_player.playerid;
msg.data.change = o_player.gameinfo.grade;
msg.data.pushbean = -1 * _pushbean;
msg.data.gameid = gameid;
msg.data.showrebate = showrebate;
youle_room.app.youle_agent[msg.rpc](msg);
var roommode = 0; //玩家房间
if (o_room.sysroom) {
roommode = 1; //系统房间
}
var createtime = o_room.createtime;
var beanmult = 0;
if (o_room.beanmult){
beanmult = o_room.beanmult;
}
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var playerid = o_player.playerid;
var grade = o_player.gameinfo.grade;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, grade, rebatefrom, rebateto, toplayerid, rebatemode, setvalue, _pushbean, datatime]);
}
} else if (o_room.beanfloor) {
//当前玩家被抽成的星星数
var _pushbean = 0;
//是否不提示茶水费抽成
var showrebate = 0;
if (maxwiner_setting){ //有房主抽成
if (o_player.playerid == o_room.owner.playerid) {
ownergarde = 0;
//if (!aset_rebate || !aset_rebate.finitude) {
if (o_player.gameinfo.grade == maxgrade) {
_pushbean = maxwiner_pushbean;
var pushtoplayerid;
if (pushtoplayerid_setting){
if (!o_room.advanced_type){
//普通房间
pushtoplayerid = pushtoplayerid_setting[0];
} else {
//短号房间
pushtoplayerid = pushtoplayerid_setting[1];
}
}
if (pushtoplayerid && (pushtoplayerid != o_room.owner.playerid || pushto_setting)){
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = o_player.playerid;
msg.data.change = 0;
msg.data.pushbean = -1 * _pushbean;
msg.data.gameid = gameid;
msg.data.showrebate = showrebate;
youle_room.app.youle_agent[msg.rpc](msg);
if (!pushto_setting){
ownerpush = ownerpush + maxwiner_pushbean;
}
}
}
var roommode = 2;
var createtime = o_room.createtime;
var beanmult = 0;
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var playerid = o_player.playerid;
var grade = o_player.gameinfo.grade;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, grade, rebatefrom, rebateto, toplayerid, rebatemode, setvalue, _pushbean, datatime]);
//}
continue;
} else {
if (o_player.gameinfo.grade == maxgrade) {
_pushbean = maxwiner_pushbean;
ownerpush = ownerpush + maxwiner_pushbean;
}
}
//if (!aset_rebate || !aset_rebate.finitude) {
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = o_player.playerid;
msg.data.change = 0;
msg.data.pushbean = -1 * _pushbean;
msg.data.gameid = gameid;
msg.data.showrebate = showrebate;
youle_room.app.youle_agent[msg.rpc](msg);
var roommode = 2;
var createtime = o_room.createtime;
var beanmult = 0;
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var playerid = o_player.playerid;
var grade = o_player.gameinfo.grade;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, grade, rebatefrom, rebateto, toplayerid, rebatemode, setvalue, _pushbean, datatime]);
//}
}
}
*/
//比赛数据
var match_player = {};
match_player.player_id = o_player.playerid;
match_player.score = o_player.gameinfo.grade;
match_player.nickname = o_player.nickname;
match_player.avatar = o_player.avatar;
match_data.game_infos.push(match_player);
}
}
}
/*
//如果是星星场,房主获得抽成星星
if (o_room.beanfloor && maxwiner_setting){
if (!aset_rebate || !aset_rebate.finitude || !o_room.roommode) {
var pushtoplayerid;
if (pushtoplayerid_setting){
if (!o_room.advanced_type){
//普通房间
pushtoplayerid = pushtoplayerid_setting[0];
} else {
//短号房间
pushtoplayerid = pushtoplayerid_setting[1];
}
}
if (!pushtoplayerid || (pushtoplayerid == o_room.owner.playerid && !pushto_setting)){
if (ownergarde || ownerpush) {
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = o_room.owner.playerid;
msg.data.change = ownergarde;
msg.data.pushbean = ownerpush;
msg.data.gameid = gameid;
youle_room.app.youle_agent[msg.rpc](msg);
}
if (ownergarde){
var roommode = 0; //玩家房间
if (o_room.sysroom) {
roommode = 1; //系统房间
}
var createtime = o_room.createtime;
var beanmult = 0;
if (o_room.beanmult){
beanmult = o_room.beanmult;
}
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var grade = o_player.gameinfo.grade;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
var _ownerpushbean = 0;
if (ownergarde == maxgrade) {
_ownerpushbean = maxwiner_pushbean;
}
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, o_room.owner.playerid, 0, ownergarde, rebatefrom, rebateto, toplayerid, rebatemode, setvalue, _ownerpushbean, datatime]);
}
} else {
if (ownergarde){
var _ownerpushbean = 0;
if (ownergarde == maxgrade) {
_ownerpushbean = maxwiner_pushbean;
ownerpush = ownerpush + _ownerpushbean;
}
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = o_room.owner.playerid;
msg.data.change = ownergarde;
msg.data.pushbean = -1 * _ownerpushbean;
msg.data.gameid = gameid;
youle_room.app.youle_agent[msg.rpc](msg);
var roommode = 0; //玩家房间
if (o_room.sysroom) {
roommode = 1; //系统房间
}
var createtime = o_room.createtime;
var beanmult = 0;
if (o_room.beanmult){
beanmult = o_room.beanmult;
}
var ownerid = o_room.owner.playerid;
var shortcode = 0;
if (o_room.shortcode){
shortcode = o_room.shortcode;
}
var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var grade = o_player.gameinfo.grade;
var roomcard = 0;
if (playerid == o_room.owner.playerid){
roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = o_room.asetcount;
var _ownerpushbean = 0;
if (ownergarde == maxgrade) {
_ownerpushbean = maxwiner_pushbean;
}
var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, o_room.owner.playerid, 0, ownergarde, rebatefrom, rebateto, toplayerid, rebatemode, setvalue, _ownerpushbean, datatime]);
}
if (!pushto_setting){
if (ownerpush){
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.app.youle_agent.routename;
msg.rpc = "update_bean";
msg.data = {};
msg.data.agentid = agentid;
msg.data.playerid = pushtoplayerid;
msg.data.change = 0;
msg.data.pushbean = ownerpush;
msg.data.gameid = gameid;
youle_room.app.youle_agent[msg.rpc](msg);
}
}
}
}
}
*/
try{
xRebate.gameRebate(o_room);
}catch(e){
console.log("抽成异常");
console.log(e);
}
//保存战绩到数据库
var sql = "call cp_game_grade_save(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql.execsql("execsql", sql, [agentid, aryplayerid, gameid, roomcode, JSON.stringify(o_room.roomtype), createtime, makewartime, overtime, null, null, o_room.owner.playerid, arygrade, o_room.roommode, o_room.beanmult, o_room.shortcode, aryisrobot]);
var o_agentsvr_owner = o_agentsvr_agent.method.find_player(o_room.owner.playerid);
if (o_agentsvr_owner){
var ownerroomcard = o_agentsvr_owner.roomcard;
} else {
var ownerroomcard = -99999;
}
var shortcode = o_room.shortcode;
var deducttype = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype);
var deductcard;
if (deducttype == 0){
deductcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype);
} else {
deductcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype);
}
var asetcount = youle_room.import.createroom_asetcount(o_room.o_game, o_room.roomtype);
sql = "call cp_game_grade_save4(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
youle_room.mysql_grade.execsql("execsql", sql, [agentid, aryplayerid, gameid, roomcode, JSON.stringify(o_room.roomtype), createtime, makewartime, overtime, JSON.stringify(o_gameinfo1), JSON.stringify(o_gameinfo2), o_room.owner.playerid, arygrade, aryroomcard, ownerroomcard, shortcode, deducttype, deductcard, asetcount, o_room.roommode, aryisrobot,arywinner,aryscore]);
//发送比赛数据
var match_url = youle_room.app.youle_platform.config.method.get_paravalue("url_match2", agentid, gameid);
if (match_url){
if (o_room.match_data){
match_data.match_data = o_room.match_data;
}
var cfg = {};
cfg.url = match_url;
cfg.type = "POST";
cfg.data = "data=" + JSON.stringify(match_data);
cfg.success = function(str){};
cfg.error = function(str){
console.log(min_now() + " 发送比赛数据失败!");
console.log(match_data);
};
min_http(cfg);
}
//比赛&排行榜(何朝阳版)
if (o_room.match_id){
var ary_playergrade = [];
for (var i = 0; i < o_room.seatlist.length; i++) {
if (o_room.seatlist[i]){
if (o_room.seatlist[i].gameinfo.isbet) {
var obj_player = {};
obj_player.playerid = o_room.seatlist[i].playerid;
obj_player.nickname = o_room.seatlist[i].nickname;
obj_player.avatar = o_room.seatlist[i].avatar;
obj_player.roomcode = o_room.roomcode;
obj_player.overtime = overtime;
obj_player.grade = o_room.seatlist[i].gameinfo.grade;
if (o_room.seatlist[i].isrobot){
obj_player.isr = 1;
} else {
obj_player.isr = 0;
}
ary_playergrade.push(obj_player);
} else {
ary_playergrade.push(null);
}
} else {
ary_playergrade.push(null);
}
}
youle_room.export.match_ranklist(agentid, gameid, o_room.match_id, o_room.match_idx, ary_playergrade);
}
}
catch(e){
console.log(e);
}
}
//释放房间
if (freeroomflag){
//通知代理商服务器解散房间
var o_agent = o_room.o_game.o_agent;
var o_game = o_room.o_game;
var msg1 = {};
msg1.app = youle_room.app.appname;
msg1.route = youle_room.app.youle_agent.routename;
msg1.rpc = "free_room";
msg1.data = {};
msg1.data.agentid = o_agent.agentid;
msg1.data.gameid = o_game.gameid;
msg1.data.roomcode = o_room.roomcode;
//玩家列表
msg1.data.playeridlist = [];
for (var i = 0; i < o_room.seatlist.length; i++) {
if (o_room.seatlist[i]){
msg1.data.playeridlist.push(o_room.seatlist[i].playerid);
}
}
if (o_agent.server == o_game.roomserver){
//房间服务器与代理商服务器是同一地址
youle_room.app.youle_agent[msg1.rpc](msg1);
//释放房间
o_game.method.free_room(o_room);
} else {
//房间服务器与代理商服务器不是同一地址
var cfg = {};
cfg.url = "http://" + o_agent.server + ":" + o_agent.httpport + "/index.html";
cfg.type = "POST";
cfg.data = JSON.stringify(msg1);
cfg.success = function(str){
//通知前端房间内的所有人需要断开房间服务器,连接代理服务器
for (var i = 0; i < o_room.seatlist.length; i++) {
if (o_room.seatlist[i]) {
var msg2 = {};
msg2.app = youle_room.app.appname;
msg2.route = youle_room.routename;
msg2.rpc = "connect_agentserver";
msg2.data = {};
msg2.data.agentserver = o_agent.server + ":" + o_agent.tcpport;
msg2.data.data = {};
msg2.data.data.opt = "game_over";
msg2.data.data.playerid = o_room.seatlist[i].playerid;
msg2.data.data.agentid = agentid;
msg2.data.data.gameid = gameid;
msg2.conmode = o_room.seatlist[i].conmode;
msg2.fromid = o_room.seatlist[i].fromid;
//此处conmode = null是为了避免触发玩家离线通知其他玩家事件
o_room.seatlist[i].conmode = null;
o_room.seatlist[i].fromid = null;
youle_room.app.SendPack(msg2);
}
}
//释放房间
o_game.method.free_room(o_room);
};
cfg.error = function(str){};
min_http(cfg);
}
}
}
//把系统庄的输赢也算到机器人的输赢里面
exp.save_system_zhuang = function(o_room, winvalue){
var sql = "update agent_game_player set agpl_winlose_x2 = agpl_winlose_x2 + ? where agpl_agentid = ? and agpl_gameid = ?";
youle_room.mysql.execsql("execsql", sql, [winvalue, o_room.o_game.o_agent.agentid, o_room.o_game.gameid]);
}
//完成游戏里的任务
exp.finish_gametask = function(agentid, o_player, taskid, finishamount){
var db_callback = function(dbdata){
//通知前端
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.routename;
msg.rpc = "player_finish_task";
msg.conmode = o_player.conmode;
msg.fromid = o_player.fromid;
msg.data = {};
msg.data.taskid = taskid;
msg.data.total = dbdata[0].tasktotal;
msg.data.award = dbdata[0].taskaward;
msg.data.finish = dbdata[0].taskfinish;
msg.data.state = dbdata[0].taskstate;
youle_room.app.SendPack(msg);
}
if (!finishamount){
finishamount = 1;
}
var sql = "call cp_game_task_finish(?,?,?,?,1);";
youle_room.mysql.execsql("opensql", sql, [agentid, o_player.playerid, taskid, finishamount], db_callback);
}
//全服通告
exp.game_broadcast = function(agentid, gameid, msgtype, msgcontent){
var msg = {};
msg.data = {};
msg.data.agentid = agentid;
msg.data.gameid = gameid;
msg.data.msgtype = msgtype;
msg.data.msgcontent = msgcontent;
youle_room.broadcast(msg);
}
//小局结算备份牌桌数据
exp.backup_room = function(o_room, o_deskinfo){
cls_youle_room_backup.backup_room(o_room, o_deskinfo);
}
//踢玩家离开房间
exp.kickplayer_inroom = function(o_room, seat){
if (!o_room){
return 0;
}
if (!o_room.seatlist[seat]){
return 0;
}
var o_player = o_room.seatlist[seat];
var msg1 = {};
msg1.app = youle_room.app.appname;
msg1.route = youle_room.app.youle_agent.routename;
msg1.rpc = "self_exit_room";
msg1.data = {};
msg1.data.agentid = o_room.o_game.o_agent.agentid;
msg1.data.gameid = o_room.o_game.gameid;
msg1.data.playerid = o_player.playerid;
youle_room.app.youle_agent[msg1.rpc](msg1);
o_player.method.exit_room();
if (o_room.battlestate == 1){
youle_room.import.player_leave(o_room, seat);
}
var msg2 = {};
msg2.app = youle_room.app.appname;
msg2.route = youle_room.routename;
msg2.rpc = "other_exit_room";
msg2.data = {};
msg2.data.seat = seat;
o_room.method.sendpack_toother(msg2, seat);
var msg3 = {};
msg3.app = youle_room.app.appname;
msg3.route = youle_room.routename;
msg3.rpc = "self_exit_room";
msg3.data = {};
msg3.data.roomcode = o_room.roomcode;
if (o_room.owner.playerid == o_player.playerid){
msg3.data.isowner = 1;
} else {
msg3.data.isowner = 0;
}
msg3.conmode = o_player.conmode;
msg3.fromid = o_player.fromid;
youle_room.app.SendPack(msg3);
return 1;
}
//互换位置
exp.change_seat = function(o_room, seat1, seat2){
var o_player1 = o_room.seatlist[seat1];
var o_player2 = o_room.seatlist[seat2];
o_room.seatlist[seat1] = o_player2;
if (o_player2){
o_player2.gameinfo.seat = seat1;
}
o_room.seatlist[seat2] = o_player1;
if (o_player1){
o_player1.gameinfo.seat = seat2;
}
var msg = {};
msg.app = youle_room.app.appname;
msg.route = youle_room.routename;
msg.rpc = "change_seat";
msg.data = {};
msg.data.agentid = o_room.o_game.o_agent.agentid;
msg.data.gameid = o_room.o_game.gameid;
msg.data.roomcode = o_room.roomcode;
msg.data.seat1 = seat1;
msg.data.seat2 = seat2;
o_room.method.sendpack_toother(msg, -1);
}
//比赛&排行榜
exp.match_ranklist = function(agentid, gameid, matchid, matchidx, ary_playergrade){
var o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid);
var o_agentsvr_game = o_agentsvr_agent.method.find_game(gameid);
var match_idx = min_ary_indexof(o_agentsvr_game.matchlist.list, matchid, "id");
if (match_idx > -1){
var match_object = o_agentsvr_game.matchlist.list[match_idx];
if (match_object.idx == matchidx){
var ischange = false;
for (var i = 0; i < ary_playergrade.length; i++) {
if (ary_playergrade[i] == null){
continue;
}
if (match_object.ranklist.length >= parseInt(match_object.topcount)){
if (ary_playergrade[i].grade < match_object.ranklist[match_object.ranklist.length - 1].grade){
continue;
}
}
var idx_player = min_ary_indexof(match_object.ranklist, ary_playergrade[i].playerid, "playerid");
if (idx_player > -1){
if (ary_playergrade[i].grade <= match_object.ranklist[idx_player].grade){
continue;
} else {
match_object.ranklist.splice(idx_player, 1);
ischange = true;
}
}
var isfound = false;
for (var j = 0; j < match_object.ranklist.length; j++) {
if (ary_playergrade[i].grade > match_object.ranklist[j].grade){
match_object.ranklist.splice(j, 0, ary_playergrade[i]);
if (match_object.ranklist.length > parseInt(match_object.topcount)){
match_object.ranklist.length = parseInt(match_object.topcount);
}
ischange = true;
isfound = true;
break;
}
}
if (!isfound){
if (match_object.ranklist.length < parseInt(match_object.topcount)){
match_object.ranklist.push(ary_playergrade[i]);
ischange = true;
}
}
}
if (match_object.sysgrade){
match_object.method.start_add_sysgrade_timer();
}
if (ischange){
cls_youle_room_backup.backup_match(match_object);
}
}
}
}
//获取机器人总体输赢type 1星星场分数 1输赢星星数
exp.getRobotWinLose = function(o_room,type){
var rValue;
var o_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var o_game = o_agent.method.find_game(o_room.o_game.gameid);
switch(type){
case 2:
rValue = o_game.robot_xx;
break;
case 3:
rValue = o_game.robot_x2;
break;
default:
rValue = o_game.robot_x2;
break;
}
if(!rValue){rValue = 0;}
return rValue;
}
//获取玩家总体输赢type 1星星场分数 1输赢星星数
exp.getPlayerWinLoseBySeat = function(o_room,seat,type){
try{
var o_player1 = o_room.seatlist[seat];
}catch(e){
}
if(!o_player1){ return 0;}
var o_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
var o_player = o_agent.method.find_player(o_player1.playerid);
//读取输赢
var getGameWinLose = function(gameid,type,oPlayer){
var key;
switch(type){
case 1:
key = "game_winlose";
break;
case 2:
key = "game_winlose_xx";
break;
case 3:
key = "game_winlose_x2";
break;
default:
key = "game_winlose_xx";
break;
}
if(oPlayer.winLose){//判断是否有此属性
if(oPlayer.winLose[gameid]){
if(oPlayer.winLose[gameid][key]){
return oPlayer.winLose[gameid][key];
}else{
}
}else{
}
}else{
}
return 0;
}
return getGameWinLose(o_room.o_game.gameid,type,o_player);
}
//判断该玩家是否满足踢出条件 true 踢出玩家;(只处理vip房)
exp.checkKick = function(o_room,seat){
try{
var rValue = false;
var rCount = o_room.rebateNumber;
var oCount = 0;
var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
if(!o_agentsvr_agent){
return rValue;
}
if(!o_room.seatlist[seat]){
return rValue;
}
// var o_player = o_agentsvr_agent.method.find_player(o_room.seatlist[seat].playerid);
var o_player = o_room.seatlist[seat];
if(!o_player){
return rValue;
}
if(!o_room.owner){
return rValue;
}
// var o_owner = o_agentsvr_agent.method.find_player(owner.playerid);
var o_owner = o_room.owner;
if(!o_owner){
return rValue;
}
// var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid);
// var rebateFrom = rebateConfig.from;
// if(rebateConfig){
// }
if(o_room.o_game.gameid == "Btke0urRy0cvPd5CIvD5yfhYhKhdSdex"){
var brNumber = youle_room.app.youle_platform.config.method.get_paravalue("brNumber",o_room.o_game.o_agent.agentid);
if(brNumber){
brNumber = Number(brNumber);
oCount = brNumber;
}
}
//console.log(oCount,rCount,o_player,o_owner);
//vip房
if(o_room.advanced_type){
//抽金币
if(!o_room.rebateType){
if(o_player.playerid == o_owner.playerid){
if(o_player.bean < oCount + rCount){
rValue = true;
}
}else{
if(o_player.bean < rCount){
rValue = true;
}
}
}else{//抽魅力值
}
}
return rValue;
}catch(e){
console.log("exp.checkKick",e);
return false;
}
}
return exp;
}
}
//对内输出接口
youle_room.export = cls_youle_room_export.new();