435 lines
12 KiB
JavaScript
435 lines
12 KiB
JavaScript
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 == 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 (d.replay==0 && (spid_up == 2231 || spid_up == 2232 || (spid_up >= 1013 && spid_up <= 1018) || (spid_up >= 791 && spid_up <= 799) || (spid_up >= 1131 && spid_up <= 1139))) {//取消托管
|
||
d.OverTime=0;
|
||
d.jishi_chu=0;
|
||
set_group(221, 37, 0, 0, 0);
|
||
set_self(2233,43,1,0,0);
|
||
d.show_my13card();
|
||
d.show_14card();
|
||
}
|
||
if (spid_up == 2999) {//听牌显示
|
||
if (!get_self(1247,37)) {
|
||
d.show_hu_card(d.Ting_ui);
|
||
} else {
|
||
set_group(237, 37, 0, 0, 0);
|
||
}
|
||
}
|
||
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) && Desk.roomtype[19] != 1) {//关闭精牌详情
|
||
set_self(2656,37,1);
|
||
set_group(214,37,0,0,0);
|
||
}
|
||
if (spid_up == 233) {//结算
|
||
d.compare_jing_time3=0;
|
||
}
|
||
//console.log("roomfunc 点击,永远可用");
|
||
}
|
||
|
||
//点击,游戏开始之后可用
|
||
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) {
|
||
//console.log("roomfunc RoomConfig点击牌的判断");console.log(spid);
|
||
if (Desk.roomtype[19] || d.replay!=0) {
|
||
return false;
|
||
}
|
||
if(get_self(1965, 37) == 1 || d.baoting[0] == 1 || d.baoting[1] == 1 || d.baoting[2] == 1 || d.baoting[3] == 1 || (d.baoting[C_Player.seat] == 2 && spid < 949&&(!d.baoting[4]||(d.baoting[4]&&!d.baoting[4].length))))
|
||
{
|
||
return false;
|
||
}
|
||
else
|
||
{
|
||
if(d.baoting[0] == 0 && d.baoting[1] == 0 && d.baoting[2] == 0 && d.baoting[3] == 0){
|
||
return true;
|
||
}
|
||
if (d.baoting[4]&&d.baoting[4].length&&d.identity[4]==C_Player.seat&&d.baoting[C_Player.seat]==2) {
|
||
var pos=d.baoting[4].indexOf(get_self(spid,43) );
|
||
if (pos!=-1) {
|
||
return true;
|
||
}
|
||
}else {
|
||
if (d.final_hu[0] == -1) {
|
||
return true;
|
||
}else {
|
||
return false;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
}
|
||
|
||
//点击操作按钮,显示出操作图案之后
|
||
RoomFunc.operate_before = function (spid, num) {
|
||
if(num == 4){
|
||
num = 1;
|
||
}
|
||
if (num == 8 || num == 7) {
|
||
//return;
|
||
num = 4;
|
||
}
|
||
if (num == 20) {
|
||
// num = 8;
|
||
return ;
|
||
}
|
||
if(num == 6 || num == 5){
|
||
num = 3;
|
||
}
|
||
if(num == 11){
|
||
num = 5;
|
||
}
|
||
if (!AM.is_play(spid)) {
|
||
AM.remove(spid, false)
|
||
//var dh_bz = [0, 0, 634, 633, 630, 633, 633, 631, 631, 632, 632, 9];//1吃,3杠,5胡,7碰,9听,
|
||
//var a=1;
|
||
AM.add(spid).bfunc(function () {
|
||
set_self(spid, 1, 630, 0, 0);
|
||
set_self(spid, 37, 1, 0, 0);
|
||
set_self(spid, 33, 100, 0, 0);
|
||
set_self(spid, 43, (num*2)-1, 0, 0);
|
||
}).zoom(150, 2).zoom(50,3).wait(35,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, 632, 632, 9];//1吃,3杠,5胡,7碰,9听,
|
||
if (!AM.is_play(spid + 61)) {
|
||
AM.add(spid + 61).wait(6, function () {
|
||
set_self(spid + 61, 1, 630, 0, 0);
|
||
set_self(spid + 61, 18, get_self(spid, 18), 0, 0);
|
||
set_self(spid + 61, 19, get_self(spid, 19), 0, 0);
|
||
set_self(spid + 61, 37, 1, 0, 0);
|
||
set_self(spid + 61, 43, num*2, 0, 0);
|
||
set_self(spid + 61, 35, 255, 0, 0);
|
||
set_self(spid + 61, 33, 0, 0, 0);
|
||
}).alpha(200, 3).zoom(200, 7).wait(2, 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 (!AM.is_play(spid + 663)) {
|
||
AM.add(spid + 663).wait(10,function () {
|
||
set_self(spid + 663, 37, 1, 0, 0);
|
||
set_self(spid + 663, 1, 640, 0, 0);
|
||
set_self(spid + 663, 18, get_self(spid,18)+50, 0, 0);
|
||
set_self(spid + 663, 19, get_self(spid,19)+60, 0, 0);
|
||
set_self(spid + 663, 33, 50, 0, 0);
|
||
set_self(spid + 663, 35, 255, 0, 0);
|
||
}).zoom(200, 15).alpha(0, 15).wait(1, function () {
|
||
set_self(spid + 663,37,0,0,0);
|
||
AM.cls_id(spid + 663);
|
||
}).start();
|
||
}
|
||
|
||
if((d.last_operate[0] == 2|| d.last_operate[0] == 4) && d.final_hu[0]==-1){
|
||
//加杠动画 明杠动画
|
||
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);
|
||
Utl.playSound("00302.mp3");
|
||
}).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();
|
||
}
|
||
|
||
}
|
||
|
||
if (d.last_operate[0] == 5 && d.final_hu[0] == -1) {
|
||
//暗杠动画
|
||
if (!AM.is_play(2674)) {
|
||
AM.add(2674).bfunc(function () {
|
||
set_self(2674, 37, 1, 0, 0);
|
||
set_self(2674, 43, 1, 0, 0);
|
||
Utl.playSound("00" + 303 + ".mp3");
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 2, 0, 0);
|
||
Utl.playSound("00303.mp3");
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 3, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 4, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 5, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 6, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 1, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 2, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 3, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 4, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 5, 0, 0);
|
||
}).wait(3, function () {
|
||
set_self(2674, 43, 6, 0, 0);
|
||
}).wait(3, function () {
|
||
|
||
}).func(function () {
|
||
set_self(2674, 37, 0, 0, 0);
|
||
set_self(2674, 43, 1, 0, 0);
|
||
AM.cls_id(2674);
|
||
}).start();
|
||
}
|
||
}
|
||
}
|
||
//点击操作按钮
|
||
RoomFunc.operate_click = function (spid_up) {
|
||
if(get_self(1965, 37) == 1)
|
||
{return false;}
|
||
else
|
||
{return true;}
|
||
}
|
||
//战局开始,牌显示之前
|
||
RoomFunc.showcard_before = function () {
|
||
//一般执行14次
|
||
//console.log("roomfunc RoomConfig战局开始,牌显示之前");
|
||
if (Utl.getIsInfinite() == 1||Desk.roomtype[14]==3||Desk.roomtype[14]==4){
|
||
for(var i=0;i<4;i++){
|
||
if(d.sieves[2] == 0 && d.sieves[3] == -1 && d.sieves[4] == 0 && d.robot[i] ==1 && i == d.identity[4] && d.click_sieves == 0){
|
||
for(var j=0;j<4;j++){
|
||
if(d.robot[j]==-1 && !Desk.PlayerList[j].onstate){
|
||
if (C_Player.seat == j) {
|
||
d.click_sieves = 1;//庄家掷骰子选人选牌蹲专用
|
||
d.click(1363);
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if(d.sieves[2] == 0 && d.sieves[3] == -1 && d.sieves[4] == 0 && d.click_sieves == 0 && d.status!=3)
|
||
{
|
||
d.click_sieves = 1;//庄家掷骰子选人选牌蹲专用
|
||
if (d.replay == 0){
|
||
//set_self(1363, 37, 1, 0, 0);
|
||
d.click(1363);
|
||
}
|
||
}
|
||
return d.showcard_before;
|
||
}
|
||
//战局开始,牌显示之后
|
||
RoomFunc.showcard_after = function () {
|
||
//执行一次
|
||
console.log("roomfunc RoomConfig战局开始,牌显示之后");
|
||
}
|
||
|
||
//自己有摸牌,且是自己的控制權
|
||
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(get_self(2377, 37) == 0 && Desk.roomtype[19]!=1)
|
||
{set_self(2377, 37, 1);}
|
||
if (!Desk.roomtype[19]) {
|
||
d.compare_jing_time3=1;
|
||
}else {
|
||
d.show_xiao_settle(1);
|
||
d.show_timeready();
|
||
}
|
||
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, hu_note, 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);
|
||
d.jishi_chu = 0;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|