Рабочая функция:
Цитата
stock Float:GetDistance(Float:pos1[3], Float:pos2[3]) //получает дистанцию между двух точек. (В 3D пространстве).
{ new Float:res;
res = SquareRoot( Pow(pos2[0] - pos1[0], 2.0) + Pow(pos2[1] - pos1[1], 2.0) ); //Получаем расстояние между 2 точками в 2D
new Float:high;
if (pos1[2] < pos2[2])// Если высота 2 точки больше высоты 1 точки, то отнимаем от 2 высоты первую.
{
high = pos2[2] - pos1[2];
}
else //Если наоборот, то отнимаем от первой высоты вторую.
{
high = pos1[2] - pos2[2];
}
new Float:end;
end = SquareRoot( Pow(high, 2.0) + Pow(res , 2.0) ); //Находим гипотенузу путем теоремы Пифагора для 2 катетов (высота и расстояние)
return end; //Выводим то, что получилось.
}