/*****************黄欢****************/ /** * ———————— *游戏自定义接口 * ———————— * */ var RoomConfig = { roomcode: 100000, roomtype: [], room_name_type: {}, turns: 0, people: 2, } /*房间号,局数,游戏玩法,人数*/ function RoomInit(roomtype) { RoomConfig.roomcode = Desk.roomcode || 100000; if (Desk.roomtype && Desk.roomtype.length > 0) { RoomConfig.roomtype = Desk.roomtype; } else if (roomtype && roomtype.length > 0) { RoomConfig.roomtype = roomtype; } else { RoomConfig.roomtype = []; } (function (roomtype) { RoomConfig.turns = roomtype[1] * 8 || 0; var peoples = [4, 4, 3, 2] RoomConfig.people = (peoples[roomtype[6]]) || 4; RoomConfig.room_name_type.jushu = roomtype[1];//局数 RoomConfig.room_name_type.buy_horse = roomtype[2];//买马 RoomConfig.room_name_type.limit = roomtype[3];//精分 RoomConfig.room_name_type.horse = roomtype[5];//几匹马 RoomConfig.room_name_type.top_limit = roomtype[6];//封顶 人数 RoomConfig.room_name_type.host2 = roomtype[7];//庄家翻倍 RoomConfig.room_name_type.base_score = roomtype[8];//底分 RoomConfig.room_name_type.piao = roomtype[9];//底分 RoomConfig.room_name_type.jia = roomtype[10];//底分 RoomConfig.room_name_type.start_hu = roomtype[11];//底分 RoomConfig.room_name_type.start_hu_arr = roomtype[12];//底分 RoomConfig.room_name_type.star = roomtype[13];//底分 RoomConfig.room_name_type.qiangganghu = roomtype[15];//底分 })(RoomConfig.roomtype); } //房间接口 var RoomFunc = {}; //房间变量池 var RoomPool = {}; //可能会执行很多次 //点击,永远可用 RoomFunc.c_click = function (spid_up, upx, upy, downx, downy, spid_down) { if (spid_up == 1403) { d.click_ready(1403); set_group(208,37,0,0,0); set_group(300,37,0,0,0); } if (spid_up == 2998) { d.show_xiao_settle(1); d.show_timeready(1); } if (spid_up != 2999 && get_self(1247, 37)) {//听牌显示 set_group(237, 37, 0, 0, 0); } if (spid_up == 2233) {//托管 RoomFunc.tuoguan(); } if (spid_up == 2996 && d.huanpai2.length == 3) {//换三张 d.huanpai3(1); } if (spid_up == 2994) {//取消换三张 d.huanpai3(2); } if (d.replay == 0 && (spid_up == 2231 || spid_up == 2232)) {//取消托管 d.OverTime = 0; d.jishi_chu = 0; set_group(221, 37, 0, 0, 0); set_self(2233, 43, 1, 0, 0); if(d.user_ctrl[2] == C_Player.seat && d.replay==0) { set_self (2895,37,1,0,0); set_self (2896,37,1,0,0); set_self (2897,37,1,0,0); } d.show_my13card(); d.show_14card(); } if (spid_up == 2509) {//小局2 d.horse_time = 0; d.compare_jing_time3 = 0; if (get_self(1598, 37) == 1) { d.a.show_history3_1(); } else { d.show_xiao1_settle(1); } } if (spid_up == 2510) {//小局2 set_group(260, 37, 0, 0, 0); } if (spid_up == 2656) {//精牌详情 d.horse_time = 0; d.compare_jing_time3 = 0; set_self(2656, 37, 0); d.show_xiao2_settle(1); set_group(214, 41, 0, 0, 0); set_self(2657, 41, 1); set_self(2787, 41, 1); //if (get_self(1598,37) == 1) { //d.a.show_history3_2(); //}else { //d.show_xiao2_settle(1); //} } if (spid_up == 2787 || spid_up == 2657) {//关闭精牌详情 set_self(2656, 37, 1); set_group(214, 37, 0, 0, 0); } if (spid_up == 233) {//结算 d.compare_jing_time3 = 0; } if (spid_up == 700) {//关闭胡杠详情 var persons = [4, 4, 3, 2]; var person = persons[Desk.roomtype[6]] || 4; for (var i = 0; i < person; i++) { set_self(717 + i, 37, 1); } set_group(214, 37, 0, 0, 0); } if (spid_up == 2895 && d.replay==0) { d.click_btn(0); } if (spid_up == 2896 && d.replay==0) { // d.click_btn(1); RoomFunc.click_tip(); } if (spid_up == 2897 && d.replay==0) { d.click_btn(2); } //console.log("roomfunc 点击,永远可用"); } RoomFunc.click_tip = function(){ if(d.getEnumCard.flag){ // var tip = d.getEnumCard.value[d.getEnumCard.getIndex()]; var tip = d.getTip(); if (tip.length>0) { for (var i = 0; i < 60; i++) { if (get_self(817 + i, 19, 0, 0, 0) < 500) { set_self(817 + i, 19, 500, 0, 0); } } for (var i = 0; i < tip.length; i++) { var index = d.hand[C_Player.seat][0].indexOf(tip[i]); set_self(817 + index, 19, 480, 0, 0); } d.pai = d.c(tip); d.show_btn(); }else{ d.click_btn(1); } } } //点击,游戏开始之后可用 RoomFunc.g_click = function (spid_up, upx, upy, downx, downy, spid_down) { //console.log("roomfunc 点击,游戏开始之后可用"); } //开战,是否发牌 RoomFunc.make_war = function (_msg) { console.log("roomfunc RoomConfig一进去就开战"); return true; } //重连重绘之前,游戏开始后收到包就执行 RoomFunc.running_before = function (_msg) { console.log("roomfunc RoomConfig重连重绘之前,游戏开始后收到包就执行"); } //重连重绘 RoomFunc.re_connect = function () { console.log("roomfunc RoomConfig重连重绘") } //重连重绘之后,游戏开始后收到包就执行 RoomFunc.running_after = function (_msg) { console.log("roomfunc RoomConfig重连重绘之后,游戏开始后收到包就执行") } //点击牌的判断 RoomFunc.clickpai_before = function (spid, a) { if (d.replay != 0) { return false; } if (d.isEnd()) { return false; } if (get_self(spid, 21) < 120) { return false; } //if (d.ting_record[C_Player.seat] == 0) { //return true; //} else if (d.ting_record[C_Player.seat] == 1) { //var pos = d.Ting_Tip.indexOf(get_self(spid, 43)); //if (pos != -1) { //return true; //} //} else if (d.ting_record[C_Player.seat] == 3) { //if (d.user_ctrl[3] == get_self(spid, 43) && spid >= 817 + d.hand[C_Player.seat][0].length) { //return true; //} //} return false; } //点击操作按钮,显示出操作图案之后 RoomFunc.operate_before = function (spid, num) {//num=7是自摸,8是放炮 ,9?10? if (num == 8) { //return; } if (num == 20) { num = 12; } if (!AM.is_play(spid)) { AM.remove(spid, false) var dh_bz = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听, //var a=1; AM.add(spid).bfunc(function () { set_self(spid, 1, dh_bz[num], 0, 0); set_self(spid, 37, 1, 0, 0); set_self(spid, 33, 200, 0, 0); set_self(spid, 43, 1, 0, 0); }).zoom(300, 8).zoom(150, 3).wait(5, function () { //set_self(spid,37,0,0,0); //AM.cls_id(spid); }).start(); } var dh_bz2 = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听, if (!AM.is_play(spid + 61)) { AM.add(spid + 61).wait(3, function () { set_self(spid + 61, 1, dh_bz2[num], 0, 0); set_self(spid + 61, 18, get_self(spid, 18) - 90, 0, 0); set_self(spid + 61, 19, get_self(spid, 19) - 90, 0, 0); set_self(spid + 61, 37, 1, 0, 0); set_self(spid + 61, 43, 2, 0, 0); set_self(spid + 61, 35, 255, 0, 0); set_self(spid + 61, 33, 0, 0, 0); }).alpha(200, 8).zoom(200, 8).wait(10, function () { //set_self(spid+61,43,4,0,0); set_self(spid + 61, 37, 0, 0, 0); set_self(spid, 37, 0, 0, 0); AM.cls_id(spid); AM.cls_id(spid + 61); }).start(); } if ((d.last_operate[0] == 2 || d.last_operate[0] == 4) && !d.isEnd()) { //加杠动画 明杠动画 if (!AM.is_play(2394)) { AM.add(2394).bfunc(function () { set_self(2394, 37, 1, 0, 0); set_self(2394, 43, 2, 0, 0); }).wait(3, function () { set_self(2394, 43, 3, 0, 0); }).wait(3, function () { set_self(2394, 43, 4, 0, 0); }).wait(3, function () { set_self(2394, 43, 5, 0, 0); }).wait(3, function () { set_self(2394, 43, 6, 0, 0); }).wait(3, function () { set_self(2394, 43, 2, 0, 0); }).wait(3, function () { set_self(2394, 43, 3, 0, 0); }).wait(3, function () { set_self(2394, 43, 4, 0, 0); }).wait(3, function () { set_self(2394, 43, 5, 0, 0); }).wait(3, function () { set_self(2394, 43, 6, 0, 0); }).wait(3, function () { }).func(function () { set_self(2394, 37, 0, 0, 0); set_self(2394, 43, 2, 0, 0); AM.cls_id(2394); }).start(); } } } //点击操作按钮 RoomFunc.operate_click = function (spid_up) { if (get_self(1965, 37) == 1) { return false; } else { return true; } } //战局开始,牌显示之前 RoomFunc.showcard_before = function () { set_self(2874, 43, 60, 0, 0); //一般执行14次 return true; } //战局开始,牌显示之后 RoomFunc.showcard_after = function () { //执行一次 console.log("roomfunc RoomConfig战局开始,牌显示之后"); if (RoomFunc.hua()) { d.hualen3 = [d.hua_hua[0].length, d.hua_hua[1].length, d.hua_hua[2].length, d.hua_hua[3].length]; d.hualen = d.hua_hua[0].length + d.hua_hua[1].length + d.hua_hua[2].length + d.hua_hua[3].length; if (d.hualen > 0) { set_self(346, 57, 1000, 0, 0); } } d.playerid = []; var persons = [4, 4, 3, 2]; var person = persons[Desk.roomtype[6]] || 4; for (var i = 0; i < person; i++) { d.playerid.push(Desk.PlayerList[i].playerid); //d.grade_j.push[d.grade[i]]; } } //自己有摸牌,且是自己的控制權 RoomFunc.mopai_before = function (first_card, seat) { //最新的牌 console.log("roomfunc RoomConfig自己有摸牌,且是自己的控制權", first_card, seat); } //自己沒摸牌,且是自己的控制權 RoomFunc.nomopai_before = function (seat) { console.log("roomfunc RoomConfig自己沒摸牌", seat); } //要不要顯示战绩,服务器判断要不要买马动画 RoomFunc.zhanji_before = function () { console.log("roomfunc RoomConfig要不要顯示战绩"); if (RoomFunc.compare_jing() && d.compare_jing_time3 == 0) { if (get_self(2377, 37) == 0) { set_self(2377, 37, 1); } d.compare_jing_time3 = 1; } else if (RoomFunc.buyhorse() && d.horse_time == 0) { d.horse_time = 1; } else { return true; } return false; } //一小局的结束,显示了牌之后,还没有显示动画 RoomFunc.turn_over = function () { for (var i = 936; i <= 954; i++) { set_self(i, 1, 503, 0, 0); } } //游戲中战绩显示,在其他数据全部显示之后 RoomFunc.game_show_settle = function (turn, identity, names, avatar, playerids, hand, turn_point, buyHorse, winHorse, Horse_vic_def, final_hu, settlePoint, hu_note_gang, roomtype, many_hu, start_hu, piao, sea_hua, peng_chi_num, hu_note_gang_jing, putJing, jing, jing_reduce) { } //大厅战绩显示,在其他数据全部显示之后,与上面的 RoomFunc.game_out_show_settle = function (js, js1) { } //绘制接口 RoomFunc.draw = function (spid) { } //超时自动出牌 RoomFunc.Overtime_chupai = function () { var Overtime_chupai = Desk.roomtype[18]; if (Overtime_chupai == 2) {//快版 return true; } return false; } //托管 RoomFunc.tuoguan = function (mode) { mode = mode || 0; if (get_self(2233, 43) == 1 && mode == 0) { set_self(2233, 43, 2, 0, 0) d.show_tuoguan(); } else if (mode == 0 || mode == 1) { set_self(2233, 43, 1, 0, 0) d.OverTime = 0; set_group(221, 37, 0, 0, 0); if(d.user_ctrl[2] == C_Player.seat) { //set_self (2895,37,1,0,0); set_self (2896,37,1,0,0); set_self (2897,37,1,0,0); } d.jishi_chu = 0; } } //财神 RoomFunc.god = function () { return false; } //财神 RoomFunc.mammon = function () { var mammon = Desk.roomtype[11]; if (mammon == 1) { return true; } else { return false; } } //精分 RoomFunc.jingscore = function () { return false; } //比精 RoomFunc.compare_jing = function () { return false; } //买马 RoomFunc.buyhorse = function () { return false; } //可以多人胡 RoomFunc.canManyHu = function () { return true; } //花牌算分 RoomFunc.huascore = function () { return false; } //花牌配置 RoomFunc.hua = function () { return false; } //有抄庄 RoomFunc.can_chao_host = function () { return false; } //血战玩法 RoomFunc.xue_zhan = function () { return true; } //不同张牌数玩法 RoomFunc.num_pai = function () { if (false) { return 7; } else if (true) { return 10; } else if (false) { return 13; } return 13; }