x86
08.08.2019, 01:51
Что думаете по поводу такой оптимизации?
stock IsVehicleMoving(vehicleid)
{
static Float:x, Float:y, Float:z;
return (GetVehicleVelocity(vehicleid, x, y, z) != 0) &&
((_:x != 0) || (_:y != 0) || (_:z != 0));
}
stock IsVehicleBackwordsDirection(vehicleid)
{
static Float:x, Float:y, Float:z, Float:z_angle;
if (GetVehicleVelocity(vehicleid, x, y, z)) {
if (_:z_angle < 0x42b40000) {
if (_:x > 0 && _:y < 0)
return 1;
} else if (_:z_angle < 0x43340000) {
if (_:x > 0 && _:y > 0)
return 1;
} else if (_:z_angle < 0x43870000) {
if (_:x < 0 && _:y > 0)
return 1;
} else {
if (_:x < 0 && _:y < 0)
return 1;
}
}
return 0;
}
P.S. оптимизация была сделана для таймера. И да, я знаю, что это снижает читаемость кода.
stock IsVehicleMoving(vehicleid)
{
static Float:x, Float:y, Float:z;
return (GetVehicleVelocity(vehicleid, x, y, z) != 0) &&
((_:x != 0) || (_:y != 0) || (_:z != 0));
}
stock IsVehicleBackwordsDirection(vehicleid)
{
static Float:x, Float:y, Float:z, Float:z_angle;
if (GetVehicleVelocity(vehicleid, x, y, z)) {
if (_:z_angle < 0x42b40000) {
if (_:x > 0 && _:y < 0)
return 1;
} else if (_:z_angle < 0x43340000) {
if (_:x > 0 && _:y > 0)
return 1;
} else if (_:z_angle < 0x43870000) {
if (_:x < 0 && _:y > 0)
return 1;
} else {
if (_:x < 0 && _:y < 0)
return 1;
}
}
return 0;
}
P.S. оптимизация была сделана для таймера. И да, я знаю, что это снижает читаемость кода.