删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交: - projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码 - cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码 - CLAUDE.md、.mcp.json 等配置 library/temp/node_modules/dist 等缓存由 .gitignore 排除。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
515 lines
14 KiB
JavaScript
515 lines
14 KiB
JavaScript
//防作弊
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|