HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3081  
Старый 01.12.2018, 12:16
rraggerr
Познавший АНТИЧАТ
Регистрация: 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 градусов. Видимо тебя это интересует
Примерно да
 
Ответить с цитированием

  #3082  
Старый 01.12.2018, 15:33
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от rraggerr  

Как изменить направление вектора по градусам? CVector
чтобы было примерно так
rotate_vec(Vector, 45)

Уп
по какой из осей?
 
Ответить с цитированием

  #3083  
Старый 01.12.2018, 15:37
rraggerr
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами: 4821087

Репутация: 133


По умолчанию

Цитата:
Сообщение от SR_team  

по какой из осей?
право-лево, в сампе это вроде X

А ваще, надо весь вектор повернуть
 
Ответить с цитированием

  #3084  
Старый 01.12.2018, 16:13
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Цитата:
Сообщение от SiTrak  

ой, не правильно сформулировал вопрос, как сделать так, чтоб чекбоксы были в 2 столбика?
ImGui::Columns(2,"name(любое)",false)

чекбокс

чекбокс

ImGui::NextColumns()

Чекбокс

чекбокс

ImGui::Columns(1) // закрывающий колумнс
 
Ответить с цитированием

  #3085  
Старый 01.12.2018, 16:52
MILLKISI
Новичок
Регистрация: 23.11.2018
Сообщений: 13
С нами: 3932895

Репутация: 0
По умолчанию

как в single убрать людей и транспорт(весь)?
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Цитата:
Сообщение от rraggerr  

право-лево, в сампе это вроде X

А ваще, надо весь вектор повернуть
Вот тебе функция гонщика, вращающая XY

AsiBase(https://git.prime-hack.net/SR_team/AsiBase/src/branch/master/CGame/Types.cpp#L23)
 
Ответить с цитированием

  #3087  
Старый 01.12.2018, 18:33
AnWu
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами: 4480376

Репутация: 183


По умолчанию

Как правильно числа записывать в const char *? Не совсем понимаю, а загуглить правильно не выходит
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Цитата:
Сообщение от Rio  

Как правильно числа записывать в const char *? Не совсем понимаю, а загуглить правильно не выходит
тебе надо tostring? to_string - C++ Reference(http://www.cplusplus.com/reference/string/to_string/)
 
Ответить с цитированием

  #3089  
Старый 01.12.2018, 18:49
AnWu
Флудер
Регистрация: 08.11.2017
Сообщений: 4,787
С нами: 4480376

Репутация: 183


По умолчанию

Цитата:
Сообщение от imring  
ImGui::Selectable(std::to_string(i), selected);

хмхмхм
 
Ответить с цитированием

  #3090  
Старый 01.12.2018, 19:03
imring
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами: 5145387

Репутация: 183


По умолчанию

Цитата:
Сообщение от Rio  

ImGui::Selectable(std::to_string(i), selected);
хмхмхм
std::to_string(i).c_str()
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.