Как вариант, ускорение +отслеживание положения багажника/капота?
Вид для печати
Ну тогда GetVehicleZAngle + сравнение положения двух точек?
Либо с помощью GetVehicleRotation что-то попробовать можно сделать
Это все полезные функции, но они дадут мне положение машины в пространстве, но что бы понять в какую сторону едет автомобиль - это бесполезно. Угол поворота, что задом машина едет, что передом - останется углом поворота)
Мне нужно получить в какую сторону едет автомобиль с водителем за рулем.
Есть конечно у меня идея одна, сделать полуавтоматическую коробку передач для машины и я могу проверять на какой передаче едет машина, но тогда будет проблема с тормозами, так как в игре клавиша S как тормоз - так и задний ход)
Угол поворота машины что задом что передом не покажет мне в какую сторону едет машина) Я сделал банально просто:
PHP код:
if(PRESSED(KEY_SPRINT))
{
if(IsPlayerInAnyVehicle(playerid) && VehInfo[GetPlayerVehicleID(playerid)][Engine] == 1) SetPVarInt(playerid,"forwardDrive",1);
}
if(RELEASED(KEY_SPRINT))
{
if(IsPlayerInAnyVehicle(playerid) && VehInfo[GetPlayerVehicleID(playerid)][Engine] == 1) SetPVarInt(playerid,"forwardDrive",0);
}
1 запрос в гугл и вот готовый ответ:
Вернёт:PHP код:
stock IsVehicleDrivingBackwards(vehicleid)
{
if(!vehicleid)
return -1;
new Float:Float[3];
GetVehicleVelocity(vehicleid, Float[1], Float[2], Float[0]);
GetVehicleZAngle(vehicleid, Float[0]);
if(Float[0] < 90)
{
if(Float[1] > 0 && Float[2] < 0)
return 1;
}
else if(Float[0] < 180)
{
if(Float[1] > 0 && Float[2] > 0)
return 1;
}
else if(Float[0] < 270)
{
if(Float[1] < 0 && Float[2] > 0)
return 1;
}
else if(Float[1] < 0 && Float[2] < 0)
return 1;
else
return 0;
}
1, если авто едет назад
0, если вперёд
-1, если авто не существует
Как видишь, GetVehicleZAngle + GetVehicleVelocity.