Files
youlegames/codes/games/server/youle/server_room/class.export.js
2026-02-04 23:47:45 +08:00

2085 lines
73 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
///////////////////////////////////////////////////
/////// 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();