PDA

Просмотр полной версии : [Вопрос] Координаты перед авто



verteich
03.05.2019, 13:28
Как узнать координаты перед авто, +6?


new Float:x, Float:y, Float:z;
GetCoordBonnetVehicle(carid, x, y, z);
SetVehiclePos(carid, x, y, z);



stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z)
{
new Float:angle,Float:distance;
GetVehicleModelInfo(GetVehicleModel(vehicleid), 1, x, distance, z);
distance = distance/2 + 0.1;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (distance * floatsin(-angle+180, degrees));
y -= (distance * floatcos(-angle+180, degrees));
return 1;
}

m1n1vv
03.05.2019, 22:24
stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 - distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}

verteich
03.05.2019, 22:47
stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 - distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}



stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 - distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}

Если я правильно понял в параметр distance, насколько я хочу отдалить координаты от авто

m1n1vv
07.05.2019, 01:04
stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 - distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}

Если я правильно понял в параметр distance, насколько я хочу отдалить координаты от авто

Ага

verteich
07.05.2019, 14:35
Ага

ага только двигает назад

verteich
08.05.2019, 21:19
не решено:(

DeimoS
08.05.2019, 21:41
Ну должно быть логично, что если положительное значение даёт координату за авто, то отрицательное значение даст координату перед авто.

А так же должно быть логично, что для достижения нужного эффекта без указания отрицательных значений достаточно внутри функции "-distance" заменить на "+distance". Для этого не нужно знать Pawn или понимать принципы программирования. Это обычная логика :)

stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 + distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}

verteich
08.05.2019, 21:53
Ну должно быть логично, что если положительное значение даёт координату за авто, то отрицательное значение даст координату перед авто.

А так же должно быть логично, что для достижения нужного эффекта без указания отрицательных значений достаточно внутри функции "-distance" заменить на "+distance". Для этого не нужно знать Pawn или понимать принципы программирования. Это обычная логика :)

stock GetCoordBonnetVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:distance)
{
new
Float:angle,
Float:dis;

dis = dis/2 + distance;
GetVehiclePos(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, angle);
x -= (dis * floatsin(-angle+180, degrees));
y -= (dis * floatcos(-angle+180, degrees));
return 1;
}

Все работает, спасибо большое!