目录结构调整
This commit is contained in:
514
codes/games/client/Projects/majiang_jx/js/export/anti_cheat.js
Normal file
514
codes/games/client/Projects/majiang_jx/js/export/anti_cheat.js
Normal file
@@ -0,0 +1,514 @@
|
||||
//防作弊
|
||||
d.send_ip = function (leave) {
|
||||
if (C_Player.seat == -1) {
|
||||
return;
|
||||
}
|
||||
if (leave == undefined)
|
||||
{leave=-1;}
|
||||
d.set_png_pos(C_Player.seat);
|
||||
var ipids = [1770, 1771, 1772, 1773];
|
||||
var ips = [];
|
||||
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
|
||||
var msg = -1;
|
||||
if (gameabc_face.ip) {
|
||||
d.ip[seat] = gameabc_face.ip;
|
||||
msg = d.ip[seat];
|
||||
}
|
||||
// if(C_Player.ip)
|
||||
// {d.ip[seat]=C_Player.ip;
|
||||
// msg=d.ip[seat];
|
||||
// }
|
||||
else {
|
||||
d.ip = [];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
set_self(ipids[d.pos[i]], 37, 0, 0, 0);
|
||||
ips[i] = ["127.0.0.1" + String(4 - 1), i];
|
||||
}
|
||||
return;
|
||||
}
|
||||
//d.addr[seat]=[28.62354,115.900333];
|
||||
//msg=d.addr[seat];
|
||||
if (leave != undefined && leave != C_Player.seat) {
|
||||
// set_self(ipids[d.pos[leave]], 37, 0, 0, 0);
|
||||
ips[leave] = ["127.0.0.1", leave];
|
||||
d.ip[leave] = [];
|
||||
//return;
|
||||
}
|
||||
if (d.replay == 0) {
|
||||
var send = {
|
||||
"app": "youle",
|
||||
"route": d.route,
|
||||
"rpc": "ip",
|
||||
"data": {
|
||||
"agentid": GameData.AgentId,
|
||||
"gameid": GameData.GameId,
|
||||
"playerid": C_Player.playerid,
|
||||
"roomcode": Desk.roomcode,
|
||||
"seat": C_Player.seat,
|
||||
"ip": msg,
|
||||
"leave":leave
|
||||
}
|
||||
};
|
||||
Net.ws_tcp.send(JSON.stringify(send));
|
||||
}
|
||||
}
|
||||
d.show_ip = function (leave) {
|
||||
if (C_Player.seat == -1) {
|
||||
return;
|
||||
}
|
||||
d.set_png_pos(C_Player.seat);
|
||||
var ipids = [1770, 1771, 1772, 1773];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
if(person==2)
|
||||
{ipids = [1770, 1772, 1772, 1772];}
|
||||
var ips = [];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// if(Desk.PlayerList[i].ip!=undefined && Desk.PlayerList[i].ip.length>0)
|
||||
// {set_self(ipids[d.pos[i]],37,1,0,0);
|
||||
// set_self(ipids[d.pos[i]],43,3,0,0);
|
||||
// ips[i]=[Desk.PlayerList[i].ip,i];
|
||||
// }
|
||||
if (d.ip[i] != undefined && d.ip[i].length > 0 && get_self(376 + d.pos[i], 37, 0, 0, 0) == 1) {
|
||||
//set_self(ipids[d.pos[i]], 37, 1, 0, 0);
|
||||
//set_self(ipids[d.pos[i]], 43, 3, 0, 0);
|
||||
ips[i] = [d.ip[i], i];
|
||||
//Desk.PlayerList[i].ip=d.ip[i];
|
||||
}
|
||||
else {
|
||||
//set_self(ipids[d.pos[i]], 37, 0, 0, 0);
|
||||
ips[i] = ["z127.0.0.1", i];
|
||||
}
|
||||
}
|
||||
if (leave != undefined) {
|
||||
//set_self(ipids[d.pos[leave]], 37, 0, 0, 0);
|
||||
ips[leave] = ["z127.0.0.1", leave];
|
||||
}
|
||||
ips.sort(function (a, b) {
|
||||
return a[0].localeCompare(b[0])
|
||||
});
|
||||
var n = [0];
|
||||
var f = 2;
|
||||
for (var i = 1; i < 4; i++) {
|
||||
if (ips[0][0] === ips[i][0] && ips[0][0] != "z127.0.0.1") {
|
||||
var pos = ips[0][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
var pos = ips[i][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
n[n.length] = i;
|
||||
}
|
||||
}
|
||||
if (n.length >= 4) {
|
||||
return;
|
||||
}
|
||||
if (n.length > 1) {
|
||||
f = 1;
|
||||
}
|
||||
for (var i = 2; i < 4; i++) {
|
||||
var ban = 0;
|
||||
for (var j = 0; j < n.length; j++) {
|
||||
if (i == n[j]) {
|
||||
ban = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ban == 0 && ips[1][0] === ips[i][0] && ips[1][0] != "z127.0.0.1") {
|
||||
var pos = ips[1][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
var pos = ips[i][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
n[n.length] = i;
|
||||
}
|
||||
}
|
||||
if (n.length > 1) {
|
||||
f = 1;
|
||||
}
|
||||
for (var i = 3; i < 4; i++) {
|
||||
var ban = 0;
|
||||
for (var j = 0; j < n.length; j++) {
|
||||
if (i == n[j]) {
|
||||
ban = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ban == 0 && ips[2][0] === ips[i][0] && ips[2][0] != "z127.0.0.1") {
|
||||
var pos = ips[2][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
var pos = ips[i][1];
|
||||
//set_self(ipids[d.pos[pos]], 43, f, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
d.send_distance = function (leave) {
|
||||
if (C_Player.seat == -1) {
|
||||
return;
|
||||
}
|
||||
if (leave == undefined)
|
||||
{leave=-1;}
|
||||
d.set_png_pos(C_Player.seat);
|
||||
var Jids = [1482, 1489, 1496, 1503];
|
||||
var Mids = [1762, 1763, 1764, 1765];
|
||||
var Ms = [1766, 1767, 1768, 1769];
|
||||
var ips = [];
|
||||
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
|
||||
var msg = -1;
|
||||
//gameabc_face.locationinfo={};
|
||||
//gameabc_face.locationinfo.latitude=28.62354;gameabc_face.locationinfo.longitude=115.900333;
|
||||
if (gameabc_face.locationinfo) {
|
||||
if (gameabc_face.locationinfo.latitude && gameabc_face.locationinfo.longitude) {
|
||||
var lon1 = gameabc_face.locationinfo.longitude;
|
||||
var lat1 = gameabc_face.locationinfo.latitude;
|
||||
d.addr[seat] = [lon1, lat1];
|
||||
msg = d.addr[seat];
|
||||
}
|
||||
}
|
||||
// if(C_Player.addr)
|
||||
// {var lon1=C_Player.addr.longitude;
|
||||
// var lat1=C_Player.addr.latitude;
|
||||
// d.addr[seat]=[lon1,lat1];
|
||||
// msg=d.addr[seat];
|
||||
// }
|
||||
else {
|
||||
d.addr = [];
|
||||
// for (var i = 0; i < 4; i++) {
|
||||
// set_self(Jids[d.pos[i]], 37, 0, 0, 0);
|
||||
// set_self(Mids[d.pos[i]], 37, 0, 0, 0);
|
||||
// set_self(Ms[d.pos[i]], 37, 0, 0, 0);
|
||||
// }
|
||||
//return;
|
||||
}
|
||||
if (leave != undefined && leave !=-1 && leave != C_Player.seat) {
|
||||
// set_self(Jids[d.pos[leave]], 37, 0, 0, 0);
|
||||
// set_self(Mids[d.pos[leave]], 37, 0, 0, 0);
|
||||
// set_self(Ms[d.pos[leave]], 37, 0, 0, 0);
|
||||
d.addr[leave] = [];
|
||||
}
|
||||
if (d.replay == 0) {
|
||||
var send = {
|
||||
"app": "youle",
|
||||
"route": d.route,
|
||||
"rpc": "addr",
|
||||
"data": {
|
||||
"agentid": GameData.AgentId,
|
||||
"gameid": GameData.GameId,
|
||||
"playerid": C_Player.playerid,
|
||||
"roomcode": Desk.roomcode,
|
||||
"seat": C_Player.seat,
|
||||
"addr": msg,
|
||||
"leave":leave
|
||||
}
|
||||
};
|
||||
Net.ws_tcp.send(JSON.stringify(send));
|
||||
}
|
||||
}
|
||||
d.show_distance = function (leave) {
|
||||
return;
|
||||
if (C_Player.seat == -1) {
|
||||
return;
|
||||
}
|
||||
d.set_png_pos(C_Player.seat);
|
||||
var Jids = [1482, 1489, 1496, 1503];
|
||||
var Mids = [1762, 1763, 1764, 1765];
|
||||
var Ms = [1766, 1767, 1768, 1769];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
if(person==2)
|
||||
{Jids = [1482, 1496, 1496, 1496];
|
||||
Mids = [1762, 1764, 1764, 1764];
|
||||
Ms = [1766, 1768, 1768, 1768];
|
||||
}
|
||||
var ips = [];
|
||||
if (leave != undefined && leave < 4) {
|
||||
//set_self(Jids[d.pos[leave]], 37, 0, 0, 0);
|
||||
//set_self(Mids[d.pos[leave]], 37, 0, 0, 0);
|
||||
//set_self(Ms[d.pos[leave]], 37, 0, 0, 0);
|
||||
d.addr[leave] = [];
|
||||
}
|
||||
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
|
||||
// if(C_Player.addr)
|
||||
// {var lon1=C_Player.addr.longitude;
|
||||
// var lat1=C_Player.addr.latitude;
|
||||
// d.addr[seat]=[lon1,lat1];
|
||||
// }
|
||||
if (d.addr[seat] && d.addr[seat].length > 0) {
|
||||
var lon1 = d.addr[seat][0];
|
||||
var lat1 = d.addr[seat][1];
|
||||
d.addr[seat] = [lon1, lat1];
|
||||
}
|
||||
else {
|
||||
d.addr = [];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
set_self(Jids[d.pos[i]], 37, 0, 0, 0);
|
||||
set_self(Mids[d.pos[i]], 37, 0, 0, 0);
|
||||
set_self(Ms[d.pos[i]], 37, 0, 0, 0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//var addr=[[28.62354,115.900333],[28.62354,116.900333],[28.62354,118.900333],[24.62354,100.900333]];
|
||||
//var lon1=addr[seat][0];
|
||||
//var lat1=addr[seat][1];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// Desk.PlayerList[i].addr={};
|
||||
// Desk.PlayerList[i].addr.longitude=addr[i][0];
|
||||
// Desk.PlayerList[i].addr.latitude=addr[i][1];
|
||||
//if(i!=seat && Desk.PlayerList[i].addr && Desk.PlayerList[i].addr.longitude)
|
||||
if (i != seat && d.addr[i] && d.addr[i].length > 0 && get_self(376 + d.pos[i], 37, 0, 0, 0) == 1) {//var lon2=Desk.PlayerList[i].addr.longitude;
|
||||
//var lat2=Desk.PlayerList[i].addr.latitude;
|
||||
//var lon2=d.addr[i].longitude;
|
||||
//var lat2=d.addr[i].latitude;
|
||||
var lon2 = d.addr[i][0];
|
||||
var lat2 = d.addr[i][1];
|
||||
var Distance = d.GetDistance(lon1, lat1, lon2, lat2);
|
||||
var l = String(Distance[0]).length;
|
||||
set_self(1766 + d.pos[i], 37, 1, 0, 0);
|
||||
set_self(1766 + d.pos[i], 7, Distance[0]);
|
||||
set_self(1766 + d.pos[i], 20, l * 12, 0, 0);
|
||||
|
||||
set_self(Jids[d.pos[i]], 43, Distance[2], 0, 0)
|
||||
if (Distance[2] == 1) {
|
||||
set_self(1766 + d.pos[i], 18, get_self(Jids[d.pos[i]], 18, 0, 0, 0) + get_self(Jids[d.pos[i]], 21, 0, 0, 0), 0, 0);
|
||||
}
|
||||
else {
|
||||
set_self(1766 + d.pos[i], 18, get_self(Jids[d.pos[i]], 18, 0, 0, 0) + get_self(Jids[d.pos[i]], 20, 0, 0, 0), 0, 0);
|
||||
}
|
||||
set_self(1766 + d.pos[i], 19, get_self(Jids[d.pos[i]], 19, 0, 0, 0) + 3, 0, 0);
|
||||
set_self(1762 + d.pos[i], 37, 1, 0, 0);
|
||||
set_self(1762 + d.pos[i], 43, Distance[1], 0, 0);
|
||||
set_self(1762 + d.pos[i], 18, get_self(1766 + d.pos[i], 18, 0, 0, 0) + l * 12, 0, 0);
|
||||
set_self(1762 + d.pos[i], 19, get_self(Jids[d.pos[i]], 19, 0, 0, 0), 0, 0);
|
||||
set_self(Jids[d.pos[i]], 37, 1, 0, 0);
|
||||
}
|
||||
else {
|
||||
set_self(1766 + d.pos[i], 37, 0, 0, 0);
|
||||
set_self(1762 + d.pos[i], 37, 0, 0, 0);
|
||||
set_self(Jids[d.pos[i]], 37, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
//var msg="";
|
||||
//var msg1=["东家","南家","西家","北家"];
|
||||
// for(var j=0;j<4;j++)
|
||||
// {
|
||||
// if(j!=seat)
|
||||
// {var lon1=d.addr[j][0];
|
||||
// var lat1=d.addr[j][1];
|
||||
// for(var i=0;i<4;i++)
|
||||
// {
|
||||
//if(notice[j]==0 || notice[i]==0)
|
||||
//{
|
||||
// if(i!=j && i!=seat && d.addr[i] && d.addr[i].length>0)
|
||||
// {var lon2=d.addr[i][0];
|
||||
// var lat2=d.addr[i][1];
|
||||
// var Distance=d.GetDistance(lon1,lat1,lon2,lat2);
|
||||
// var l=String(Distance[0]).length;
|
||||
//if(Distance[0]<=100 && Distance[1]==1)
|
||||
//{msg=mag+msg1[j]+"和"+msg1[i]+"距离小于100米 ";}
|
||||
////{msg=mag+Desk.PlayerList[j].nickname+"和"+Desk.PlayerList[i].nickname+"距离<100m ";}
|
||||
// }
|
||||
//}
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if(msg.length>0)
|
||||
// {GameUI.OpenTips(msg,3);}
|
||||
}
|
||||
d.show_distance_1=function(spid_up)
|
||||
{
|
||||
return;
|
||||
d.set_png_pos_un(C_Player.seat);
|
||||
var seat=d.pos_un[spid_up-376];
|
||||
for(var i=0;i<4;i++)
|
||||
{set_self(806+i,37,0,0,0);}
|
||||
for(var i=0;i<4;i++)
|
||||
{set_self(806+i,41,0,0,0);}
|
||||
if(spid_up!=376 && d.addr && d.addr.length>1 && d.addr[seat] && d.addr[seat][0])
|
||||
{set_self(806,37,1,0,0);
|
||||
var msg="";
|
||||
var msg0=["","<"];
|
||||
var msg1=["m","km"];
|
||||
var n=0;
|
||||
var lon1=d.addr[seat][0];
|
||||
var lat1=d.addr[seat][1];
|
||||
for(var i=0;i<4;i++)
|
||||
{console.log("1111");
|
||||
if(i!=seat && d.addr[i] && d.addr[i].length>0 && Desk.PlayerList[i] && Desk.PlayerList[i].nickname)
|
||||
{var lon2=d.addr[i][0];
|
||||
var lat2=d.addr[i][1];
|
||||
var Distance=d.GetDistance(lon1,lat1,lon2,lat2);
|
||||
var name=d.getLen(Desk.PlayerList[i].nickname);
|
||||
if(i==C_Player.seat)
|
||||
{name="你";}
|
||||
msg="他/她与"+name+"\n相距:"+msg0[Distance[2]-1]+Distance[0]+msg1[Distance[1]-1];
|
||||
set_self(807+n,7,msg);
|
||||
set_self(807+n,37,1,0,0);
|
||||
n+=1;console.log("2222");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//lon1经度lat1纬度lon2经度lat2纬度
|
||||
d.GetDistance = function (lon1, lat1, lon2, lat2) {
|
||||
return;
|
||||
lon1=Number(lon1);
|
||||
lat1=Number(lat1);
|
||||
lon2=Number(lon2);
|
||||
lat2=Number(lat2);
|
||||
var EARTH_RADIUS = 6378137;
|
||||
var radLat1 = lat1 * Math.PI / 180.0;
|
||||
var radLat2 = lat2 * Math.PI / 180.0;
|
||||
var a = radLat1 - radLat2;
|
||||
var b = lon1 * Math.PI / 180.0 - lon2 * Math.PI / 180.0;
|
||||
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
|
||||
s = s * EARTH_RADIUS;
|
||||
s = Math.round(s * 10000) / 10000;
|
||||
s = parseInt(s);
|
||||
var s1 = 1;
|
||||
if (s >= 1000) {
|
||||
s = Math.round(s / 1000);
|
||||
s1 = 2;
|
||||
}
|
||||
var s2 = 1;
|
||||
if (s1 == 1) {
|
||||
if (s < 100) {
|
||||
s = 100;
|
||||
s2 = 2;
|
||||
}
|
||||
else {
|
||||
s = Math.round(s / 100) * 100;
|
||||
}
|
||||
}
|
||||
var r = [s, s1, s2];
|
||||
return r;
|
||||
}
|
||||
|
||||
//ln1经度、纬度ln2经度、纬度
|
||||
d.GetDistance_xin = function (ln1, ln2) {
|
||||
var lon1=Number(ln1[0]);
|
||||
var lat1=Number(ln1[1]);
|
||||
var lon2=Number(ln2[0]);
|
||||
var lat2=Number(ln2[1]);
|
||||
var EARTH_RADIUS = 6378137;
|
||||
var radLat1 = lat1 * Math.PI / 180.0;
|
||||
var radLat2 = lat2 * Math.PI / 180.0;
|
||||
var a = radLat1 - radLat2;
|
||||
var b = lon1 * Math.PI / 180.0 - lon2 * Math.PI / 180.0;
|
||||
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
|
||||
s = s * EARTH_RADIUS;
|
||||
s = Math.round(s * 10000) / 10000;
|
||||
s = parseInt(s);
|
||||
var s2 = parseInt(s);
|
||||
var s3 = 1;
|
||||
if (s >= 1000) {
|
||||
s = Math.round(s / 1000);
|
||||
s2 = parseInt(s);
|
||||
s3 = 2;
|
||||
}
|
||||
var s1 = 1;
|
||||
if (s3 == 1) {
|
||||
if (s2 < 100) {
|
||||
s2 = 100;
|
||||
s1 = 2;
|
||||
}
|
||||
else {
|
||||
s2 = Math.round(s / 100) * 100;
|
||||
}
|
||||
}
|
||||
else if(s3 == 2){
|
||||
if(s2<=999){
|
||||
if (s2 < s) {
|
||||
s1 = 2;
|
||||
}
|
||||
else if (s2 == s) {
|
||||
s1 = 1;
|
||||
}
|
||||
else if (s2 > s) {
|
||||
s1 = 3;
|
||||
}
|
||||
}
|
||||
else if(s2>999){
|
||||
s1=3;
|
||||
s2=999;
|
||||
}
|
||||
}
|
||||
var r = [s1, s2, s3];
|
||||
return r;
|
||||
}
|
||||
|
||||
//定位Gps
|
||||
d.show_distance_xin=function()
|
||||
{
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
if(d.addr && d.addr.length>1 && d.addr[C_Player.seat] && d.addr[C_Player.seat][0])
|
||||
{
|
||||
set_self(701,37,1,0,0);
|
||||
set_self(702,37,1,0,0);
|
||||
var head_id = [376, 377, 378, 379];
|
||||
var m=0;
|
||||
if(person==2) {
|
||||
set_self(703, 1, get_self(376,1), 0, 0);
|
||||
set_self(703, 37, get_self(376,37), 0, 0);
|
||||
if(get_self(377,37)){
|
||||
set_self(705, 1, get_self(377,1), 0, 0);
|
||||
set_self(705, 37, get_self(377,37), 0, 0);
|
||||
}else if(get_self(379,37)){
|
||||
set_self(705, 1, get_self(379,1), 0, 0);
|
||||
set_self(705, 37, get_self(379,37), 0, 0);
|
||||
}
|
||||
}else {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
if(d.pos_un[i]<person){
|
||||
set_self(703 + m, 1, get_self(head_id[i],1), 0, 0);
|
||||
set_self(703 + m, 37, get_self(head_id[i],37), 0, 0);
|
||||
}
|
||||
m++;
|
||||
}
|
||||
}
|
||||
var addr=[];
|
||||
for(var i=0;i<4;i++){
|
||||
if(d.pos_un[i]<person){
|
||||
addr[addr.length]=d.addr[d.pos_un[i]];
|
||||
}
|
||||
else {
|
||||
addr[addr.length]=[];
|
||||
}
|
||||
}
|
||||
var n=0;
|
||||
if(person!=2){
|
||||
for(var i=0;i<3;i++)
|
||||
{
|
||||
for(var j=3;j>i;j--)
|
||||
// if(i!=seat && d.addr[i] && d.addr[i].length>0 && Desk.PlayerList[i] && Desk.PlayerList[i].nickname)
|
||||
{
|
||||
if(addr[i].length && addr[j].length)
|
||||
{
|
||||
var Distance=d.GetDistance_xin(addr[i],addr[j]);
|
||||
set_self(711+3*n,43,Distance[0]);
|
||||
set_self(712+3*n,7,Distance[1]);
|
||||
set_self(713+3*n,43,Distance[2]);
|
||||
set_self(711+3*n,37,1);
|
||||
set_self(712+3*n,37,1);
|
||||
set_self(713+3*n,37,1);
|
||||
set_self(729+n,37,1);
|
||||
}
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}else if(person==2){
|
||||
if(addr[0].length && addr[1].length) {
|
||||
Distance=d.GetDistance_xin(addr[0],addr[1]);
|
||||
set_self(714,43,Distance[0]);
|
||||
set_self(715,7,Distance[1]);
|
||||
set_self(716,43,Distance[2]);
|
||||
set_self(714,37,1);
|
||||
set_self(715,37,1);
|
||||
set_self(716,37,1);
|
||||
set_self(730,37,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
254
codes/games/client/Projects/majiang_jx/js/export/func_base.js
Normal file
254
codes/games/client/Projects/majiang_jx/js/export/func_base.js
Normal file
@@ -0,0 +1,254 @@
|
||||
|
||||
//显示上次出牌提示
|
||||
d.show_ponit_out=function()
|
||||
{
|
||||
if (Desk.roomtype[19]) {
|
||||
return ;
|
||||
}
|
||||
if(Desk.stage!=0 && d.user_ctrl[4+C_Player.seat]==0)
|
||||
{
|
||||
if(d.last_operate[0]==0)
|
||||
{set_self(1022,37,1,0,0);
|
||||
set_self(1022,51,0,0,0);
|
||||
var sea_seat=d.last_operate[2];
|
||||
var lastid=d.get_sea_lastid(sea_seat);
|
||||
if(d.last_operate[1] && d.last_operate[1]>=50)
|
||||
{lastid=d.get_sea_hua_lastid(sea_seat);}
|
||||
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
||||
set_self(1022,18,x,0,0);
|
||||
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
||||
if(get_self(lastid,19,0,0,0)<39)
|
||||
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
||||
set_self(1022,51,1,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
||||
}
|
||||
}
|
||||
else if(d.last_operate[0]==1 || d.last_operate[0]==2 || d.last_operate[0]==4 || d.last_operate[0]==5)
|
||||
{set_self(1022,37,1,0,0);
|
||||
set_self(1022,51,0,0,0);
|
||||
var seat=d.last_operate[2];
|
||||
var ids=[953,971,989,1007];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[d.roomtype[6]] || 4;
|
||||
if(person==2)
|
||||
{ids=[953,989,989,989];
|
||||
}
|
||||
var id=ids[d.pos[seat]];
|
||||
var f=d.last_operate[1];
|
||||
var n=0;
|
||||
var lastid=0;
|
||||
for(var i=0;i<19;i++)
|
||||
{
|
||||
if(get_self(id-i,37,0,0,0)==1)
|
||||
{
|
||||
if(d.last_operate[0]!=1 && get_self(id-i,43,0,0,0)==60)
|
||||
{
|
||||
if(get_self(id-i-1,37,0,0,0)==1 && get_self(id-i-1,43,0,0,0)==f)
|
||||
{n=2;
|
||||
lastid=id-i-1;
|
||||
}
|
||||
else if(get_self(id-i-1,37,0,0,0)==1 && d.an_gang_num[seat]>0)
|
||||
{n=2;
|
||||
lastid=id-i-1;
|
||||
}
|
||||
}
|
||||
else if(get_self(id-i,43,0,0,0)==f)
|
||||
{n+=1;
|
||||
lastid=id-i;
|
||||
}
|
||||
if(n==2)
|
||||
{var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
||||
set_self(1022,18,x,0,0);
|
||||
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
||||
if(get_self(lastid,19,0,0,0)<39)
|
||||
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
||||
set_self(1022,51,1,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(d.last_operate[0]==3)
|
||||
{set_self(1022,37,1,0,0);
|
||||
set_self(1022,51,0,0,0);
|
||||
var seat=d.last_operate[2];
|
||||
var ids=[953,971,989,1007];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[d.roomtype[6]] || 4;
|
||||
if(person==2)
|
||||
{ids=[953,989,989,989];
|
||||
}
|
||||
var id=ids[d.pos[seat]];
|
||||
var f=d.last_operate[1];
|
||||
var n=0;
|
||||
var lastid=0;
|
||||
for(var i=0;i<19;i++)
|
||||
{
|
||||
if(get_self(id-i,37,0,0,0)==1)
|
||||
{
|
||||
if(get_self(id-i,43,0,0,0)==f)
|
||||
{lastid=id-i;
|
||||
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
||||
set_self(1022,18,x,0,0);
|
||||
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
||||
if(get_self(lastid,19,0,0,0)<39)
|
||||
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
||||
set_self(1022,51,1,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(get_self(1475,37,0,0,0)==1)
|
||||
{set_self(1022,37,1,0,0);
|
||||
set_self(1022,51,0,0,0);
|
||||
var lastid=1475;
|
||||
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
||||
set_self(1022,18,x,0,0);
|
||||
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
||||
if(get_self(1475,19,0,0,0)<39)
|
||||
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
||||
set_self(1022,51,1,0,0);
|
||||
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//是否顺子
|
||||
d.straight3=function (arr1,card)
|
||||
{
|
||||
var arr2=[[card-2,card-1,card],[card-1,card,card+1],[card,card+1,card+2]];
|
||||
//吃风牌
|
||||
if(card>=30 && card<40)
|
||||
{var card0=[];
|
||||
for(var i=0;i<4;i++)
|
||||
{
|
||||
if(31+i!=card)
|
||||
{card0[card0.length]=31+i;
|
||||
}
|
||||
}
|
||||
arr2=[[card,card0[0],card0[1]],[card,card0[0],card0[2]],[card,card0[1],card0[2]]];
|
||||
d.ord(arr2[0]);d.ord(arr2[1]);d.ord(arr2[2]);
|
||||
}
|
||||
var ban=[0,0,0]
|
||||
for(var i=0;i<3;i++)
|
||||
{
|
||||
for(var j=0;j<3;j++)
|
||||
{
|
||||
if(arr2[i][j]!=card && arr1.indexOf(arr2[i][j])==-1)
|
||||
{ban[i]=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
var r=[];
|
||||
for(var i=0;i<3;i++)
|
||||
{
|
||||
if(ban[i]==0)
|
||||
{r[r.length]=d.c(arr2[i]);
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
//是否刻子
|
||||
d.same=function (arr1,card)
|
||||
{var n=0;
|
||||
var arr2=d.c(arr1);
|
||||
for(var i=0;i<3;i++)
|
||||
{var pos=arr2.indexOf(card);
|
||||
if(pos!=-1)
|
||||
{arr2.splice(pos,1);
|
||||
n+=1;
|
||||
}
|
||||
}
|
||||
return n;
|
||||
}
|
||||
//可吃的牌型
|
||||
d.eat=function (arr,card)
|
||||
{var arr0=d.straight3(arr,card);
|
||||
return arr0;
|
||||
}
|
||||
//可碰的牌型
|
||||
d.bump=function (arr,card)
|
||||
{var exist=d.same(arr,card);
|
||||
var arr0=[];
|
||||
if(exist>=2)
|
||||
{arr0=[card,card,card];}
|
||||
// else if(exist==4)
|
||||
// {arr0=[card,card,card,card];}
|
||||
return arr0;
|
||||
}
|
||||
//可杠的牌型
|
||||
d.bar=function (arr,card)
|
||||
{var exist=d.same(arr,card);
|
||||
var arr0=[];
|
||||
if(exist==3)
|
||||
{arr0=[card,card,card,card];}
|
||||
return arr0;
|
||||
}
|
||||
d.get_handpos_byid=function (seat,cards)
|
||||
{var pos_r=[];
|
||||
for(var i=0;i<cards.length;i++)
|
||||
{var pos=d.hand[seat][0].indexOf(cards[i]);
|
||||
if(pos!=-1)
|
||||
{pos_r[pos_r.length]=pos;
|
||||
}
|
||||
}
|
||||
return pos_r;
|
||||
}
|
||||
//数组判断
|
||||
d.isArray=function (obj){
|
||||
return Object.prototype.toString.call(obj) === '[object Array]';
|
||||
}
|
||||
//截取昵称长度
|
||||
d.getLen=function(str) {
|
||||
// if (str == null) return 0;
|
||||
// if (typeof str != "string"){
|
||||
// str += "";
|
||||
// }
|
||||
// return str.replace(/[^\x00-\xff]/g,"01").length;
|
||||
var l0=str.length;
|
||||
var len = 0;
|
||||
var l=0;
|
||||
for (var i=0; i<str.length; i++) {
|
||||
var c = str.charCodeAt(i);
|
||||
if (len<=10-1 && (c >= 0 && c <= 128)) {
|
||||
len++;l++;
|
||||
}
|
||||
else if(len<=10-2){
|
||||
len+=2;l++;
|
||||
}
|
||||
else
|
||||
{break;
|
||||
}
|
||||
}
|
||||
str=str.slice(0,l);
|
||||
if(l<l0)
|
||||
{str=str+".."}
|
||||
return str;
|
||||
}
|
||||
//得到长度
|
||||
d.getLen1=function(str) {
|
||||
var len = 0;
|
||||
for (var i=0; i<str.length; i++){
|
||||
var c = str.charCodeAt(i);
|
||||
if ( c >= 0 && c <= 128){
|
||||
len++;}
|
||||
else{ len+=2;}
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
|
||||
465
codes/games/client/Projects/majiang_jx/js/export/func_other.js
Normal file
465
codes/games/client/Projects/majiang_jx/js/export/func_other.js
Normal file
@@ -0,0 +1,465 @@
|
||||
d.ob = new d.object();
|
||||
//花牌判断
|
||||
d.get_hua=function(spid)
|
||||
{
|
||||
if(Desk.stage!=0)
|
||||
{
|
||||
|
||||
for(var i=0;i<19;i++)
|
||||
{
|
||||
if(get_self(936+i,37,0,0,0)==1 && get_self(936+i,43,0,0,0)>=50 && get_self(936+i,43,0,0,0)<60)
|
||||
{return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
//自动出花牌
|
||||
d.auto_poker_hua=function()
|
||||
{
|
||||
if(Desk.stage!=0)
|
||||
{
|
||||
|
||||
for(var i=0;i<19;i++)
|
||||
{
|
||||
if(get_self(936+i,37,0,0,0)==1 && get_self(936+i,43,0,0,0)>=50 && get_self(936+i,43,0,0,0)<60 && d.hand[C_Player.seat][0][i]>=50)
|
||||
{set_self(936+i,19,565,0,0);
|
||||
d.click_chu(936+i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//起手胡扎鸟的分数
|
||||
d.show_start_hu_bird=function(host,buyHorse,winHorse,roomtype,start_hu,seat)
|
||||
{var base=roomtype[8] || 0;
|
||||
var base_score=[1,5,10,20,30,50,100];
|
||||
base=base_score[base];
|
||||
var person=roomtype[13] || 4;
|
||||
var start_point=0;
|
||||
var hu_s=[0,0,0,0];//4家起手胡
|
||||
for(var i=0;i<4;i++)
|
||||
{
|
||||
for(var h=0;h<7;h++)
|
||||
{var num=start_hu[i][h];
|
||||
if(num>0)
|
||||
{hu_s[i]=hu_s[i]+num;
|
||||
}
|
||||
}
|
||||
}
|
||||
var bird_s=[0,0,0,0];//4家中鸟
|
||||
for(var k=0;k<6;k++)
|
||||
{var i=host;
|
||||
if(buyHorse[i][k]>0)
|
||||
{var n=winHorse[i][k];
|
||||
bird_s[n]+=1;
|
||||
}
|
||||
}
|
||||
//seat胡
|
||||
for(var i=0;i<person;i++)
|
||||
{
|
||||
if(i!=seat)
|
||||
{
|
||||
if(roomtype[2]==1)
|
||||
{var hu_point=hu_s[seat];
|
||||
if(seat==host || i==host)
|
||||
{hu_point=hu_s[seat]*2;}
|
||||
start_point=start_point+hu_point;
|
||||
start_point=start_point+hu_point*bird_s[seat];
|
||||
start_point=start_point+hu_point*bird_s[i];
|
||||
}
|
||||
if(roomtype[2]==2)
|
||||
{var hu_point=hu_s[seat];
|
||||
if(seat==host || i==host)
|
||||
{hu_point=hu_s[seat]+1*base;}
|
||||
start_point=start_point+hu_point;
|
||||
start_point=start_point+bird_s[seat];
|
||||
start_point=start_point+bird_s[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
//seat输
|
||||
for(var i=0;i<person;i++)
|
||||
{
|
||||
if(i!=seat)
|
||||
{
|
||||
if(roomtype[2]==1)
|
||||
{var hu_point=hu_s[i];
|
||||
if(seat==host || i==host)
|
||||
{hu_point=hu_s[i]*2;}
|
||||
start_point=start_point-hu_point;
|
||||
start_point=start_point-hu_point*bird_s[seat];
|
||||
start_point=start_point-hu_point*bird_s[i];
|
||||
}
|
||||
if(roomtype[2]==2)
|
||||
{var hu_point=hu_s[i];
|
||||
if(seat==host || i==host)
|
||||
{hu_point=hu_s[i]+1*base;}
|
||||
start_point=start_point-hu_point;
|
||||
start_point=start_point-bird_s[seat];
|
||||
start_point=start_point-bird_s[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
return start_point*base;
|
||||
}
|
||||
|
||||
|
||||
d.c = function(marr){
|
||||
if(!d.isArray(marr))
|
||||
{return marr;}
|
||||
var arr=[];
|
||||
arr=[].concat(marr);
|
||||
for(var i=0;i<marr.length;i++)
|
||||
{
|
||||
if(d.isArray(marr[i]))
|
||||
{arr[i]=[].concat(marr[i]);
|
||||
for(var i1=0;i1<marr[i].length;i1++)
|
||||
{
|
||||
if(d.isArray(marr[i][i1]))
|
||||
{arr[i][i1]=[].concat(marr[i][i1]);
|
||||
for(var i2=0;i2<marr[i][i1].length;i2++)
|
||||
{
|
||||
if(d.isArray(marr[i][i1][i2]))
|
||||
{arr[i][i1][i2]=[].concat(marr[i][i1][i2]);
|
||||
for(var i3=0;i3<marr[i][i1][i2].length;i3++)
|
||||
{
|
||||
if(d.isArray(marr[i][i1][i2][i3]))
|
||||
{arr[i][i1][i2][i3]=[].concat(marr[i][i1][i2][i3]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
};
|
||||
|
||||
//同意解散
|
||||
d.a.agree_disband=function()
|
||||
{
|
||||
return;
|
||||
var n=0;
|
||||
var persons=[4,4,3,2];
|
||||
var person=persons[d.roomtype[6]] || 4;
|
||||
for(var i=0;i<person;i++)
|
||||
{
|
||||
if(d.agree[i]==i)
|
||||
{n+=1;}
|
||||
}
|
||||
var agr=d.c(d.agree);
|
||||
if(n>=person-1 && d.agree[C_Player.seat]==C_Player.seat)
|
||||
{var data={};
|
||||
data.agentid=GameData.AgentId;
|
||||
data.gameid=GameData.GameId;
|
||||
data.playerid=C_Player.playerid;
|
||||
data.roomcode=Desk.roomcode;
|
||||
Net.Send_self_agree_free_room(data);
|
||||
}
|
||||
set_self(369,7,"全部同意达成解散");
|
||||
//投票通过
|
||||
var ban=0;
|
||||
for(var i=0;i<4;i++){
|
||||
if(d.agree[i]==i)
|
||||
{
|
||||
for(var j=0;j<3;j++)
|
||||
{
|
||||
if(get_self(264+j,7)=="【"+Desk.PlayerList[i].nickname+"】")
|
||||
{set_self(166+j,7,"同意",0,0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(C_Player.seat==i)
|
||||
{set_self(201,37,0,0,0);
|
||||
set_self(202,37,0,0,0);
|
||||
}
|
||||
ban=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
//退出
|
||||
d.a.exit=function()
|
||||
{
|
||||
if(C_Player.status == 1){
|
||||
GameData.checkType = 2;
|
||||
GameUI.OpenCheckFree("房间仍存在,是否退出?");
|
||||
}else{
|
||||
var data={};
|
||||
data.agentid=GameData.AgentId;
|
||||
data.gameid=GameData.GameId;
|
||||
data.playerid=C_Player.playerid;
|
||||
data.roomcode=Desk.roomcode;
|
||||
Net.Send_self_exit_room(data);
|
||||
setTimeout(GameUI.OpenTips,0,"你被房主拒绝",1500);
|
||||
}
|
||||
}
|
||||
//牌中是否有癞子
|
||||
d.a.have_jing=function(arrs,jing,jing_reduce,hu_note,card)
|
||||
{var jing_num=0;
|
||||
var jing1=jing[1];
|
||||
for(var i=0;i<arrs.length;i++)
|
||||
{
|
||||
if(arrs[i]==jing1)
|
||||
{jing_num+=1;
|
||||
}
|
||||
}
|
||||
if(hu_note[0]==0 && card==jing1)
|
||||
{jing_num+=1;}
|
||||
jing_num-=jing_reduce;
|
||||
return jing_num;
|
||||
}
|
||||
|
||||
//暂无意义
|
||||
d.get_free_hu=function(seat)
|
||||
{
|
||||
var ids=[[1240,1241,1242,1243,1244,1245,1246,1268,1269,1270,1271,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941],
|
||||
[1247,1248,1249,1250,1251,1252,1253,1272,1273,1274,1275,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955],
|
||||
[1254,1255,1256,1257,1258,1259,1260,1276,1277,1278,1279,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969],
|
||||
[1261,1262,1263,1264,1265,1266,1267,1280,1281,1282,1283,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983]
|
||||
];
|
||||
var id=0;
|
||||
for(var i=0;i<11;i++)
|
||||
{
|
||||
if(get_self(ids[seat][i],37,0,0,0)==0)
|
||||
{id=ids[seat][i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return id;
|
||||
}
|
||||
//暂无意义
|
||||
d.get_free_point=function(seat)
|
||||
{
|
||||
var idsym=[];
|
||||
var idnum=[];
|
||||
for(var j=0;j<4;j++)
|
||||
{idsym[j]=[];
|
||||
idnum[j]=[];
|
||||
for(var i=0;i<10;i++)
|
||||
{idsym[j][i]=1774+j*20+i*2;
|
||||
idnum[j][i]=1775+j*20+i*2;
|
||||
}
|
||||
for(var i=0;i<10;i++)
|
||||
{idsym[j][i+10]=1984+j*20+i*2;
|
||||
idnum[j][i+10]=1985+j*20+i*2;
|
||||
}
|
||||
}
|
||||
var id=[];
|
||||
for(var i=0;i<10;i++)
|
||||
{
|
||||
if(get_self(idsym[seat][i],37,0,0,0)==0 && get_self(idnum[seat][i],37,0,0,0)==0)
|
||||
{id[0]=idsym[seat][i];
|
||||
id[1]=idnum[seat][i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return id;
|
||||
}
|
||||
//胡的人数
|
||||
d.get_hu_num=function(seat,final_hu,many_hu)
|
||||
{var hu_num=[0,0,0];
|
||||
if(final_hu[0]==seat)
|
||||
{
|
||||
if(final_hu[1][0]>0)
|
||||
{hu_num[0]+=1;}
|
||||
if(final_hu[1][1]>0)
|
||||
{hu_num[0]+=1;}
|
||||
}
|
||||
else if(many_hu[0][0]==seat)
|
||||
{
|
||||
if(many_hu[0][1][0]>0)
|
||||
{hu_num[0]+=1;}
|
||||
if(many_hu[0][1][1]>0)
|
||||
{hu_num[0]+=1;}
|
||||
}
|
||||
else if(many_hu[1][0]==seat)
|
||||
{
|
||||
if(many_hu[1][1][0]>0)
|
||||
{hu_num[0]+=1;}
|
||||
if(many_hu[1][1][1]>0)
|
||||
{hu_num[0]+=1;}
|
||||
}
|
||||
if(final_hu[0]>-1)
|
||||
{
|
||||
if(final_hu[1][0]>0)
|
||||
{hu_num[1]+=1;}
|
||||
if(final_hu[1][1]>0)
|
||||
{hu_num[1]+=1;}
|
||||
}
|
||||
if(many_hu[0][0]>-1)
|
||||
{
|
||||
if(many_hu[0][1][0]>0)
|
||||
{hu_num[1]+=1;}
|
||||
if(many_hu[0][1][1]>0)
|
||||
{hu_num[1]+=1;}
|
||||
}
|
||||
if(many_hu[1][0]>-1)
|
||||
{
|
||||
if(many_hu[1][1][0]>0)
|
||||
{hu_num[1]+=1;}
|
||||
if(many_hu[1][1][1]>0)
|
||||
{hu_num[1]+=1;}
|
||||
}
|
||||
return hu_num;
|
||||
}
|
||||
//是否参与胡与输
|
||||
d.get_partake=function(seat,hu_note)
|
||||
{var partake=0;
|
||||
if(hu_note[0]==0)
|
||||
{partake=1;}
|
||||
else if(hu_note[0]>0 && hu_note[0]-1==seat)
|
||||
{partake=1;}
|
||||
return partake;
|
||||
}
|
||||
//是否是包3家
|
||||
d.get_bao_pai=function(seat,hu_note,roomtype,peng_chi_num)
|
||||
{var base=roomtype[8] || 0;
|
||||
var base_score=[1,5,10,20,30,50,100];
|
||||
base=base_score[base];
|
||||
//d.peng_chi_num
|
||||
var bao_pai=[];
|
||||
for(var i=0;i<4;i++)
|
||||
{
|
||||
if(i!=seat && peng_chi_num[seat][i]>=3)
|
||||
{bao_pai[bao_pai.length]=i;}
|
||||
}
|
||||
bao_pai[0]=1;
|
||||
if(hu_note[10]>-1 && bao_pai.indexof(hu_note[0]-1)==-1)
|
||||
{bao_pai[bao_pai.length]=hu_note[0]-1;}//无番抢杠包
|
||||
if(hu_note[0]>0 && hu_note[9]>-1 && bao_pai.indexof(hu_note[0]-1)==-1)
|
||||
{bao_pai[bao_pai.length]=hu_note[0]-1;}//剩15张点炮全包
|
||||
return bao_pai;
|
||||
}
|
||||
//多个胡家分数的显示
|
||||
d.get_many_hu_point=function(final_hu,many_hu,hu_note,host,seat,roomtype)
|
||||
{var base=roomtype[8] || 0;
|
||||
var base_score=[1,5,10,20,30,50,100];
|
||||
base=base_score[base];
|
||||
var host2=d.get_host2(hu_note,host,roomtype,final_hu,many_hu,seat);//庄家翻倍
|
||||
//不是流局
|
||||
if(final_hu[0]>=0 && final_hu[0]<4)
|
||||
{
|
||||
var final_hu_point=final_hu[2].point*3;
|
||||
if(hu_note[0]>0)
|
||||
{
|
||||
if(host2==1 && hu_note[7][final_hu[0]]>-1)//不考虑地胡
|
||||
{
|
||||
if(final_hu[0]!=host)
|
||||
{var point2=point2 || 0;
|
||||
final_hu_point=final_hu[2].point*3+final_hu[2].point;
|
||||
}
|
||||
else if(final_hu[0]==host)
|
||||
{final_hu_point=final_hu[2].point*3*2;}
|
||||
}
|
||||
else
|
||||
{final_hu_point=final_hu[2].point;}
|
||||
if(hu_note[2]>0)//地胡
|
||||
{final_hu_point=final_hu_point+20*base;}
|
||||
if(host==final_hu[0] && host2==1 && hu_note[7][final_hu[0]]==-1)//考虑地胡
|
||||
{final_hu_point=final_hu_point*2;}
|
||||
}
|
||||
}
|
||||
var many_hu_point=[0,0];
|
||||
if(many_hu[0][0]>=0 && many_hu[0][0]<4)
|
||||
{
|
||||
if(hu_note[0]>0)
|
||||
{
|
||||
if(host2==1 && hu_note[7][many_hu[0][0]]>-1)//不考虑地胡
|
||||
{
|
||||
if(many_hu[0][0]!=host)
|
||||
{var point2=point2 || 0;
|
||||
many_hu_point[0]=many_hu[0][2].point*3+many_hu[0][2].point;
|
||||
}
|
||||
else if(many_hu[0][0]==host)
|
||||
{many_hu_point[0]=many_hu[0][2].point*3*2;}
|
||||
}
|
||||
else
|
||||
{many_hu_point[0]=many_hu[0][2].point;}
|
||||
if(hu_note[2]>0)//地胡
|
||||
{many_hu_point[0]=many_hu_point[0]+20*base;}
|
||||
if(host==many_hu[0][0] && host2==1 && hu_note[7][many_hu[0][0]]==-1)//庄家翻倍(考虑地胡)
|
||||
{many_hu_point[0]=many_hu_point[0]*2;}
|
||||
}
|
||||
}
|
||||
if(many_hu[1][0]>=0 && many_hu[1][0]<4)
|
||||
{
|
||||
if(hu_note[0]>0)
|
||||
{
|
||||
if(host2==1 && hu_note[7][many_hu[1][0]]>-1)//不考虑地胡
|
||||
{
|
||||
if(many_hu[1][0]!=host)
|
||||
{var point2=point2 || 0;
|
||||
many_hu_point[0]=many_hu[1][2].point*3+many_hu[1][2].point;
|
||||
}
|
||||
else if(many_hu[1][0]==host)
|
||||
{many_hu_point[0]=many_hu[1][2].point*3*2;}
|
||||
}
|
||||
else
|
||||
{many_hu_point[1]=many_hu[1][2].point;}
|
||||
if(hu_note[2]>0)//地胡
|
||||
{many_hu_point[1]=many_hu_point[1]+20*base;}
|
||||
if(host==many_hu[1][0] && host2==1 && hu_note[7][many_hu[1][0]]==-1)//庄家翻倍(考虑地胡)
|
||||
{many_hu_point[0]=many_hu_point[0]*2;}
|
||||
}
|
||||
}
|
||||
var many_points=[0,0,0,0];
|
||||
many_points[final_hu[0]]=final_hu_point;
|
||||
many_points[many_hu[0][0]]=many_hu_point[0];
|
||||
many_points[many_hu[1][0]]=many_hu_point[1];
|
||||
if(hu_note[0]==0 && host!=final_hu[0] && host!=many_hu[0][0] && host!=many_hu[1][0] && host2==1)//庄家翻倍
|
||||
{
|
||||
for(var i=0;i<4;i++)
|
||||
{many_points[i]=many_points[i]*2;}
|
||||
}
|
||||
return many_points;
|
||||
}
|
||||
//是否是庄家,是否翻倍
|
||||
d.get_host2=function(hu_note,host,roomtype,final_hu,many_hu,seat)
|
||||
{var r=0;
|
||||
if(roomtype[7] && roomtype[7]==2)//庄家翻倍
|
||||
{
|
||||
if(hu_note[0]==0)
|
||||
{r=1;}
|
||||
else if(hu_note[0]>0)
|
||||
{
|
||||
if(host==hu_note[0]-1)
|
||||
{
|
||||
if(seat==hu_note[0]-1 || seat==final_hu[0] || seat==many_hu[0][0] || seat==many_hu[1][0])
|
||||
{r=1;}
|
||||
}
|
||||
else if(host==final_hu[0])
|
||||
{
|
||||
if(seat==hu_note[0]-1 || seat==final_hu[0])
|
||||
{r=1;}
|
||||
}
|
||||
else if(host==many_hu[0][0])
|
||||
{
|
||||
if(seat==hu_note[0]-1 || seat==many_hu[0][0])
|
||||
{r=1;}
|
||||
}
|
||||
else if(host==many_hu[1][0])
|
||||
{
|
||||
if(seat==hu_note[0]-1 || seat==many_hu[1][0])
|
||||
{r=1;}
|
||||
}
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
d.a.get_last_Storage=function(){
|
||||
var last_Storage=0;
|
||||
if(window.localStorage) {
|
||||
last_Storage= 1024 * 1024 * 5 - unescape(encodeURIComponent(JSON.stringify(localStorage))).length;
|
||||
}
|
||||
return last_Storage;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
216
codes/games/client/Projects/majiang_jx/js/export/share.js
Normal file
216
codes/games/client/Projects/majiang_jx/js/export/share.js
Normal file
@@ -0,0 +1,216 @@
|
||||
d.a.share = function (roomtype) {
|
||||
if(roomtype){
|
||||
Desk.roomtype=roomtype;
|
||||
}
|
||||
if(Desk.roomtype.length==0){
|
||||
return;
|
||||
}
|
||||
Desk.count = d.gameConfig.asetcount[Desk.roomtype[1]-1] || Desk.count;
|
||||
Game_Config.Share.gameTitle = "\n房号:" + Desk.roomcode;
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
var bawang = Desk.roomtype[2] || 1;
|
||||
var zuidi = Desk.roomtype[17] || 0;
|
||||
var paichi = Desk.roomtype[7] || 1;
|
||||
var msg10 = ["","牌池精算分 ","牌池精不算分 "];
|
||||
if (person==4) {zuidi=0;}
|
||||
var msg9 = [" ","(最低8分) ","(最低16分) ","(最低32分) "];
|
||||
var msg2 = [" ","霸王X2 ", "霸王X4 ", "霸王+10 "];//2霸王 1霸王X2,2霸王X4,3霸王+10
|
||||
var deduct_card = Desk.roomtype[4] || 1;
|
||||
var msg3 = ["","房主付卡 ", "AA付卡 ", "大赢家付卡 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
|
||||
var way = Desk.roomtype[5] || 0;
|
||||
var msg4 = ["","上下翻 ", "埋雷 ", "同一首歌 ","无限发电","固定发电 "];//5玩法 0上翻正常玩法,1上下翻,2埋雷,3同一首歌,4无限发电,5固定发电
|
||||
var huitou=Desk.roomtype[10] || 0;
|
||||
var msg5 = ["","回头一笑 ","回头两笑 "];//10回头一笑 0无回头一笑,1一笑,2两笑
|
||||
var buda=Desk.roomtype[19] || 0;
|
||||
var msg6 = ["",""];
|
||||
var ip = Desk.roomtype[9] || 0;
|
||||
var msg12 = ["","同ip不能进 "];
|
||||
var gps = Desk.roomtype[11] || 0;
|
||||
var msg13 = ["","开启定位 "];
|
||||
var leave = Desk.roomtype[15] || 0;
|
||||
var msg15 = ["","离线托管 "];
|
||||
var exit = Desk.roomtype[24] || 0;
|
||||
var msg16 = ["","不准备踢人 "];
|
||||
if (Desk.roomtype[5]==4) {
|
||||
msg6 = [" ","(不打牌) "];
|
||||
}
|
||||
var beilv = Desk.roomtype[21] || 0;
|
||||
var msg7 = [""];
|
||||
if(Desk.roomtype[21]!=0){
|
||||
deduct_card = 0;
|
||||
msg7 = [beilv+"倍 "];
|
||||
}
|
||||
var msg8 = [""];
|
||||
if(Desk.roomtype[16][1]!=0){
|
||||
msg8 = [Desk.roomtype[16][1]+"倍 "];
|
||||
}
|
||||
var help= Desk.count + "局 ";
|
||||
if (Utl.getIsInfinite() == 0 && Desk.stage != 0 && d.status!=0) {
|
||||
if (d.turn[1] < Desk.count) {
|
||||
help= help + "(" + (d.turn[1] + 1) + "/" + Desk.count + ") ";
|
||||
}
|
||||
else if (d.turn[1] == Desk.count) {
|
||||
help = help + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
|
||||
}
|
||||
}
|
||||
if(Utl.getIsInfinite()==1)
|
||||
{
|
||||
help="";
|
||||
Game_Config.Share.gameDescription ="玩法:" + help + person +"人"+ msg9[zuidi] + msg2[bawang] + msg4[way] +msg6[buda] + msg5[huitou] + msg8[0]+msg10[paichi];
|
||||
help= help + person +"人"+ msg9[zuidi] + msg2[bawang] + msg4[way] +msg6[buda]+ msg5[huitou] + msg8[0]+msg10[paichi];
|
||||
}
|
||||
else{
|
||||
Game_Config.Share.gameDescription ="玩法:" + help + person +"人"+ msg9[zuidi] + msg3[deduct_card] + msg7[0] + msg2[bawang] + msg4[way]+msg6[buda] + msg5[huitou]+msg10[paichi]+msg12[ip]+msg13[gps]+msg15[leave]+msg16[exit];
|
||||
help= help + person +"人"+ msg9[zuidi] + msg3[deduct_card] + msg7[0] + msg2[bawang] + msg4[way] +msg6[buda] + msg5[huitou]+msg10[paichi]+msg12[ip]+msg13[gps]+msg15[leave]+msg16[exit];
|
||||
}
|
||||
var msg_1 = "\n每天可领取免费房卡约麻将";
|
||||
var show = "";
|
||||
if(Utl.getIsInfinite()==1){
|
||||
show ="玩法:" + "" + person +"人"+ msg9[zuidi] + msg2[bawang] + msg4[way] +msg6[buda]+ msg5[huitou] + msg8[0]+msg10[paichi];
|
||||
}else{
|
||||
if (d.turn[1] < Desk.count) {
|
||||
help= Desk.count + "局 " + "(" + (d.turn[1] + 1) + "/" + Desk.count + ") ";
|
||||
}
|
||||
else if (d.turn[1] == Desk.count) {
|
||||
help = Desk.count + "局 " + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
|
||||
}
|
||||
show ="玩法:" + person +"人"+ msg9[zuidi] + msg3[deduct_card] + msg7[0] + msg2[bawang] + msg4[way] +msg6[buda] + msg5[huitou]+msg10[paichi];
|
||||
}
|
||||
var l = d.getLen1(show);
|
||||
set_self(2239, 7, show);
|
||||
set_self(2239, 18, parseInt((1280 - l * 14) / 2), 0, 0);
|
||||
d.a.help_txt();
|
||||
}
|
||||
d.a.help_re = function (roomtype) {
|
||||
if (roomtype) {
|
||||
Desk.roomtype = [].concat(roomtype);
|
||||
}
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
var bawang = Desk.roomtype[2] || 1;
|
||||
var msg2 = ["","霸王X2 ", "霸王X4 ", "霸王+10"];//2霸王 1霸王X2,2霸王X4,3霸王+10
|
||||
var deduct_card = Desk.roomtype[4] || 1;
|
||||
var msg3 = ["","房主付卡 ", "AA付卡 ", "大赢家付卡 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
|
||||
var way = Desk.roomtype[5] || 0;
|
||||
var msg4 = ["","上下翻 ", "埋雷 ", "同一首歌 ","无限发电 ","固定发电 "];//5玩法 0上翻正常玩法,1上下翻,2埋雷,3同一首歌,4无限发电,5固定发电
|
||||
var huitou=Desk.roomtype[10] || 0;
|
||||
var msg5 = ["","回头一笑 ","回头两笑 "];//10回头一笑 0无回头一笑,1一笑,2两笑
|
||||
var beilv = Desk.roomtype[21] || 0;
|
||||
var msg7 = [""];
|
||||
var zuidi = Desk.roomtype[17] || 0;
|
||||
var msg9 = [" ","(最低8分) ","(最低16分) ","(最低32分) "];
|
||||
var msg6 = ["",""];
|
||||
var msg8 = [""];
|
||||
var ip = Desk.roomtype[9] || 0;
|
||||
var msg12 = ["","同ip不能进 "];
|
||||
var gps = Desk.roomtype[11] || 0;
|
||||
var msg13 = ["","开启定位 "];
|
||||
var leave = Desk.roomtype[15] || 0;
|
||||
var msg15 = ["","离线托管 "];
|
||||
var exit = Desk.roomtype[24] || 0;
|
||||
var msg16 = ["","不准备踢人 "];
|
||||
if(Desk.roomtype[16][1]!=0){
|
||||
msg8 = [Desk.roomtype[16][1]+"倍 "];
|
||||
}
|
||||
var buda=Desk.roomtype[19] || 0;
|
||||
if (Desk.roomtype[5]==4) {
|
||||
msg6 = [" ","(不打牌) "];
|
||||
}
|
||||
var paichi = Desk.roomtype[7] || 1;
|
||||
var msg10 = ["","牌池精算分 ","牌池精不算分 "];
|
||||
if(Desk.roomtype[21]!=0){
|
||||
deduct_card = 0;
|
||||
msg7 = [beilv+"倍 "];
|
||||
}
|
||||
var help= Desk.count + "局 ";
|
||||
if(Utl.getIsInfinite()==1)
|
||||
{
|
||||
help="";
|
||||
help= "玩法:" + help + person +"人 " + msg2[bawang] + msg4[way] + msg5[huitou];
|
||||
}else{
|
||||
help= "玩法:" + help + person +"人 " + msg3[deduct_card] + msg7[0] + msg2[bawang] + msg4[way] + msg5[huitou]+msg12[ip]+msg13[gps]+msg15[leave]+msg16[exit];
|
||||
}
|
||||
var show = "";
|
||||
if(Utl.getIsInfinite()==1){
|
||||
show ="玩法:" + "" + person +"人"+ msg9[zuidi] + msg2[bawang] + msg4[way] +msg6[buda]+ msg5[huitou] + msg8[0]+msg10[paichi];
|
||||
}else{
|
||||
if (d.turn[1] < Desk.count) {
|
||||
help= Desk.count + "局 " + "(" + (d.turn[1] + 1) + "/" + Desk.count + ") ";
|
||||
}
|
||||
else if (d.turn[1] == Desk.count) {
|
||||
help = Desk.count + "局 " + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
|
||||
}
|
||||
show ="玩法:" + person +"人"+ msg9[zuidi] + msg3[deduct_card] + msg7[0] + msg2[bawang] + msg4[way] +msg6[buda] + msg5[huitou]+msg10[paichi];
|
||||
}
|
||||
var l = d.getLen1(show);
|
||||
set_self(2239, 7, show);
|
||||
set_self(2239, 18, parseInt((1280 - l * 14) / 2), 0, 0);
|
||||
}
|
||||
d.a.help_txt = function (tou) {
|
||||
tou = tou || "";
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
var bawang = Desk.roomtype[2] || 1;
|
||||
var msg2 = ["","霸王X2 ", "霸王X4 ", "霸王+10"];//2霸王 1霸王X2,2霸王X4,3霸王+10
|
||||
var deduct_card = Desk.roomtype[4] || 1;
|
||||
var msg3 = ["","房主付卡 ", "AA付卡 ", "大赢家付卡 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
|
||||
var way = Desk.roomtype[5] || 0;
|
||||
var msg4 = ["","上下翻 ", "埋雷 ", "同一首歌 ","无限发电 ","固定发电 "];//5玩法 0上翻正常玩法,1上下翻,2埋雷,3同一首歌,4无限发电,5固定发电
|
||||
var huitou=Desk.roomtype[10] || 0;
|
||||
var msg5 = ["","回头一笑 ","回头两笑 "];//10回头一笑 0无回头一笑,1一笑,2两笑
|
||||
var beilv = Desk.roomtype[21] || 0;
|
||||
var msg7 = [""];
|
||||
var ip = Desk.roomtype[9] || 0;
|
||||
var msg12 = ["","同ip不能进 "];
|
||||
var gps = Desk.roomtype[11] || 0;
|
||||
var msg13 = ["","开启定位 "];
|
||||
var leave = Desk.roomtype[15] || 0;
|
||||
var msg15 = ["","离线托管 "];
|
||||
var exit = Desk.roomtype[24] || 0;
|
||||
var msg16 = ["","不准备踢人 "];
|
||||
if(Desk.roomtype[21]!=0){
|
||||
deduct_card = 0;
|
||||
msg7 = [beilv+"倍 "];
|
||||
}
|
||||
var maaa="";
|
||||
maaa = tou + "玩法:\n\n" + " 局数:" + Desk.count + "局\n\n" + " 人数:" + person +"人\n\n" + " 玩法:" + msg4[way] + msg5[huitou] + msg2[bawang] + msg3[deduct_card] + msg7[0]+msg12[ip]+msg13[gps]+msg15[leave]+msg16[exit];
|
||||
txt =tou +maaa;
|
||||
//set_self(2159, 7, txt);
|
||||
}
|
||||
d.a.help_txt1 = function (tou) {
|
||||
tou = tou || "";
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
txt = tou + "玩法:\n\n " + "局数:" + Game_Modify.numOfgame * 8 + "局\n\n ";
|
||||
//set_self(2159, 7, txt);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user