new Float:someArray[8][3] = { {1172.8717,-1323.2656,15.3995}, {2036.4738,-1411.0497,17.1641}, {1607.0693,1819.1843,10.8280}, {-322.1866,1050.9784,20.3403}, {-1515.0483,2521.4893,55.8556}, {-2658.1541,631.2337,14.4531}, {-2201.3555,-2307.5193,30.6250}, {1241.8477,327.6182,19.7555} }; Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) { return floatsqroot(floatpower(x1 - x2, 2) + floatpower(y1 - y2, 2) + floatpower(z1 - z2, 2)); } stock Float:GetClosestPoint( Float:pointsArray[][], sizeofArray, &Float:x, &Float:y, &Float:z ) { new Float:pdist; new Float:dist; new cellP; pdist = GetDistanceBetweenPoints( pointsArray[0][0], pointsArray[0][1], pointsArray[0][2], x, y, z ); cellP = 0; for( new i = 1; i < sizeofArray; i++ ) { dist = GetDistanceBetweenPoints( pointsArray[i][0], pointsArray[i][1], pointsArray[i][2], x, y, z ); if( dist < pdist ) { pdist = dist; cellP = i; } } x = pointsArray[cellP][0]; y = pointsArray[cellP][1]; z = pointsArray[cellP][2]; return pdist; } public OnPlayerDeath(playerid, killerid, reason) { new Float:x, Float:y, Float:z, Float:ang; GetPlayerPos( playerid, x, y, z ); GetClosestPoint( someArray, 3, x, y, z ); SetSpawnInfo(playerid,GetPlayerTeam(playerid),GetPlayerSkin(playerid),x,y,z,GetPlayerFacingAngle(playerid,Float:ang),0,0,0,0,0,0); return 1; }