Files
youlegames/codes/games/sales_service/youle/server_agent/mod.js
2026-02-04 23:47:45 +08:00

2228 lines
75 KiB
JavaScript
Raw 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.
//////////////////////////////////////////////////////////////////
//////////////////////////游戏平台服务器//////////////////////////
//////////////////////////////////////////////////////////////////
// //tcp连接
// min_loadJsFile("youle/server_agent/class.tcplist.js", function(){
// //运营商
// min_loadJsFile("youle/server_agent/class.agent.js", function(){
// //游戏
// min_loadJsFile("youle/server_agent/class.game.js", function(){
// //玩家
// min_loadJsFile("youle/server_agent/class.player.js", function(){
// //对内的输入接口类
// min_loadJsFile("youle/server_agent/class.import.js", function(){
// //对内的输出接口类
// min_loadJsFile("youle/server_agent/class.export.js", function(){
// });
// });
// });
// });
// });
// });
var youle_agent = youle_agent || cls_mod.new("youle_agent", "agent", youle_app);
//运营商列表
youle_agent.agents = null;
//tcp连接
youle_agent.tcps = null;
//mysql操作类
youle_agent.mysql = cls_mysql.new("http://ylyxdata.daoqi88.cn/mysql.php", youle_agent.app.SendPack);
youle_agent.mysql_grade = cls_mysql.new("http://ylyxdata.daoqi88.cn/mysql_grade.php", youle_agent.app.SendPack);
youle_agent.mysql_agent = cls_mysql.new("http://ylyxdata.daoqi88.cn/mysql_agent.php", youle_agent.app.SendPack);
//对内的输入接口类(需要的外部接口)
youle_agent.import = null;
//对内输出接口
youle_agent.export = null;
//比赛
youle_agent.matchs = [];
// var blacknamelist = [
// "oLVKis2bsKkiHY1435uNiBwJaz7w",
// "oLVKisy7GuH1C4emgrF8A2FVcumk", //11247500bA05haB0d9ZC0fwGD09Q2OA30insbQ薄情少年葬空城
// "oLVKis_nxA6uXlHvUaFK-73WZZms", //11177100bA05haB0d9ZC0fwGD09Q2OA30insbQ古月
// "oLVKiszvCtvX02MbiWYZju2ilb4s", //11228900bA05haB0d9ZC0fwGD09Q2OA30insbQ么么哒
// "oLVKisx4CHjrLLNyaffo3kPmfejo", //11311900bA05haB0d9ZC0fwGD09Q2OA30insbQ情售.!
// "oLVKisy9uOS-VRWNEt1gaPrZuIhI", //11420400bA05haB0d9ZC0fwGD09Q2OA30insbQ痛彻心扉
// "oLVKis-lZIxgdWSmMeBTCmB6IyD8", //11379000bA05haB0d9ZC0fwGD09Q2OA30insbQ百合
// "oLVKis5ctLEyEYn3_2l0e0QGtM0A" //11452200bA05haB0d9ZC0fwGD09Q2OA30insbQ饿了又胖了
// ];
// youle_agent.player_login = function(pack){
// if (cls_youle_room_backup && cls_youle_room_backup.isloading){
// return;
// }
// var agentid = pack.data.agentid;
// var channelid = pack.data.channelid;
// var marketid = pack.data.marketid;
// var gameid = pack.data.gameid;
// var openid = pack.data.openid;
// var unionid = pack.data.unionid;
// var nickname = pack.data.nickname;
// var avatar = pack.data.avatar;
// var sex = parseInt(pack.data.sex);
// var province = pack.data.province;
// var city = pack.data.city;
// var version = pack.data.version;
// var playerid = pack.data.playerid;
// if (!openid || openid == "(null)" || !unionid || unionid == "(null)"){
// return;
// }
// if (!nickname && !avatar){
// return;
// }
// //去除&符号
// nickname = min_replaceAll(nickname, "&", "");
// //去除'符号
// nickname = min_replaceAll(nickname, "'", "");
// //去除"符号
// nickname = min_replaceAll(nickname, '"', "");
// //去除前后空格
// nickname = min_trim(nickname);
// //去除emoji字符
// var nickname2 = unescape(escape(nickname).replace(/\%uD.{3}/g, ''));
// if ((nickname2 != nickname) && (!nickname2)){
// nickname2 = "表情符号";
// }
// var o_cfg = youle_agent.app.youle_platform.config;
// //验证版本号
// if (!version){
// version = 1;
// } else {
// version = parseInt(version);
// }
// var cfg_version = o_cfg.method.get_paravalue("game_version", agentid, gameid, channelid, marketid);
// if (version < cfg_version){
// pack.rpc = "kick_server";
// pack.data = {};
// pack.data.msg = "检查到新版本,请退出游戏,再重新启动游戏。";
// youle_agent.app.SendPack(pack);
// return;
// }
// if (min_ary_indexof(blacknamelist, unionid) > -1){
// pack.rpc = "kick_server";
// pack.data = {};
// pack.data.msg = "由于用户举报该游戏账号存在违规行为,已被封禁。";
// youle_agent.app.SendPack(pack);
// return;
// }
// //游戏大厅http请求返回的数据
// if (gameid == "G2hw0ubng0zcoI0r4mx3H2yr4GejidwO"){
// pack.data = {};
// pack.data.state = 0;
// pack.data.agentid = agentid;
// pack.data.channelid = channelid;
// pack.data.scrollmsg = o_cfg.method.get_paravalue("scrollmsg", agentid, gameid, channelid, marketid);
// pack.data.noticemsg = o_cfg.method.get_paravalue("noticemsg", agentid, gameid, channelid, marketid);
// pack.data.gameversion = o_cfg.method.get_paravalue("game_version", agentid, gameid, channelid, marketid);
// pack.data.hall_config = o_cfg.method.get_paravalue("hall_config", agentid, gameid, channelid, marketid);
// pack.data.game_config = o_cfg.method.get_paravalue("game_config", agentid, gameid, channelid, marketid);
// pack.data.gamelist = o_cfg.method.get_gamelist_gamehall(agentid, channelid, marketid);
// return pack;
// }
// var sql;
// var o_agent;
// var o_game;
// var o_player;
// //代理商
// var do_load_agent = function(){
// o_agent = youle_agent.agents.method.find_agent(agentid);
// if (o_agent){
// do_load_game();
// } else {
// var db_callback_agentinfo = function(dbdata){
// if (dbdata.length == 0){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "参数错误agentid:" + agentid;
// youle_agent.app.SendPack(pack);
// console.log("youle_agent player_login 参数错误agentid:" + agentid);
// return;
// }
// o_agent = youle_agent.agents.method.load_agent(
// dbdata[0].agen_agentid,
// dbdata[0].agen_name,
// dbdata[0].agen_server,
// parseInt(dbdata[0].agen_port_tcp),
// parseInt(dbdata[0].agen_port_http),
// parseInt(dbdata[0].agen_freeroom),
// dbdata[0].agen_managecode);
// do_load_game();
// }
// sql = "select * from agent where agen_agentid = ?";
// youle_agent.mysql.execsql("opensql", sql, [agentid], db_callback_agentinfo, pack);
// }
// }
// //游戏
// var do_load_game = function(){
// o_game = o_agent.method.find_game(gameid);
// if (o_game){
// do_load_player();
// } else {
// var db_callback_gameinfo = function(dbdata){
// if (dbdata.length == 0){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "参数错误gameid:" + gameid;
// console.log("youle_agent player_login 参数错误gameid:" + gameid);
// youle_agent.app.SendPack(pack);
// return;
// }
// if (!youle_agent.app[dbdata[0].game_modename]){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "参数错误gameid:" + gameid;
// console.log("youle_agent player_login 参数错误gameid:" + gameid);
// youle_agent.app.SendPack(pack);
// return;
// }
// o_game = o_agent.method.load_game(
// dbdata[0].game_gameid,
// dbdata[0].game_name,
// parseInt(dbdata[0].game_minroomcode),
// parseInt(dbdata[0].game_maxroomcode),
// parseInt(dbdata[0].game_seatcount),
// parseInt(dbdata[0].game_makewar),
// dbdata[0].game_modename);
// do_load_player();
// }
// sql = "select * from game where game_gameid = ?";
// youle_agent.mysql.execsql("opensql", sql, [gameid], db_callback_gameinfo, pack);
// }
// }
// //玩家
// var do_load_player = function(){
// if (playerid){
// playerid = parseInt(playerid);
// o_player = o_agent.method.find_player(playerid);
// }
// if (o_player){
// if (o_player.openid != openid || o_player.unionid != unionid){
// o_player = null;
// }
// }
// if (o_player){
// o_player.nickname = nickname2;
// o_player.avatar = avatar;
// o_player.sex = sex;
// do_return_login(0);
// } else {
// var db_callback_playerinfo = function(dbdata){
// o_player = o_agent.method.load_player(
// parseInt(dbdata[0].playerid),
// parseInt(dbdata[0].roomcard),
// parseInt(dbdata[0].bean),
// openid,
// unionid,
// nickname2,
// avatar,
// parseInt(sex),
// parseInt(dbdata[0].playertype),
// dbdata[0].invitecode);
// o_player.loginday = min_now();
// do_return_login(1);
// }
// sql = "call cp_game_player_login(?,?,?,?,?,?,?,?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, channelid, gameid, openid, unionid, nickname2, avatar, sex, province, city], db_callback_playerinfo, pack);
// }
// }
// //返回前端登录包
// var do_return_login = function(logindb){
// o_agent.playerlogin = 1;
// //玩家登录游戏
// o_player.method.login_game(o_game, pack.ip, pack.conmode, pack.fromid);
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// pack.data = {};
// pack.data.state = 0;
// pack.data.agentid = o_agent.agentid;
// pack.data.agentname = o_agent.agentname;
// pack.data.agentlogo = o_cfg.method.get_paravalue("logimage", agentid, gameid, channelid, marketid);
// pack.data.agentmode = o_cfg.method.get_paravalue("agentmode", agentid, gameid, channelid, marketid);
// if (!pack.data.agentmode){
// pack.data.agentmode = 1;
// }
// pack.data.channelid = channelid;
// pack.data.wechat_gzh = o_cfg.method.get_paravalue("WechatPublicNo_name", agentid, gameid, channelid, marketid);
// pack.data.wechat_ewm = o_cfg.method.get_paravalue("WechatPublicNo_ewm", agentid, gameid, channelid, marketid);
// pack.data.wechat_kfh = o_cfg.method.get_paravalue("service_wechat", agentid, gameid, channelid, marketid);
// pack.data.qq = o_cfg.method.get_paravalue("service_qq", agentid, gameid, channelid, marketid);
// pack.data.tel = o_cfg.method.get_paravalue("service_tel", agentid, gameid, channelid, marketid);
// pack.data.scrollmsg = o_cfg.method.get_paravalue("scrollmsg", agentid, gameid, channelid, marketid);
// pack.data.noticemsg = o_cfg.method.get_paravalue("noticemsg", agentid, gameid, channelid, marketid);
// pack.data.appdownload = o_cfg.method.get_paravalue("url_download", agentid, gameid, channelid, marketid);
// pack.data.topuphtml = o_cfg.method.get_paravalue("url_topup", agentid, gameid, channelid, marketid);
// pack.data.matchhtml = o_cfg.method.get_paravalue("url_match", agentid, gameid, channelid, marketid);
// pack.data.sharename = o_cfg.method.get_paravalue("sharename", agentid, gameid, channelid, marketid);
// pack.data.hall_config = o_cfg.method.get_paravalue("hall_config", agentid, gameid, channelid, marketid);
// pack.data.game_config = o_cfg.method.get_paravalue("game_config", agentid, gameid, channelid, marketid);
// pack.data.gameversion = cfg_version;
// pack.data.playerid = o_player.playerid;
// pack.data.roomcard = o_player.roomcard;
// pack.data.bean = o_player.bean;
// pack.data.score = 0;
// pack.data.invitecode = o_player.invitecode;
// pack.data.taskstate = 1;
// pack.data.ip = pack.ip;
// //检查玩家是否已经在房间内了
// if (!o_gameinfo.roomcode){
// //没在房间内
// youle_agent.app.SendPack(pack);
// } else {
// //在房间内则通知房间服务器有人断线重连了
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "player_login";
// msg.data = {};
// msg.data.playerid = o_player.playerid;
// msg.data.nickname = o_player.nickname;
// msg.data.avatar = o_player.avatar;
// msg.data.sex = o_player.sex;
// msg.data.playertype = o_player.playertype;
// msg.data.ip = o_gameinfo.ip;
// msg.data.conmode = o_gameinfo.conmode;
// msg.data.fromid = o_gameinfo.fromid;
// msg.data.agentid = o_agent.agentid;
// msg.data.gameid = o_game.gameid;
// msg.data.roomcode = o_gameinfo.roomcode;
// //获取房号对应的房间服务器地址
// var o_roomserver = o_game.method.get_roomserver(o_gameinfo.roomcode);
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// var roomserver_data = youle_agent.app.youle_room[msg.rpc](msg);
// try
// {
// //返回前端
// pack.data.gameid = roomserver_data.data.gameid;
// pack.data.roomcode = roomserver_data.data.roomcode;
// pack.data.roomtype = roomserver_data.data.roomtype;
// pack.data.asetcount = roomserver_data.data.asetcount;
// pack.data.makewar = roomserver_data.data.makewar;
// pack.data.roommode = roomserver_data.data.roommode;
// pack.data.beanlimit = roomserver_data.data.beanfloor;
// pack.data.isbattle = roomserver_data.data.isbattle;
// pack.data.seat = roomserver_data.data.seat;
// pack.data.isowner = roomserver_data.data.isowner;
// pack.data.isbet = roomserver_data.data.isbet;
// if (roomserver_data.data.match_data){
// pack.data.match = {};
// pack.data.match.roomcard = roomserver_data.data.match_roomcard;
// }
// pack.data.players = roomserver_data.data.players;
// pack.data.agreefree = roomserver_data.data.agreefree;
// pack.data.deskinfo = roomserver_data.data.deskinfo;
// for (var i = 0; i < pack.data.players.length; i++) {
// if (pack.data.players[i]){
// var _playerid = parseInt(pack.data.players[i].playerid);
// var _o_player = o_agent.method.find_player(_playerid);
// pack.data.players[i].bean = _o_player.bean;
// }
// }
// youle_agent.app.SendPack(pack);
// }
// catch(e)
// {
// console.log("youle_agent_player_login:"+agentid+","+channelid+","+marketid+","+gameid+","+openid+","+unionid+","+nickname);
// }
// } else {
// //房间服务器与代理商服务器不是同一地址
// var cfg = {};
// cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// cfg.type = "POST";
// cfg.data = JSON.stringify(msg);
// cfg.success = function(str){
// if (str){
// var roomserver_data = JSON.parse(str);
// //返回前端需要连接房间服务器
// var _info = pack.data;
// pack.rpc = "connect_roomserver";
// pack.data = {};
// pack.data.roomserver = o_roomserver.server + ":" + o_roomserver.tcpport;
// pack.data.data = {};
// pack.data.data.opt = "player_login";
// pack.data.data.playerid = db_playerid;
// pack.data.data.agentid = agentid;
// pack.data.data.gameid = gameid;
// pack.data.data.roomcode = o_gameinfo.roomcode;
// pack.data.data.roomtype = roomserver_data.data.roomtype;
// pack.data.data.seat = roomserver_data.data.seat;
// pack.data.data.info = _info;
// youle_agent.app.SendPack(pack);
// }
// };
// cfg.error = function(str){};
// min_http(cfg);
// }
// }
// if (!logindb){
// if (!o_player.loginday){
// o_player.loginday = "2016-12-12 12:12:12";
// }
// var ran = min_random(1, 20);
// var hourdiff = min_datediff(o_player.loginday, min_now(), "hour");
// if (hourdiff >= 24 + ran){
// var db_callback_playerinfo = function(dbdata){
// o_player = o_agent.method.load_player(
// parseInt(dbdata[0].playerid),
// parseInt(dbdata[0].roomcard),
// parseInt(dbdata[0].bean),
// openid,
// unionid,
// nickname2,
// avatar,
// parseInt(sex),
// parseInt(dbdata[0].playertype),
// dbdata[0].invitecode);
// o_player.loginday = min_now();
// }
// sql = "call cp_game_player_login(?,?,?,?,?,?,?,?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, channelid, gameid, openid, unionid, nickname2, avatar, sex, province, city], db_callback_playerinfo);
// }
// }
// }
// do_load_agent();
// }
// //玩家断线
// youle_agent.OnTcpDisConnected = function(str_tcpid){
// var o_tcp = youle_agent.tcps.method.find_tcp(str_tcpid);
// if (!o_tcp){
// return;
// }
// //找到了
// var _player = o_tcp.o_player;
// var _gameidx = o_tcp.gameidx;
// if (_player){
// if (_player.gameinfo[_gameidx]){
// if (_player.gameinfo[_gameidx].fromid == str_tcpid){
// if (_player.gameinfo[_gameidx].roomcode){
// _player.gameinfo[_gameidx].ip = null;
// _player.gameinfo[_gameidx].conmode = null;
// _player.gameinfo[_gameidx].fromid = null;
// } else {
// //如果不在房间内
// _player.gameinfo[_gameidx] = null;
// //判断是否要释放玩家
// var freeflag = true;
// for (var m = 0; m < _player.gameinfo.length; m++) {
// if (_player.gameinfo[m]){
// freeflag = false;
// break;
// }
// }
// if (freeflag){
// // _player.o_agent.players[_player.playerid - 100001] = null;
// _player.method.open_free_timer();
// }
// //统计在线玩家数
// var o_game = _player.o_agent.games[_gameidx];
// if (o_game){
// o_game.method.online_p_chang(-1);
// }
// }
// }
// }
// }
// //更新tcp连接列表
// youle_agent.tcps.method.delete_tcp(str_tcpid);
// // //遍历运营商
// // for (var i = 0; i < youle_agent.agents.list.length; i++){
// // var o_agent = youle_agent.agents.list[i];
// // //遍历玩家列表
// // for (var j = 0; j < o_agent.players.length; j++){
// // var o_player = o_agent.players[j];
// // if (o_player){
// // //遍历玩家登录的游戏列表
// // for (var k = 0; k < o_player.gameinfo.length; k++){
// // if (o_player.gameinfo[k]){
// // if (o_player.gameinfo[k].fromid == str_tcpid){
// // //找到了
// // if (!o_player.gameinfo[k].roomcode){
// // //如果不在房间内
// // o_player.gameinfo[k] = null;
// // //判断是否要释放玩家
// // var freeflag = true;
// // for (var m = 0; m < o_player.gameinfo.length; m++) {
// // if (o_player.gameinfo[m]){
// // freeflag = false;
// // break;
// // }
// // }
// // if (freeflag){
// // o_agent.players[j] = null;
// // }
// // } else {
// // o_player.gameinfo[k].ip = null;
// // o_player.gameinfo[k].conmode = null;
// // o_player.gameinfo[k].fromid = null;
// // }
// // return;
// // }
// // }
// // }
// // }
// // }
// // }
// }
// //玩家提交地理位置
// youle_agent.submit_location = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var country = pack.data.info.country;
// var province = pack.data.info.province;
// var city = pack.data.info.city;
// var cityCode = pack.data.info.cityCode;
// var district = pack.data.info.district;
// var street = pack.data.info.street;
// var address = pack.data.info.address;
// address = min_replaceAll(address, "&", "");
// var latitude = pack.data.info.latitude;
// var longitude = pack.data.info.longitude;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// o_player.address = address;
// o_player.latitude = latitude;
// o_player.longitude = longitude;
// var db_callback = function(dbdata) {
// if (dbdata.length == 1){
// var db_wechatgzh = dbdata[0].wechatgzh;
// var db_wechatewm = dbdata[0].wechatewm;
// var db_wechatkfh = dbdata[0].wechatkfh;
// var db_qq = dbdata[0].qq;
// var db_tel = dbdata[0].tel;
// var db_invitecode = dbdata[0].invitecode;
// pack.data = {};
// if (!db_wechatgzh){
// pack.data.wechat_gzh = db_wechatgzh;
// pack.data.wechat_ewm = db_wechatewm;
// }
// if (!db_wechatkfh){
// pack.data.wechat_kfh = db_wechatkfh;
// }
// if (!db_qq){
// pack.data.qq = db_qq;
// }
// if (!db_tel){
// pack.data.tel = db_tel;
// }
// if (!db_invitecode){
// pack.data.invitecode = db_invitecode;
// }
// youle_agent.app.SendPack(pack);
// }
// }
// var sql = "call cp_game_login_location(?,?,?,?,?,?,?,?,?,?,?);";
// youle_agent.mysql.execsql("execsql", sql, [agentid, playerid, country, province, city, cityCode, district, street, address, latitude, longitude], db_callback, pack);
// }
// //创建房间
// youle_agent.create_room = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// var roomtype = pack.data.roomtype;
// var infinite = 0;
// if (pack.data.infinite){
// infinite = parseInt(pack.data.infinite);
// }
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查玩家是否已经在房间内了
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo && o_gameinfo.roomcode) {
// return;
// };
// //检查tcp连接
// try{
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// }
// catch(e){
// return;
// }
// //检查服务器是否已关闭
// var config_close = youle_agent.app.youle_platform.config.method.get_paravalue("isclose", agentid, gameid);
// if (o_agent.isclose || config_close == 2){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "服务器已关闭,不能创建房间";
// pack.data.showerror = 1;
// youle_agent.app.SendPack(pack);
// return;
// }
// //获取开房所需的房卡数量
// var needroomcard = youle_agent.import.createroom_needroomcard(o_game, roomtype);
// //获取总局数
// var asetcount = youle_agent.import.createroom_asetcount(o_game, roomtype);
// //获取豆豆下限
// var beanfloor = youle_agent.import.createroom_beanfloor(o_game, roomtype);
// //获取房间类型
// var roommode = youle_agent.import.createroom_roommode(o_game, roomtype);
// //检查玩家房卡是否够用
// if (o_player.roomcard == 0 || o_player.roomcard < needroomcard){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "房卡数量不够";
// pack.data.showerror = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// //检查玩家豆豆是否够用
// if (beanfloor != null){
// if (o_player.bean < beanfloor){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "星星数量不够";
// pack.data.showerror = 1;
// youle_agent.app.SendPack(pack);
// return;
// }
// };
// //随机获取新的房号
// var roomcode = o_game.method.new_roomcode();
// if (!roomcode){
// return;
// }
// //获取房号对应的房间服务器地址
// var o_roomserver = o_game.method.get_roomserver(roomcode);
// //通知房间服务器创建房间
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "create_room";
// msg.data = {};
// msg.data.agent = {};
// msg.data.agent.agentid = agentid;
// msg.data.agent.name = o_agent.agentname;
// msg.data.agent.server = o_agent.server;
// msg.data.agent.tcpport = o_agent.tcpport;
// msg.data.agent.httpport = o_agent.httpport;
// msg.data.agent.freeroom = o_agent.freeroom;
// msg.data.game = {};
// msg.data.game.gameid = gameid;
// msg.data.game.name = o_game.gamename;
// msg.data.game.seatcount = o_game.seatcount;
// msg.data.game.makewar = o_game.makewar;
// msg.data.game.modename = o_game.modename;
// msg.data.game.server = o_roomserver.server;
// msg.data.game.tcpport = o_roomserver.tcpport;
// msg.data.game.httpport = o_roomserver.httpport;
// msg.data.game.minroomcode = o_roomserver.minroomcode;
// msg.data.game.maxroomcode = o_roomserver.maxroomcode;
// msg.data.player = {};
// msg.data.player.playerid = playerid;
// msg.data.player.nickname = o_player.nickname;
// msg.data.player.avatar = o_player.avatar;
// msg.data.player.sex = o_player.sex;
// msg.data.player.playertype = o_player.playertype;
// msg.data.player.ip = o_gameinfo.ip;
// msg.data.player.conmode = o_gameinfo.conmode;
// msg.data.player.fromid = o_gameinfo.fromid;
// msg.data.player.address = o_player.address;
// msg.data.player.latitude = o_player.latitude;
// msg.data.player.longitude = o_player.longitude;
// msg.data.room = {};
// msg.data.room.roomcode = roomcode;
// msg.data.room.roomtype = roomtype;
// msg.data.room.needroomcard = needroomcard;
// msg.data.room.asetcount = asetcount;
// msg.data.room.infinite = infinite;
// msg.data.room.roommode = roommode;
// msg.data.room.beanfloor = beanfloor;
// //加入房间成功
// o_gameinfo.roomcode = roomcode;
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// var roomserver_data = youle_agent.app.youle_room[msg.rpc](msg);
// //返回前端
// pack.data = roomserver_data.data;
// if (pack.data.state != 0){
// //房间服务器创建房间失败
// o_gameinfo.roomcode = null;
// }
// youle_agent.app.SendPack(pack);
// } else {
// //房间服务器与代理商服务器不是同一地址
// var cfg = {};
// cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// cfg.type = "POST";
// cfg.data = JSON.stringify(msg);
// cfg.success = function(str){
// if (str){
// var roomserver_data = JSON.parse(str);
// if (roomserver_data.data.state == 0){
// //创建房间成功
// o_gameinfo.roomcode = roomserver_data.data.roomcode;
// //返回前端需要连接房间服务器
// pack.rpc = "connect_roomserver";
// pack.data = {};
// pack.data.roomserver = o_roomserver.server + ":" + o_roomserver.tcpport;
// pack.data.data = {};
// pack.data.data.opt = "create_room";
// pack.data.data.playerid = playerid;
// pack.data.data.agentid = agentid;
// pack.data.data.gameid = gameid;
// pack.data.data.roomcode = roomserver_data.data.roomcode;
// pack.data.data.seat = roomserver_data.data.seat;
// pack.data.data.infinite = infinite;
// youle_agent.app.SendPack(pack);
// } else {
// //房间服务器创建房间失败
// o_gameinfo.roomcode = null;
// }
// }
// };
// cfg.error = function(str){
// //房间服务器创建房间失败
// o_gameinfo.roomcode = null;
// }
// min_http(cfg);
// }
// }
// //自己加入房间
// youle_agent.self_join_room = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// var roomcode = parseInt(pack.data.roomcode);
// var joinmode = pack.data.joinmode;
// if (!joinmode){
// joinmode = 0;
// } else {
// joinmode = 1;
// }
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查玩家是否已经在房间内了
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo && o_gameinfo.roomcode) {
// return;
// };
// //检查tcp连接
// try{
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// }
// catch(e){
// console.log(min_now() + "youle_agent.self_join_room o_gameinfo.fromid is null");
// console.log(o_game);
// console.log(o_player);
// console.log(o_gameinfo);
// console.log(pack);
// return;
// }
// //检查服务器是否已关闭
// var config_close = youle_agent.app.youle_platform.config.method.get_paravalue("isclose", agentid, gameid);
// if (o_agent.isclose || config_close == 2){
// pack.data = {};
// pack.data.state = 1;
// pack.data.error = "服务器已关闭,不能加入房间";
// pack.data.showerror = 1;
// youle_agent.app.SendPack(pack);
// return;
// }
// //获取房号对应的房间服务器地址
// var o_roomserver = o_game.method.get_roomserver(roomcode);
// //通知房间服务器有人要加入房间
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "self_join_room";
// msg.data = {};
// msg.data.playerid = playerid;
// msg.data.nickname = o_player.nickname;
// msg.data.avatar = o_player.avatar;
// msg.data.sex = o_player.sex;
// msg.data.playertype = o_player.playertype;
// msg.data.ip = o_gameinfo.ip;
// msg.data.conmode = o_gameinfo.conmode;
// msg.data.fromid = o_gameinfo.fromid;
// msg.data.agentid = agentid;
// msg.data.gameid = gameid;
// msg.data.roomcode = roomcode;
// msg.data.playerroomcard = o_player.roomcard;
// msg.data.playerbean = o_player.bean;
// msg.data.joinmode = joinmode;
// msg.data.address = o_player.address;
// msg.data.latitude = o_player.latitude;
// msg.data.longitude = o_player.longitude;
// //加入房间成功
// o_gameinfo.roomcode = roomcode;
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// var roomserver_data = youle_agent.app.youle_room[msg.rpc](msg);
// //返回前端
// pack.data = roomserver_data.data;
// if (pack.data.state != 0){
// //房间服务器加入房间失败
// o_gameinfo.roomcode = null;
// } else {
// for (var i = 0; i < pack.data.players.length; i++) {
// if (pack.data.players[i]){
// var _playerid = parseInt(pack.data.players[i].playerid);
// var _o_player = o_agent.method.find_player(_playerid);
// pack.data.players[i].bean = _o_player.bean;
// }
// }
// }
// youle_agent.app.SendPack(pack);
// } else {
// //房间服务器与代理商服务器不是同一地址
// var cfg = {};
// cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// cfg.type = "POST";
// cfg.data = JSON.stringify(msg);
// cfg.success = function(str){
// if (str){
// var roomserver_data = JSON.parse(str);
// pack.data = roomserver_data.data;
// if (pack.data.state == 0){
// //返回前端需要连接房间服务器
// pack.rpc = "connect_roomserver";
// pack.data = {};
// pack.data.roomserver = o_roomserver.server + ":" + o_roomserver.tcpport;
// pack.data.data = {};
// pack.data.data.opt = "self_join_room";
// pack.data.data.playerid = playerid;
// pack.data.data.agentid = agentid;
// pack.data.data.gameid = gameid;
// pack.data.data.roomcode = roomcode;
// pack.data.data.seat = roomserver_data.data.seat;
// pack.data.data.infinite = roomserver_data.data.infinite;
// pack.data.data.isowner = roomserver_data.data.isowner;
// } else {
// //房间服务器加入房间失败
// o_gameinfo.roomcode = null;
// }
// youle_agent.app.SendPack(pack);
// }
// };
// cfg.error = function(str){
// //房间服务器加入房间失败
// o_gameinfo.roomcode = null;
// };
// min_http(cfg);
// }
// }
// //获取战绩gameinfo1
// youle_agent.get_player_grade1 = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查tcp连接
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// var db_callback = function(dbdata){
// //返回前端结果
// pack.data = {};
// pack.data.gradeinfo = dbdata;
// //查询累积游戏局数
// var db_callback2 = function(dbdata2){
// if (dbdata2.length > 0){
// pack.data.asetcount = parseInt(dbdata2[0].agpl_playset);
// }
// youle_agent.app.SendPack(pack);
// }
// var sql2 = "select agpl_playset from agent_game_player where agpl_agentid = ? and agpl_gameid = ? and agpl_playerid = ?;";
// youle_agent.mysql.execsql("opensql", sql2, [agentid, gameid, playerid], db_callback2, pack);
// }
// var sql = "call cp_game_grade_get1(?,?,?);";
// youle_agent.mysql_grade.execsql("opensql", sql, [agentid, playerid, gameid], db_callback, pack);
// }
// //获取战绩gameinfo2
// youle_agent.get_player_grade2 = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// var idx = parseInt(pack.data.idx);
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查tcp连接
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// var db_callback = function(dbdata){
// //返回前端结果
// if (dbdata.length > 0){
// pack.data = {};
// pack.data.gameinfo2 = dbdata[0].gameinfo2;
// youle_agent.app.SendPack(pack);
// }
// }
// var sql = "call cp_game_grade_get2(?,?,?,?);";
// youle_agent.mysql_grade.execsql("opensql", sql, [agentid, playerid, gameid, idx], db_callback, pack);
// }
// //获取玩家的任务列表
// youle_agent.get_player_task = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查tcp连接
// try{
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// }
// catch(e){
// console.log(min_now + "youle_agent.get_player_task fromid is null");
// console.log(o_player);
// console.log(o_game);
// console.log(o_gameinfo);
// console.log(pack);
// }
// var db_callback = function(dbdata){
// pack.data = {};
// pack.data.tasks = dbdata;
// youle_agent.app.SendPack(pack);
// }
// var sql = "call cp_game_task_list(?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, gameid], db_callback, pack);
// }
// //玩家完成一次任务
// youle_agent.player_finish_task = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var taskid = pack.data.taskid;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// var db_callback = function(dbdata){
// pack.data = {};
// pack.data.taskid = taskid;
// pack.data.total = dbdata[0].tasktotal;
// pack.data.award = dbdata[0].taskaward;
// pack.data.finish = dbdata[0].taskfinish;
// pack.data.state = dbdata[0].taskstate;
// youle_agent.app.SendPack(pack);
// }
// var sql = "call cp_game_task_finish(?,?,?,1,1);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, taskid], db_callback, pack);
// }
// //玩家领取任务奖励
// youle_agent.get_task_award = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var taskid = pack.data.taskid;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// var db_callback = function(dbdata){
// //返回前端
// if (dbdata[0].result == 0){
// pack.data = {};
// pack.data.taskid = taskid;
// pack.data.taskstate = parseInt(dbdata[0].playertaskstate);
// youle_agent.app.SendPack(pack);
// //修改玩家房卡数量
// o_player.method.update_roomcard(3, parseInt(dbdata[0].roomcard), parseInt(dbdata[0].taskaward));
// }
// }
// var sql = "call cp_game_task_award(?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, taskid], db_callback, pack);
// }
// //提交反馈意见
// youle_agent.submit_opinion = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// var content = pack.data.content;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //检查玩家是否存在
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //检查tcp连接
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo.fromid != pack.fromid){
// return;
// };
// var db_callback = function(dbdata){
// pack.data = {};
// pack.data.state = 0;
// youle_agent.app.SendPack(pack);
// }
// var sql = "insert into player_opinion(plop_agentid, plop_playerid, plop_gameid, plop_content, plop_time) values(?,?,?,?,now());";
// youle_agent.mysql.execsql("execsql", sql, [agentid, playerid, gameid, content], db_callback, pack);
// }
// //玩家断开与房间服务器的连接,与代理商服务器建立连接
// youle_agent.connect_agentserver = function(pack){
// var playerid = parseInt(pack.data.data.playerid);
// var agentid = pack.data.data.agentid;
// var gameid = pack.data.data.gameid;
// var opt = pack.data.data.opt;
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找游戏
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// //更新ip、onstate、conmode、fromid
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// o_gameinfo.ip = pack.ip;
// o_gameinfo.conmode = pack.conmode;
// o_gameinfo.fromid = pack.fromid;
// //更新tcp连接列表
// if (pack.conmode == "tcp"){
// youle_agent.tcps.method.load_tcp(pack.fromid, o_player, o_game.idx);
// }
// switch (opt){
// case "self_break_room":
// pack.rpc = "self_break_room";
// delete pack.data;
// youle_agent.app.SendPack(pack);
// break;
// case "other_break_room":
// pack.rpc = "other_break_room";
// delete pack.data;
// youle_agent.app.SendPack(pack);
// break;
// case "self_exit_room":
// pack.rpc = "self_exit_room";
// delete pack.data;
// youle_agent.app.SendPack(pack);
// break;
// case "free_room":
// pack.rpc = "free_room";
// pack.data = pack.data.data.info;
// pack.data.roomcard = o_player.roomcard;
// youle_agent.app.SendPack(pack);
// break;
// case "game_over":
// pack.rpc = "game_over";
// delete pack.data;
// youle_agent.app.SendPack(pack);
// break;
// case "player_login":
// pack.rpc = "player_login";
// pack.data = pack.data.data.info;
// youle_agent.app.SendPack(pack);
// break;
// }
// }
// //未开局之前自己(房主)解散房间
// youle_agent.self_break_room = function(pack){
// var agentid = pack.data.agentid;
// var gameid = pack.data.gameid;
// var roomcode = pack.data.roomcode;
// var playeridlist = pack.data.playeridlist;
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找游戏
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //查找玩家
// for (var i = 0; i < playeridlist.length; i++) {
// var o_player = o_agent.method.find_player(playeridlist[i]);
// if (o_player) {
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo){
// o_gameinfo.roomcode = null;
// }
// }
// }
// //释放房号
// o_game.method.free_roomcode(roomcode);
// return pack;
// }
// //未开局之前自己(非房主)退出房间
// youle_agent.self_exit_room = function(pack){
// var agentid = pack.data.agentid;
// var gameid = pack.data.gameid;
// var playerid = pack.data.playerid;
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找游戏
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// return;
// };
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo){
// o_gameinfo.roomcode = null;
// }
// return pack;
// }
// //开局之后达成解散房间
// youle_agent.free_room = function(pack){
// youle_agent.self_break_room(pack);
// return pack;
// }
// //第一局结算时扣除房主的房卡
// youle_agent.deduct_roomcard = function(pack){
// var agentid = pack.data.agentid;
// var playerid = pack.data.playerid;
// var gameid = pack.data.gameid;
// var needroomcard = parseInt(pack.data.needroomcard);
// var issameserver = parseInt(pack.data.issameserver);
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// var db_callback = function(dbdata){
// if (issameserver){
// //修改玩家房卡数量
// o_player.method.update_roomcard(0, parseInt(dbdata[0].roomcard), needroomcard);
// return pack;
// } else {
// youle_agent.app.SendPack(pack);
// o_player.method.update_roomcard(0, parseInt(dbdata[0].roomcard), needroomcard);
// }
// }
// var sql = "call cp_game_deduct_roomcard(?,?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, needroomcard, gameid], db_callback);
// }
// //游戏中修改豆豆数量
// youle_agent.update_bean = function(pack){
// var agentid = pack.data.agentid;
// var playerid = pack.data.playerid;
// var gameid = pack.data.gameid;
// var change = parseInt(pack.data.change); //游戏输赢
// var pushbean = parseInt(pack.data.pushbean); //房主抽成
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// }
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// }
// var db_callback = function(dbdata){
// //修改玩家豆豆数量
// o_player.method.update_bean(0, parseInt(dbdata[0].bean), change, pushbean);
// return pack;
// }
// var sql = "call cp_game_update_bean(?,?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, change + pushbean, gameid], db_callback);
// }
// //游戏中获取购买列表
// youle_agent.get_paylist = function(pack){
// var db_callback = function(dbdata){
// pack.data = {};
// pack.data.paylist = dbdata;
// youle_agent.app.SendPack(pack);
// }
// var agentid = pack.data.agentid;
// var sql = " select gapr_productid as productid, gapr_payid as payid, " +
// " gapr_name as productname, gapr_amount as amount, " +
// " gapr_money as money, gapr_memo as memo " +
// " from game_product " +
// " where gapr_agentid = ? and gapr_state = 0 " +
// " order by idx;";
// youle_agent.mysql.execsql("opensql", sql, [agentid], db_callback);
// }
// //游戏中购买成功
// youle_agent.pay_succ = function(pack){
// var agentid = pack.data.agentid;
// var playerid = pack.data.playerid;
// var channelid = pack.data.channelid;
// var productid = pack.data.productid;
// var payid = pack.data.payid;
// var amount = parseInt(pack.data.amount);
// var money = parseInt(pack.data.money);
// var paytype = parseInt(pack.data.paytype);
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// // //查找玩家
// // var o_player = o_agent.method.find_player(playerid);
// // if (!o_player) {
// // return;
// // };
// var db_callback = function(dbdata){
// if (dbdata[0].result != 0){
// console.log(min_now() + " 订单生成失败result=" + dbdata[0].result + "; error=" + dbdata[0].error);
// console.log(pack);
// var msg = {};
// msg.app = pack.app;
// msg.route = pack.route;
// msg.rpc = pack.rpc;
// msg.conmode = pack.conmode;
// msg.fromid = pack.fromid;
// msg.data = {};
// msg.data.state = dbdata[0].result;
// msg.data.error = "订单生成失败:" + dbdata[0].error;
// youle_agent.app.SendPack(msg);
// return;
// }
// //通知游戏玩家充值成功了
// // o_player.method.update_roomcard(1, dbdata[0].roomcard, dbdata[0].amount);
// }
// //生成订单号
// var billcode = "AP" + playerid + new Date().getTime() + min_random(1000, 9999);;
// //订单时间
// var billtime = min_now();
// var sql = "call cp_game_pay_succ(?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, channelid, playerid, billcode, productid, payid, amount, money, billtime, money, billtime, paytype, null, null], db_callback, pack);
// //////http请求直接放回成功结果此处有问题只为临时配合苹果app store审核用
// pack.rpc = "update_roomcard";
// pack.data = {};
// pack.data.roomcard = amount;
// pack.data.text = "购买房卡:" + amount;
// return pack;
// }
// //错误日志
// youle_agent.submit_error = function(pack){
// var agentid = pack.data.agentid;
// var playerid = pack.data.playerid;
// var gameid = pack.data.gameid;
// var msg = pack.data.msg;
// var packet = pack.data.packet;
// if (typeof(msg) == "object"){
// msg = JSON.stringify(msg);
// }
// if (typeof(packet) == "object"){
// packet = JSON.stringify(packet);
// }
// var sql = "insert into error(erro_agentid,erro_playerid,erro_gameid,erro_msg,erro_packet,erro_time) values(?,?,?,?,?,now());";
// youle_room.mysql_grade.execsql("execsql", sql, [agentid, playerid, gameid, msg, packet]);
// pack.data.result = "ok";
// return pack;
// }
// //关闭服务器
// youle_agent.close_agentserver = function(pack){
// var agentid = pack.data.agentid;
// var managecode = pack.data.managecode;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// if (o_agent.managecode != managecode){
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// o_agent.isclose = 1;
// pack.data = {};
// pack.data.state = 0;
// pack.data.msg = "close server success";
// youle_agent.app.SendPack(pack);
// }
// //启动服务器
// youle_agent.open_agentserver = function(pack){
// var agentid = pack.data.agentid;
// var managecode = pack.data.managecode;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// if (o_agent.managecode != managecode){
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// o_agent.isclose = 0;
// pack.data = {};
// pack.data.state = 0;
// pack.data.msg = "open server success";
// youle_agent.app.SendPack(pack);
// }
// //广播即时消息
// youle_agent.broadcast = function(pack){
// var agentid = pack.data.agentid;
// var managecode = pack.data.managecode;
// var msgcontent = pack.data.msgcontent;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// if (o_agent.managecode != managecode){
// pack.data = {};
// pack.data.state = 1;
// youle_agent.app.SendPack(pack);
// return;
// };
// //返回结果
// pack.data = {};
// pack.data.state = 0;
// pack.data.msg = "broadcast success";
// youle_agent.app.SendPack(pack);
// //对所有在房间内的玩家广播
// //遍历游戏列表
// for (var i = 0; i < o_agent.games.length; i++){
// var o_game = o_agent.games[i];
// if (!o_game){
// continue;
// }
// //遍历房间服务器
// for (var j = 0; j < o_game.servers.length; j++){
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "broadcast";
// msg.data = {};
// msg.data.agentid = agentid;
// msg.data.gameid = o_game.gameid;
// msg.data.msgcontent = msgcontent;
// var o_roomserver = o_game.servers[j];
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// youle_agent.app.youle_room[msg.rpc](msg);
// } else {
// //房间服务器与代理商服务器不是同一地址
// var cfg = {};
// cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// cfg.type = "POST";
// cfg.data = JSON.stringify(msg);
// cfg.success = function(str){};
// cfg.error = function(str){};
// min_http(cfg);
// }
// }
// }
// //对所有在游戏大厅的玩家广播
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.routename;
// msg.rpc = "broadcast";
// msg.data = {};
// msg.data.msgcontent = msgcontent;
// //遍历玩家列表
// for (var i = 0; i < o_agent.players.length; i++){
// var o_player = o_agent.players[i];
// if (!o_player){
// continue;
// }
// for (var j = 0; j < o_player.gameinfo.length; j++){
// var o_gameinfo = o_player.gameinfo[j];
// if (!o_gameinfo){
// continue;
// }
// if (!o_gameinfo.roomcode){
// //没在房间里
// if (o_gameinfo.conmode == "tcp" && o_gameinfo.fromid){
// msg.conmode = o_gameinfo.conmode;
// msg.fromid = o_gameinfo.fromid;
// youle_agent.app.SendPack(msg);
// }
// }
// }
// }
// }
// //绑定邀请码
// youle_agent.binding_invitecode = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var invitecode = parseInt(pack.data.invitecode);
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// var db_callback = function(dbdata){
// pack.data.state = dbdata[0].result;
// pack.data.error = dbdata[0].error;
// youle_agent.app.SendPack(pack);
// }
// var sql = "call cp_game_binding_invitecode(?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, invitecode], db_callback, pack);
// }
// //获取已经绑定的邀请码
// youle_agent.get_player_invitecode = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var openid = pack.data.openid;
// var unionid = pack.data.unionid;
// //查找代理商
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// return;
// };
// //查找玩家
// var o_player = o_agent.method.find_player(playerid);
// if (!o_player) {
// return;
// };
// if (o_player.openid != openid || o_player.unionid != unionid){
// return;
// };
// if (o_player.invitecode){
// pack.data.invitecode = o_player.invitecode;
// return pack;
// } else {
// var db_callback = function(dbdata){
// o_player.invitecode = dbdata[0].invitecode;
// pack.data.invitecode = dbdata[0].invitecode;
// youle_agent.app.SendPack(pack);
// }
// var sql = "call cp_game_get_player_invitecode(?,?,?);";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, unionid], db_callback, pack);
// }
// }
// //进入比赛房间
// youle_agent.match_enter_room = function(pack){
// var agentid = pack.data.agentid;
// var playerid = parseInt(pack.data.playerid);
// var gameid = pack.data.gameid;
// var roomtype = pack.data.roomtype;
// var match_id = pack.data.match_id;
// var match_aset = parseInt(pack.data.match_aset);
// var match_makewar = parseInt(pack.data.match_makewar);
// var match_roomcard = parseInt(pack.data.match_roomcard);
// var match_data = pack.data.match_data;
// //检查代理商id是否存在
// var o_agent = youle_agent.agents.method.find_agent(agentid);
// if (!o_agent) {
// pack.data.state = 1;
// pack.data.error = "agentid不存在";
// return pack;
// };
// //检查游戏id是否存在
// var o_game = o_agent.method.find_game(gameid);
// if (!o_game) {
// pack.data.state = 2;
// pack.data.error = "gameid不存在";
// return pack;
// };
// //检查玩家是否存在
// // var o_player = o_agent.method.find_player(playerid);
// // if (!o_player) {
// // pack.data.state = 3;
// // pack.data.error = "playerid不存在";
// // return pack;
// // };
// var db_callback = function(dbdata) {
// var db_roomcard = parseInt(dbdata[0].play_roomcard);
// var db_openid = dbdata[0].play_openid;
// var db_unionid = dbdata[0].play_unionid;
// var db_nickname = dbdata[0].play_nickname;
// var db_avatar = dbdata[0].play_avatar;
// var db_sex = dbdata[0].play_sex;
// var db_bean = parseInt(dbdata[0].play_bean);
// var db_playertype = parseInt(dbdata[0].play_type);
// var o_player = o_agent.method.load_player(playerid, db_roomcard, db_openid, db_unionid, db_nickname, db_avatar, db_sex, db_playertype);
// o_player.bean = db_bean;
// //玩家登录游戏
// o_player.method.login_game(o_game, '', '', '');
// //检查玩家是否已经在房间内了
// var o_gameinfo = o_player.method.get_gameinfo(o_game);
// if (o_gameinfo && o_gameinfo.roomcode) {
// pack.data.state = 4;
// pack.data.error = "玩家已经在房间内";
// youle_agent.app.SendPack(pack);
// return;
// };
// //检查服务器是否已关闭
// var config_close = youle_agent.app.youle_platform.config.method.get_paravalue("isclose", agentid, gameid);
// if (o_agent.isclose || config_close == 2){
// pack.data.state = 5;
// pack.data.error = "服务器已关闭";
// youle_agent.app.SendPack(pack);
// return;
// };
// //检查玩家房卡是否够用
// if (o_player.roomcard < match_roomcard){
// pack.data.state = 6;
// pack.data.error = "房卡数量不够";
// youle_agent.app.SendPack(pack);
// return;
// };
// var match_idx = min_ary_indexof(youle_agent.matchs, match_id, "id");
// var match_obj;
// var match_roomcode;
// if (match_idx > -1){
// match_obj = youle_agent.matchs[match_idx];
// match_roomcode = match_obj.roomcode;
// //获取房号对应的房间服务器地址
// var o_roomserver = o_game.method.get_roomserver(match_roomcode);
// //通知房间服务器有人要加入房间
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "self_join_room";
// msg.data = {};
// msg.data.playerid = playerid;
// msg.data.nickname = o_player.nickname;
// msg.data.avatar = o_player.avatar;
// msg.data.sex = o_player.sex;
// msg.data.playertype = o_player.playertype;
// msg.data.ip = o_gameinfo.ip;
// msg.data.conmode = o_gameinfo.conmode;
// msg.data.fromid = o_gameinfo.fromid;
// msg.data.agentid = agentid;
// msg.data.gameid = gameid;
// msg.data.roomcode = match_roomcode;
// msg.data.playerroomcard = o_player.roomcard;
// msg.data.match_roomcard = match_roomcard;
// //加入房间成功
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// var roomserver_data = youle_agent.app.youle_room[msg.rpc](msg);
// //返回数据
// if (roomserver_data.data.state == 0){
// //加入房间成功
// o_gameinfo.roomcode = match_roomcode;
// pack.data.state = 0;
// pack.data.gamedata = {};
// pack.data.gamedata.app = youle_agent.appname;
// pack.data.gamedata.route = youle_agent.routename;
// pack.data.gamedata.rpc = 'self_join_room';
// pack.data.gamedata.data = roomserver_data.data;
// pack.data.gamedata.data.match = {};
// pack.data.gamedata.data.match.roomcard = match_roomcard;
// youle_agent.app.SendPack(pack);
// return;
// }
// } else {
// //该rpc是web网页通过http请求的所以这里异步通知房间服务器将没有意义不会返回数据给web网页
// pack.data.state = 9;
// pack.data.error = "分配房间失败:服务器异常";
// return pack;
// // //房间服务器与代理商服务器不是同一地址
// // var cfg = {};
// // cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// // cfg.type = "POST";
// // cfg.data = JSON.stringify(msg);
// // cfg.success = function(str){
// // if (str){
// // var roomserver_data = JSON.parse(str);
// // pack.data = roomserver_data.data;
// // if (pack.data.state == 0){
// // //返回前端需要连接房间服务器
// // pack.rpc = "connect_roomserver";
// // pack.data = {};
// // pack.data.roomserver = o_roomserver.server + ":" + o_roomserver.tcpport;
// // pack.data.data = {};
// // pack.data.data.opt = "self_join_room";
// // pack.data.data.playerid = playerid;
// // pack.data.data.agentid = agentid;
// // pack.data.data.gameid = gameid;
// // pack.data.data.roomcode = roomcode;
// // pack.data.data.seat = roomserver_data.data.seat;
// // } else {
// // //房间服务器加入房间失败
// // o_gameinfo.roomcode = null;
// // }
// // youle_agent.app.SendPack(pack);
// // }
// // };
// // cfg.error = function(str){
// // //房间服务器加入房间失败
// // o_gameinfo.roomcode = null;
// // };
// // min_http(cfg);
// }
// }
// //随机获取新的房号
// var roomcode = o_game.method.new_roomcode();
// if (!roomcode){
// pack.data.state = 7;
// pack.data.error = "没有房号可分配";
// youle_agent.app.SendPack(pack);
// return;
// }
// //获取房号对应的房间服务器地址
// var o_roomserver = o_game.method.get_roomserver(roomcode);
// //通知房间服务器创建房间
// var msg = {};
// msg.app = youle_agent.app.appname;
// msg.route = youle_agent.app.youle_room.routename;
// msg.rpc = "create_room";
// msg.data = {};
// msg.data.agent = {};
// msg.data.agent.agentid = agentid;
// msg.data.agent.name = o_agent.agentname;
// msg.data.agent.server = o_agent.server;
// msg.data.agent.tcpport = o_agent.tcpport;
// msg.data.agent.httpport = o_agent.httpport;
// msg.data.agent.freeroom = o_agent.freeroom;
// msg.data.game = {};
// msg.data.game.gameid = gameid;
// msg.data.game.name = o_game.gamename;
// msg.data.game.seatcount = o_game.seatcount;
// msg.data.game.makewar = o_game.makewar;
// msg.data.game.modename = o_game.modename;
// msg.data.game.server = o_roomserver.server;
// msg.data.game.tcpport = o_roomserver.tcpport;
// msg.data.game.httpport = o_roomserver.httpport;
// msg.data.game.minroomcode = o_roomserver.minroomcode;
// msg.data.game.maxroomcode = o_roomserver.maxroomcode;
// msg.data.player = {};
// msg.data.player.playerid = playerid;
// msg.data.player.nickname = o_player.nickname;
// msg.data.player.avatar = o_player.avatar;
// msg.data.player.sex = o_player.sex;
// msg.data.player.playertype = o_player.playertype;
// msg.data.player.ip = o_gameinfo.ip;
// msg.data.player.conmode = o_gameinfo.conmode;
// msg.data.player.fromid = o_gameinfo.fromid;
// msg.data.room = {};
// msg.data.room.roomcode = roomcode;
// msg.data.room.roomtype = roomtype;
// msg.data.room.needroomcard = match_roomcard;
// msg.data.room.asetcount = match_aset;
// msg.data.room.match_makewar= match_makewar;
// msg.data.room.match_data = match_data;
// if (o_roomserver.server == o_agent.server){
// //房间服务器与代理商服务器是同一地址
// var roomserver_data = youle_agent.app.youle_room[msg.rpc](msg);
// //返回数据
// if (roomserver_data.data.state == 0){
// //加入房间成功
// o_gameinfo.roomcode = roomcode;
// //记录比赛的房间号
// if (match_obj){
// match_obj.roomcode = roomcode;
// } else {
// match_obj = {};
// match_obj.id = match_id;
// match_obj.roomcode = roomcode;
// youle_agent.matchs.push(match_obj);
// }
// pack.data.state = 0;
// pack.data.gamedata = {};
// pack.data.gamedata.app = youle_agent.appname;
// pack.data.gamedata.route = youle_agent.routename;
// pack.data.gamedata.rpc = 'create_room';
// pack.data.gamedata.data = roomserver_data.data;
// pack.data.gamedata.data.match = {};
// pack.data.gamedata.data.match.roomcard = match_roomcard;
// youle_agent.app.SendPack(pack);
// return;
// } else {
// pack.data.state = 8;
// pack.data.error = "分配房间失败";
// youle_agent.app.SendPack(pack);
// return;
// }
// } else {
// //该rpc是web网页通过http请求的所以这里异步通知房间服务器将没有意义不会返回数据给web网页
// pack.data.state = 9;
// pack.data.error = "分配房间失败:服务器异常";
// youle_agent.app.SendPack(pack);
// return;
// // //房间服务器与代理商服务器不是同一地址
// // var cfg = {};
// // cfg.url = "http://" + o_roomserver.server + ":" + o_roomserver.httpport + "/index.html";
// // cfg.type = "POST";
// // cfg.data = JSON.stringify(msg);
// // cfg.success = function(str){
// // if (str){
// // var roomserver_data = JSON.parse(str);
// // if (roomserver_data.data.state == 0){
// // //创建房间成功
// // o_gameinfo.roomcode = roomserver_data.data.roomcode;
// // //返回前端需要连接房间服务器
// // pack.rpc = "connect_roomserver";
// // pack.data = {};
// // pack.data.roomserver = o_roomserver.server + ":" + o_roomserver.tcpport;
// // pack.data.data = {};
// // pack.data.data.opt = "create_room";
// // pack.data.data.playerid = playerid;
// // pack.data.data.agentid = agentid;
// // pack.data.data.gameid = gameid;
// // pack.data.data.roomcode = roomserver_data.data.roomcode;
// // pack.data.data.seat = roomserver_data.data.seat;
// // youle_agent.app.SendPack(pack);
// // } else {
// // //房间服务器创建房间失败
// // o_gameinfo.roomcode = null;
// // }
// // }
// // };
// // cfg.error = function(str){
// // //房间服务器创建房间失败
// // o_gameinfo.roomcode = null;
// // }
// // min_http(cfg);
// }
// }
// var sql = "select * from player where play_agentid = ? and play_playerid = ?;";
// youle_agent.mysql.execsql("opensql", sql, [agentid, playerid], db_callback, pack);
// }
// youle_agent.beanroom_surrender = function(pack){
// return youle_agent.self_break_room(pack);
// }
// //代理后台2.0接口-房卡星星充值
// // youle_agent.player_topup2 = function(pack){
// // var agentid = pack.data.agentid;
// // var playerid = parseInt(pack.data.playerid);
// // var topup_type = parseInt(pack.data.topup_type);
// // var topup_card = pack.data.topup_card;
// // var topup_bean = pack.data.topup_bean;
// // if (topup_card){
// // topup_card = parseInt(topup_card);
// // } else {
// // topup_card = null;
// // }
// // if (topup_bean){
// // topup_bean = parseInt(topup_bean);
// // } else {
// // topup_bean = null;
// // }
// // var db_callback = function(dbdata){
// // if (dbdata[0].result != 0){
// // pack.data = {};
// // pack.data.state = dbdata[0].result;
// // pack.data.error = dbdata[0].error;
// // youle_sales.app.SendPack(pack);
// // } else {
// // pack.data = {};
// // pack.data.state = 0;
// // pack.data.agentid = agentid;
// // pack.data.playerid = playerid;
// // pack.data.topup_type = topup_type;
// // if (topup_card){
// // pack.data.topup_card = topup_card;
// // pack.data.new_card = parseInt(dbdata[0].play_roomcard);
// // youle_agent.export.buy_topup(agentid, playerid, topup_type, pack.data.new_card, topup_card);
// // }
// // if (topup_bean){
// // pack.data.topup_bean = topup_bean;
// // pack.data.new_bean = parseInt(dbdata[0].play_bean);
// // youle_agent.export.buy_topup_bean(agentid, playerid, topup_type, pack.data.new_bean, topup_bean);
// // }
// // youle_sales.app.SendPack(pack);
// // }
// // }
// // var sql = "call cp_sales2_player_topup(?,?,?,?)";
// // youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, topup_card, topup_bean], db_callback, pack);
// // }
// //代理后台2.0接口
// youle_agent.readdata_timer = min_ontime(
// function(){
// var update_gamedb_roomcard = function(agentid, playerid, changeroomcard, changebean, opttype, optid){
// var db_callback_game1 = function(dbdata){
// if (dbdata[0].result == 0){
// switch(parseInt(opttype)){
// case 1: //购买房卡
// youle_agent.export.buy_topup(agentid, playerid, 1, parseInt(dbdata[0].play_roomcard), changeroomcard);
// console.log(min_now() + "玩家购卡");
// break;
// case 2: //代理转卡
// youle_agent.export.buy_topup(agentid, playerid, 2, parseInt(dbdata[0].play_roomcard), changeroomcard);
// console.log(min_now() + "代理充卡");
// break;
// case 3: //索要房卡
// youle_agent.export.buy_topup(agentid, playerid, 2, parseInt(dbdata[0].play_roomcard), changeroomcard);
// console.log(min_now() + "玩家索卡");
// break;
// case 11: //购买星星
// youle_agent.export.buy_topup_bean(agentid, playerid, 1, parseInt(dbdata[0].play_bean), changebean);
// console.log(min_now() + "玩家购买星星");
// break;
// case 12: //代理转星星
// youle_agent.export.buy_topup_bean(agentid, playerid, 2, parseInt(dbdata[0].play_bean), changebean);
// console.log(min_now() + "代理充值星星");
// break;
// case 13: //索要星星
// youle_agent.export.buy_topup_bean(agentid, playerid, 2, parseInt(dbdata[0].play_bean), changebean);
// console.log(min_now() + "玩家索要星星");
// break;
// }
// var log = {};
// log.id = optid;
// log.type = opttype;
// log.agentid = agentid;
// log.playerid = playerid;
// log.changeroomcard = changeroomcard;
// log.changebean = changebean;
// log.newroomcard = dbdata[0].play_roomcard;
// log.newbean = dbdata[0].play_bean;
// console.log(log);
// var sql_agent = "update ct_user_process_log set is_process = 1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid],
// function(){
// console.log(min_now() + "修改状态成功 optid:" + optid + ", is_process:1");
// });
// } else {
// console.log(min_now() + "操作失败");
// var log = {};
// log.id = optid;
// log.type = opttype;
// log.agentid = agentid;
// log.playerid = playerid;
// log.changeroomcard = changeroomcard;
// log.changebean = changebean;
// console.log(log);
// console.log(dbdata);
// var sql_agent = "update ct_user_process_log set is_process = -1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid],
// function(){
// console.log(min_now() + "修改状态成功 optid:" + optid + ", is_process:-1");
// });
// }
// }
// var sql_game = "call cp_sales2_player_topup(?,?,?,?)";
// youle_agent.mysql.execsql("opensql", sql_game, [agentid, playerid, changeroomcard, changebean], db_callback_game1);
// }
// var update_gamedb_bindinginvitecode = function(agentid, unionid, invitecode, optid){
// var db_callback_game2 = function(dbdata){
// if (dbdata[0].result == 0){
// var sql_agent = "update ct_user_process_log set is_process = 1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid]);
// } else {
// var sql_agent = "update ct_user_process_log set is_process = -1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid]);
// }
// }
// var sql_game = "call cp_sales2_player_bindinginvitecode(?,?,?)";
// youle_agent.mysql.execsql("opensql", sql_game, [agentid, unionid, invitecode], db_callback_game2);
// }
// var update_gamedb_newsalesman = function(agentid, channelid, salesid, salesinfo, optid){
// var db_callback_game3 = function(dbdata){
// if (dbdata[0].result == 0){
// var sql_agent = "update ct_user_process_log set is_process = 1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid]);
// } else {
// var sql_agent = "update ct_user_process_log set is_process = -1 where id = ?";
// youle_agent.mysql_agent.execsql("execsql", sql_agent, [optid]);
// }
// }
// var o_salesinfo = JSON.parse(salesinfo);
// var sql_game = "call cp_sales2_new_salesman(?,?,?,?,?,?,?,?,?,?)";
// youle_agent.mysql.execsql("opensql", sql_game, [agentid, channelid, o_salesinfo.openid, o_salesinfo.unionid, o_salesinfo.nickname, o_salesinfo.avatar, o_salesinfo.sex, o_salesinfo.province, o_salesinfo.city, salesid], db_callback_game3);
// }
// var db_callback_agent = function(dbdata){
// // console.log(min_now() + "读取成功");
// // console.log(dbdata);
// for (var i = 0; i < dbdata.length; i++){
// try{
// var o_agent = youle_agent.agents.method.find_agent(dbdata[i].to_agent);
// if (!o_agent){
// continue;
// }
// if (!o_agent.playerlogin){
// continue;
// }
// switch(parseInt(dbdata[i].oper_type)){
// case 1: //购买房卡
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, dbdata[i].oper_data, null, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 2: //代理转卡
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, dbdata[i].oper_data, null, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 3: //索要房卡
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, dbdata[i].oper_data, null, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 11: //购买星星
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, null, dbdata[i].oper_data, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 12: //代理转星星
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, null, dbdata[i].oper_data, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 13: //索要星星
// update_gamedb_roomcard(dbdata[i].to_agent, dbdata[i].to_user, null, dbdata[i].oper_data, dbdata[i].oper_type, dbdata[i].id);
// break;
// case 21: //新注册的代理
// update_gamedb_newsalesman(dbdata[i].to_agent, dbdata[i].to_channel, dbdata[i].to_user, dbdata[i].oper_data, dbdata[i].id);
// break;
// case 101: //绑定代理
// update_gamedb_bindinginvitecode(dbdata[i].to_agent, dbdata[i].oper_data, dbdata[i].from_user, dbdata[i].id);
// break;
// }
// }
// catch(e){
// }
// }
// }
// var sql_agent = "select * from ct_user_process_log where is_process = 0 order by id";
// youle_agent.mysql_agent.execsql("opensql", sql_agent, [], db_callback_agent);
// },
// 1000*20);
youle_agent.query_player2 = function(pack){
var agentid = pack.data.agentid;
var playerid = parseInt(pack.data.playerid);
var db_callback = function(dbdata){
pack.data = {};
if (dbdata.length != 0){
pack.data.agentid = dbdata[0].play_agentid;
pack.data.playerid = dbdata[0].play_playerid;
pack.data.nickname = dbdata[0].play_nickname;
pack.data.avatar = dbdata[0].play_avatar;
pack.data.sex = dbdata[0].play_sex;
pack.data.roomcard = dbdata[0].play_roomcard;
pack.data.bean = dbdata[0].play_bean;
}
youle_agent.app.SendPack(pack);
}
var sql = "select * from player where play_agentid = ? and play_playerid = ?";
youle_agent.mysql.execsql("opensql", sql, [agentid, playerid], db_callback, pack);
}
youle_agent.query_player3 = function(pack){
var agentid = pack.data.agentid;
var unionid = pack.data.unionid;
var db_callback = function(dbdata){
pack.data = {};
if (dbdata.length != 0){
pack.data.agentid = dbdata[0].play_agentid;
pack.data.playerid = dbdata[0].play_playerid;
pack.data.roomcard = dbdata[0].play_roomcard;
pack.data.bean = dbdata[0].play_bean;
}
youle_agent.app.SendPack(pack);
}
var sql = "select * from player where play_agentid = ? and play_unionid = ?";
youle_agent.mysql.execsql("opensql", sql, [agentid, unionid], db_callback, pack);
}
youle_agent.query_player4 = function(pack){
var agentid = pack.data.agentid;
var playerid = parseInt(pack.data.playerid);
var shortcode = parseInt(pack.data.shortcode);
var db_callback = function(dbdata){
if (dbdata.length == 0){
youle_agent.app.SendPack(pack);
return;
}
var whitelist = dbdata[0].play_whitelist;
if (!whitelist){
youle_agent.app.SendPack(pack);
return;
}
whitelist = JSON.parse(whitelist);
var idx = -1;
idx = min_ary_indexof(whitelist, playerid, "playerid");
if (idx != -1){
pack.data.memo = 0;
youle_agent.app.SendPack(pack);
return;
}
idx = min_ary_indexof(whitelist, playerid);
if (idx != -1){
pack.data.memo = 0;
youle_agent.app.SendPack(pack);
return;
}
for (var i = 0; i < whitelist.length; i++) {
if (whitelist[i][0] == playerid){
if (whitelist[i][2]){
pack.data.memo = whitelist[i][2];
} else {
pack.data.memo = 0;
}
youle_agent.app.SendPack(pack);
return;
}
}
youle_agent.app.SendPack(pack);
}
var sql = "select * from player where play_agentid = ? and play_shortcode = ?";
youle_agent.mysql.execsql("opensql", sql, [agentid, shortcode], db_callback, pack);
}