http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/polyshen-skorosti
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Функция получения скорости игрока или транспорта

Создается переменная, после которой идет условие, если игрок, находится в какой либо машине.
Если условие истинно, проверяем скорость, с которой движется транспорт, если условие ложно, проверяем, с какой скоростью движется игрок.
Дальше путем сложных подсчетов определяется скорость.

GetPlayerSpeed(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) +
floatpower(floatabs(ST[2]), 2.0)) * 150.0;
return floatround(ST[3]);
}


Функция floatlabs - возвращает абсолютную величину отрицательного или положительного числа, floatpower - возводит вещественное число в степень, floatsqroot - вычисляет квадратный корень данного вещественного числа.
Данная функция возвращает скорость игрока либо транспорта (8 строка).
Поэтому если вы, например, хотите записать эту скорость в переменную, допустим Speed, пишем так:

1 new Speed = GetPlayerSpeed(playerid);




Опубликовано 11 December 2013