Данная функция измеряет расстояние между точками(координатами). Я давно её искал, вот решился поделится c samp-rus.))
Начинаем собственно с самого стока команды:
Code
stock Float:GetDistanceBetweenPoints(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ) return floatsqroot(floatadd(floatadd(floatpower(floatsub(X, PointX), 2.0), floatpower(floatsub(Y, PointY), 2.0)), floatpower(floatsub(Z, PointZ), 2.0)));
stock Float:GetDistanceBetweenPlayers(playerid, otherplayerid)
{
new Float:X[2], Float:Y[2], Float:Z[2];
GetPlayerPos(playerid, X[0], Y[0], Z[0]);
GetPlayerPos(otherplayerid, X[1], Y[1], Z[1]);
return GetDistanceBetweenPoints(X[0], Y[0], Z[0], X[1], Y[1], Z[1]);
}
После вписания данного стока в ваш мод - можно будет пользоваться просто GetDistanceBetweenPoints.
Пример:
new Float:posx, Float:posy, Float:posz;
Playercoordinat = GetPlayerPos(playerid, posx, posy, posz);
format(string, sizeof(string), "До пункта назначения вам остлось %d метров.", GetDistanceBetweenPoints(Playercoordinat,123.321,123.321,123.321));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
К сожалению, мне не удалось испробовать данную функцию(пишу с компа друга)(как только буду дома - исправлю это ^_^ ).