Другое С/С++ Вопрос - Ответ

EclipsedFlow

Известный
Проверенный
1,045
475
Как вывести наименьшее число float из массива std::vector<float> distArray;
Пробовал через std::min_element(); но крашит, код ниже.
C++:
auto result = std::minmax_element(distArray.begin(), distArray.end());
float minValue = *result.first;
SF->Log("%f", minValue);
 

AdCKuY_DpO4uLa

Адский дрочер
Друг
316
672
Как вывести наименьшее число float из массива std::vector<float> distArray;
Пробовал через std::min_element(); но крашит, код ниже.
C++:
auto result = std::minmax_element(distArray.begin(), distArray.end());
float minValue = *result.first;
SF->Log("%f", minValue);
C++:
auto result = std::minmax_element(distArray.begin(), distArray.end(), [](float a, float b){return (a<b);});
float minValue = *result.first;
float maxValue = *result.second;
SF->Log("min: %f, max: %f", minValue, maxValue);
 
  • Нравится
Реакции: EclipsedFlow

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,809
C++:
auto result = std::minmax_element(distArray.begin(), distArray.end(), [](float a, float b){return (a<b);});
float minValue = *result.first;
float maxValue = *result.second;
SF->Log("min: %f, max: %f", minValue, maxValue);
C++:
auto [min, max] = std::minmax_element(distArray.begin(),
                                      distArray.end(),
                                      std::less<float>{});
 
  • Влюблен
  • Нравится
Реакции: legendabrn и EclipsedFlow

EclipsedFlow

Известный
Проверенный
1,045
475
Как-то не корректно работает данная функция, вроде смотрю на точку, а она не рисуется

C++:
bool isPointOnScreen(CVector vecWorld) {
    const D3DXMATRIX m{ reinterpret_cast<float*>(0xB6FA2C) };
    const unsigned long dwLenX = *reinterpret_cast<unsigned long*>(0xC17044);
    const unsigned long dwLenY = *reinterpret_cast<unsigned long*>(0xC17048);

    float z;
    z = (vecWorld.fX * m._33) + (vecWorld.fY * m._23) + (vecWorld.fZ * m._13) + m._43;
    return z >= 1.0f;
}
CVector tpos = {x, y, z};

if (isPointOnScreen(tpos)) {
    // Дальше рисуем фигуры...
}
 

Musaigen

abobusnik
Проверенный
1,607
1,365
Как-то не корректно работает данная функция, вроде смотрю на точку, а она не рисуется

C++:
bool isPointOnScreen(CVector vecWorld) {
    const D3DXMATRIX m{ reinterpret_cast<float*>(0xB6FA2C) };
    const unsigned long dwLenX = *reinterpret_cast<unsigned long*>(0xC17044);
    const unsigned long dwLenY = *reinterpret_cast<unsigned long*>(0xC17048);

    float z;
    z = (vecWorld.fX * m._33) + (vecWorld.fY * m._23) + (vecWorld.fZ * m._13) + m._43;
    return z >= 1.0f;
}
CVector tpos = {x, y, z};

if (isPointOnScreen(tpos)) {
    // Дальше рисуем фигуры...
}
C++:
bool isPointOnScreen(CVector* position, float radius)
{
    auto camera = *reinterpret_cast<void**>(0xB6F028);
    
    return reinterpret_cast<bool(__thiscall*)(void*, CVector*, float)>(0x420D40)(camera, position, radius);
}
 
  • Нравится
Реакции: kin4stat

EclipsedFlow

Известный
Проверенный
1,045
475
C++:
bool isPointOnScreen(CVector* position, float radius)
{
    auto camera = *reinterpret_cast<void**>(0xB6F028);
   
    return reinterpret_cast<bool(__thiscall*)(void*, CVector*, float)>(0x420D40)(camera, position, radius);
}
C++:
// Не рисует, что не так?
CVector tpos = {x, y, z};

if (isPointOnScreen(&tpos, 1)) {
    SF->getRender()->DrawPolygon(sc[0], sc[1], 16, 16, 0, 8, 0xFF00FF00);
    SF->getRender()->DrawLine(sc[0], sc[1], tsc[0], tsc[1], 3, 0xFF00FF00);
    SF->getRender()->DrawPolygon(tsc[0], tsc[1], 16, 16, 0, 8, 0xFF00FF00);
}
 

Mr.Mastire222

Известный
530
260
Можно ли импротировать модели персонажей из гта са в unity и как если можете скажите
 

EclipsedFlow

Известный
Проверенный
1,045
475
Срочно те кто работал с хуками, как называется хук onRemove3DTextLabel в SF я не нашёл
 

EclipsedFlow

Известный
Проверенный
1,045
475
У объектов нет названий же
Ну как-то же делали рвх на руду в шахте, там название текстуры было наверное
1637062836588.png
 
Последнее редактирование: