PDA

Просмотр полной версии : [Вопрос] Определение поворота автомобиля



BonBon
18.02.2016, 17:53
Всем привет, надеюсь поможете :)


Ситуация такова, все ни как не могу понять как определить в какую сторону у меня поворачивает автомобиль.
Если у кого то есть идеи, или даже готовый вариант - выручайте =)

$continue$
18.02.2016, 18:26
Эмм?


if(strcmp(cmdtext, "/vehrot", true) == 0)
{
new vehicle_id = GetPlayerVehicleID(playerid);
if(0 == vehicle_id)
return SendClientMessage(playerid, -1 "Вы не в транспортном средстве!");
new Float :angle_vehicle;
static const msg[] = "Угол поворота транспортного средства: %1.4f"
new fmt_str[sizeof(msg) - 5];

GetVehicleZAngle(vehicle_id, angle_vehicle);

format(fmt_str, sizeof(fmt_str), msg, angle_vehicle);
SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);
return 1;
}

BonBon
18.02.2016, 19:05
Эмм?


if(strcmp(cmdtext, "/vehrot", true) == 0)
{
new vehicle_id = GetPlayerVehicleID(playerid);
if(0 == vehicle_id)
return SendClientMessage(playerid, -1 "Вы не в транспортном средстве!");
new Float :angle_vehicle;
static const msg[] = "Угол поворота транспортного средства: %1.4f"
new fmt_str[sizeof(msg) - 5];
new message[32];

GetVehicleZAngle(vehicle_id, angle_vehicle);

format(fmt_str, sizeof(fmt_str), msg, angle_vehicle);
SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);
return 1;
}


Нет, не верно объяснил я :)
Смотри вот еду я прямо поворачиваю я на лево (делаю поворот ну не важно что), тоже самое и на право...
Как мне определить в какую сторону поворачиваю на уровне кода ?)

Daniel_Cortez
18.02.2016, 19:10
Нет, не верно объяснил я :)
Смотри вот еду я прямо поворачиваю я на лево (делаю поворот ну не важно что), тоже самое и на право...
Как мне определить в какую сторону поворачиваю на уровне кода ?)
Либо по нажатым клавишам, либо в OnPlayerUpdate сохранять старый угол поворота машины и при следующем вызове сравнивать с новым.

BonBon
18.02.2016, 19:25
Либо по нажатым клавишам, либо в OnPlayerUpdate сохранять старый угол поворота машины и при следующем вызове сравнивать с новым.

По нажатым клавишам нужно использовать GetPlayerKey(...) как я понимаю.
Тем более только что выяснил (На офф сайте написано о том что не поддерживаются клавиши A и D):
As of update 0.3.7, the keys "A" and "D" are not recognized when in a vehicle.

С GetVehicleZAngle пробовал сделать - не удачный вариант)

vovandolg
18.02.2016, 19:40
OnPlayerKeyStateChange не поможет?

BonBon
18.02.2016, 19:42
OnPlayerKeyStateChange не поможет?

От него только часть, но для начала нужно определить в какую строну поворачивает автомобиль)

StevenH
18.02.2016, 20:38
По нажатым клавишам нужно использовать GetPlayerKey(...) как я понимаю.
Тем более только что выяснил (На офф сайте написано о том что не поддерживаются клавиши A и D):
As of update 0.3.7, the keys "A" and "D" are not recognized when in a vehicle.

С GetVehicleZAngle пробовал сделать - не удачный вариант)

Лично у меня кнопки A и D работают в GetPlayerKeys:


// в OnPlayerUpdate
new newkeys,ud,lr;
GetPlayerKeys(playerid, newkeys, ud, lr);
if(lr > 0) printf("leftright");
else if(lr < 0) printf("updown");


Так же и с ud

vovandolg
18.02.2016, 20:53
Лично у меня кнопки A и D работают в GetPlayerKeys:


Так ему же надо чтобы каждую кнопку отдельно показывало, а в твоём случае 1 переменная lr будет показывать сразу за две кнопки.

BonBon
20.02.2016, 10:12
Лично у меня кнопки A и D работают в GetPlayerKeys:


// в OnPlayerUpdate
new newkeys,ud,lr;
GetPlayerKeys(playerid, newkeys, ud, lr);
if(lr > 0) printf("leftright");
else if(lr < 0) printf("updown");


Так же и с ud

К сожалению она не определяет их когда игрок в автомобиле...