Код:
new Float:PlayerSpawnPoint[12][4] = { //X, Y, Z, A
{2601.5474,2129.8083,10.8203,121.5224},
{2624.4045,2343.3479,10.8203,208.7035},
{1679.2024,1443.3879,10.7745,283.1150},
{2476.7537,940.4557,10.8203,26.9844},
{2805.1868,931.8675,10.9766,141.1604},
{2592.5164,1145.0066,10.8203,280.1238},
{2500.9241,1266.6938,10.8125,250.4189},
{2447.3445,1492.5360,10.9063,132.8693},
{2308.8032,2345.2141,10.8203,54.4879},
{1716.9596,2309.0173,10.8203,208.8943},
{1468.0142,2004.2874,10.8203,192.5753},
{2049.2874,1957.5283,11.9496,234.1964}
};
Код:
new closest = -1;
for(new i = 0; i < 12; i++)
{
if(distance(playerid, PlayerSpawnPoint[i][0], PlayerSpawnPoint[i][1], PlayerSpawnPoint[i][2]) < distance(playerid, PlayerSpawnPoint[closest][0], PlayerSpawnPoint[closest][1], PlayerSpawnPoint[closest][2]) && closest != -1)
{
closest = i;
}
if(closest == -1) closest = i;
}
Код:
stock distance(playerid, x2, y2, z2)
{
new Float:dis, x1, y1, z1;
if(!IsPlayerConnected(playerid))
{
return 0;
}
GetPlayerPos(playerid, x1, y1, z1);
dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(dis);
}