Я не говорю, что функция не рабочая, я говорю как сделать так, чтобы вычислить минимальную дистанцию из 20 точек и указать именно на неё.
Вид для печати
Я не говорю, что функция не рабочая, я говорю как сделать так, чтобы вычислить минимальную дистанцию из 20 точек и указать именно на неё.
В общем, как-то так:
PHP код:
new Float:StationPos[][] =
{
{11.0, 22.0, 1.0},
{33.0, 44.0, 1.0},
{55.0, 66.0, 1.0},
{77.0, 88.0, 1.0}
};
enum StationPosInfo
{
Float:Position[2],
StationId
};
new StantionInfo[StationPosInfo];
PHP код:
stock FindTheNearestStation(playerid)
{
StantionInfo[Position][0] = GetPlayerDistanceFromPoint(playerid, StationPos[0][0], StationPos[0][1], StationPos[0][2]);
for(new i = 1; i < sizeof(StationPos); ++i)
{
if(StantionInfo[Position][0] <= (StantionInfo[Position][1] = GetPlayerDistanceFromPoint(playerid, StationPos[i][0], StationPos[i][1], StationPos[i][2]))) continue;
StantionInfo[Position][0] = StantionInfo[Position][1];
StantionInfo[StationId] = i;
}
SetPlayerCheckpoint(playerid, StationPos[StantionInfo[StationId]][0], StationPos[StantionInfo[StationId]][1], StationPos[StantionInfo[StationId]][2], 3.0);
return 1;
}
Спасибо, это мне и надо было:i-m_so_happy: