 |
|

01.12.2018, 12:16
|
|
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами:
4821087
Репутация:
133
|
|
Сообщение от Rjx13
Это конечно все не точно, но может тебе даст направление
Код:
Код:
// get player matrix
CMatrix matPed;
pPedSelf->GetMatrix(&matPed);
// tilt player upright
CVector rotationAxis = g_vecUpNormal;
rotationAxis.CrossProduct( &matPed.vUp );
float theta = ( matPed.vUp.DotProduct( &g_vecUpNormal ) );
if ( !near_zero(theta) )
{
matPed = matPed.Rotate( &rotationAxis, cos(theta) );
// normalize everything
matPed.vFront.Normalize();
matPed.vRight.Normalize();
matPed.vUp.Normalize();
// zero near zero
matPed.vFront.ZeroNearZero();
matPed.vRight.ZeroNearZero();
matPed.vUp.ZeroNearZero();
// set player matrix
pPedSelf->SetMatrix(&matPed);
Код:
Код:
CMatrix Rotate ( const CVector * param, float theta )
{
// Rotate the rotation matrix
double sin_t = sinf( theta ), cos_t = cosf( theta );
CMatrix mRotateMult;
// rotate X
mRotateMult.vRight.fX = (double) cos_t + ( 1.0f - cos_t ) * param->fX * param->fX;
mRotateMult.vRight.fY = (double) ( 1.0f - cos_t ) * param->fX * param->fY - sin_t * param->fZ;
mRotateMult.vRight.fZ = (double) ( 1.0f - cos_t ) * param->fX * param->fZ + sin_t * param->fY;
// rotate Y
mRotateMult.vFront.fX = (double) ( 1.0f - cos_t ) * param->fY * param->fX + sin_t * param->fZ;
mRotateMult.vFront.fY = (double) cos_t + ( 1.0f - cos_t ) * param->fY * param->fY;
mRotateMult.vFront.fZ = (double) ( 1.0f - cos_t ) * param->fY * param->fZ - sin_t * param->fX;
// rotate Z
mRotateMult.vUp.fX = (double) ( 1.0f - cos_t ) * param->fZ * param->fX - sin_t * param->fY;
mRotateMult.vUp.fY = (double) ( 1.0f - cos_t ) * param->fZ * param->fY + sin_t * param->fX;
mRotateMult.vUp.fZ = (double) cos_t + ( 1.0f - cos_t ) * param->fZ * param->fZ;
// multiply matrix
mRotateMult = mRotateMult * (*this);
// set vectors
mRotateMult.vPos = vPos;
// return
return mRotateMult;
}
Попробуй еще сам поковыряться в сурсах собейта. По сути можно найти функцию которая срабатывает на Backspace. Она разворачивает кар на 180 градусов. Видимо тебя это интересует
Примерно да
|
|
|

01.12.2018, 15:33
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от rraggerr
Как изменить направление вектора по градусам? CVector
чтобы было примерно так
rotate_vec(Vector, 45)
Уп
по какой из осей?
|
|
|

01.12.2018, 15:37
|
|
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами:
4821087
Репутация:
133
|
|
Сообщение от SR_team
по какой из осей?
право-лево, в сампе это вроде X
А ваще, надо весь вектор повернуть
|
|
|

01.12.2018, 16:13
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от SiTrak
ой, не правильно сформулировал вопрос, как сделать так, чтоб чекбоксы были в 2 столбика?
ImGui::Columns(2,"name(любое)",false)
чекбокс
чекбокс
ImGui::NextColumns()
Чекбокс
чекбокс
ImGui::Columns(1) // закрывающий колумнс
|
|
|

01.12.2018, 16:52
|
|
Новичок
Регистрация: 23.11.2018
Сообщений: 13
С нами:
3932895
Репутация:
0
|
|
как в single убрать людей и транспорт(весь)?
|
|
|

01.12.2018, 17:05
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
|
|
|

01.12.2018, 18:33
|
|
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами:
4480376
Репутация:
183
|
|
Как правильно числа записывать в const char *? Не совсем понимаю, а загуглить правильно не выходит
|
|
|

01.12.2018, 18:39
|
|
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами:
5145387
Репутация:
183
|
|
|
|
|

01.12.2018, 18:49
|
|
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами:
4480376
Репутация:
183
|
|
ImGui::Selectable(std::to_string(i), selected);
хмхмхм
|
|
|

01.12.2018, 19:03
|
|
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами:
5145387
Репутация:
183
|
|
Сообщение от Rio
ImGui::Selectable(std::to_string(i), selected);
хмхмхм
std::to_string(i).c_str()
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|