////////////////////////////////////////////////////////////////// //////////////////////////游戏平台服务器////////////////////////// ////////////////////////////////////////////////////////////////// // //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", //112475,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,薄情少年葬空城 // "oLVKis_nxA6uXlHvUaFK-73WZZms", //111771,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,古月 // "oLVKiszvCtvX02MbiWYZju2ilb4s", //112289,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,么么哒 // "oLVKisx4CHjrLLNyaffo3kPmfejo", //113119,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,情售.! // "oLVKisy9uOS-VRWNEt1gaPrZuIhI", //114204,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,痛彻心扉 // "oLVKis-lZIxgdWSmMeBTCmB6IyD8", //113790,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,百合 // "oLVKis5ctLEyEYn3_2l0e0QGtM0A" //114522,00bA05haB0d9ZC0fwGD09Q2OA30insbQ,饿了又胖了 // ]; // 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); }