PHP код:
stock Float:GetVehicleSpeed(vehicleid)
{
new
Float:x,
Float:y,
Float:z;
GetVehicleVelocity(vehicleid, x, y, z);
if(z <= -5.0) return -1.0;
else return VectorSize(x, y, z) * 180.0;
}
Например, так. А потом уже там, где используешь GetVehicleSpeed, проверять значение на -1.0 и обрывать проверку в античите.
Только учти, что оба значения (-5.0 и -1.0) я взял из головы и тебе самому стоит их подобрать, дабы не было ложных срабатываний + такую функцию уже не получится использовать в обычном спидометре (если игрок начнёт спускаться с горы/падать, функция вернёт -1.0 и в спидометре будет соответствующее значение). Можно либо ещё одну функцию написать, ал-я
PHP код:
stock Float:GetVehicleSpeedAC(vehicleid)
{
new
Float:x,
Float:y,
Float:z;
GetVehicleVelocity(vehicleid, x, y, z);
if(z <= -5.0) return -1.0;
else return VectorSize(x, y, z) * 180.0;
}
И использовать её в античите
Либо переделать эту функцию на такой ляд
PHP код:
stock Float:GetVehicleSpeed(vehicleid, mode = 0)
{
new
Float:x,
Float:y,
Float:z;
GetVehicleVelocity(vehicleid, x, y, z);
if(mode == 1 && z <= -5.0) return -1.0;
else return VectorSize(x, y, z) * 180.0;
}
В античите используя уже так:
PHP код:
GetVehicleSpeed(vehicleid, 1);
Либо просто (я выбрал бы этот вариант) использовать код функции напрямую в античите, типа
PHP код:
new
Float:x,
Float:y,
Float:z;
GetVehicleVelocity(vehicleid, x, y, z);
if(z <= -5.0) continue;//Если проверка циклом. Если это функция - просто return
new Float:vehicle_speed = VectorSize(x, y, z) * 180.0;