Files
joywayerandClaude Opus 4.8 7ab748919a chore: 纳入项目全部源码进根仓库统一管理
删除 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>
2026-06-28 11:55:13 +08:00

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);
}
}
}
}