Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Keybins + spec list

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
уверен что не норм.если хочешь кидай сурс и мб чекну или кто то другой или танцы с бумбом у тебя будет
C++:
Expand Collapse Copy
auto size = fonted::m_tahoma14->CalcTextSizeA(16.f, FLT_MAX, NULL, spectators.c_str());

    ImGui::SetNextWindowSize(ImVec2(300, size.y + 40.f));
    if (ImGui::Begin("Spectator List", NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse))
    {
        ImGui::Text(spectators.c_str());
        ImGui::End();
    }
 
C++:
Expand Collapse Copy
auto size = fonted::m_tahoma14->CalcTextSizeA(16.f, FLT_MAX, NULL, spectators.c_str());

    ImGui::SetNextWindowSize(ImVec2(300, size.y + 40.f));
    if (ImGui::Begin("Spectator List", NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse))
    {
        ImGui::Text(spectators.c_str());
        ImGui::End();
    }
заебись код чел
1.ты хоть его вызвал (блять забыл как называется)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
заебись код чел
1.ты хоть его вызвал (блять забыл как называется)
C++:
Expand Collapse Copy
void misc::spectators_list()
{
    if (!g_cfg.visuals.speclist)
        return;

    if (!g_ctx.local()->is_alive())
        return;

    std::string spectators;

    for (int i = 0; i < m_engine()->GetMaxClients(); i++)
    {
        auto e = static_cast<player_t*>(m_entitylist()->GetClientEntity(i));

        if (!e)
            continue;

        if (e->is_alive())
            continue;

        if (e->IsDormant())
            continue;

        if (e->m_hObserverTarget().Get() != g_ctx.local())
            continue;

        
        player_info_t player_info;
        m_engine()->GetPlayerInfo(i, &player_info);

        spectators += std::string(player_info.szName);
    }

    auto size = fonted::m_tahoma14->CalcTextSizeA(16.f, FLT_MAX, NULL, spectators.c_str());

    ImGui::SetNextWindowSize(ImVec2(300, size.y + 40.f));
    if (ImGui::Begin("Spectator List", NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse))
    {
        ImGui::Text(spectators.c_str());
        ImGui::End();
    }
      

}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1) Если курсор в рамках листа && лкс не зажата -> сохраняем dragPosition для x и y, ставим isDragging на false.
2) Если лкм была нажата в рамках листа -> ставим isDragging на true
3) Если isDragging == true && лкм зажата -> Если cursorPosition != drugPostion -> x -= dragPosition - cursorPosition; dragPosition = cursorPosition;


C++:
Expand Collapse Copy
bool isCursorInListByX( cursorPosition, xPosition, windowWidth )
{
    if (cursorPosition.x > xPosition && cursorPosition.x < xPosition + windowWidth) {
        return true;
    }
    return false;
}

bool isCursorInListByY( cursorPosition, yPosition, windowHeight )
{
    if (cursorPosition.y > yPosition && cursorPosition.y < yPosition + windowHeight) {
        return true;
    }
    return false;
}

bool isCursorInList( xPosition, yPosition, windowWidth, windowHeight )
{
    if (isCursorInListByX( getCursorPosition(), xPosition, windowWidth )
    && isCursorInListByY( getCursorPosition(), yPosition, windowHeight )) {
        return true;
    }
    return false;
}

void moveList()
{
    static bool isDragging = false;
    static int dragXPosition = 0;
    static int dragYPosition = 0;
    static int xPosition = 200;
    static int yPosition = 200;
    const int windowWidth = 200;
    const int windowHeight = 350;
    Vector2D cursorPosition = getCursorPosition();
    if (!GetAsyncKeyState(1)) {
        isDragging = false;
        if (isCursorInListByX( cursorPosition, xPosition, windowWidth )) {
            dragXPosition = cursorPosition.x;
        }
        if (isCursorInListByY( cursorPosition, yPosition, windowHeight )) {
            dragYPosition = cursorPosition.y;
        }
    }
 
    if (GetAsyncKeyState(1) && isCursorInList( xPosition, yPosition, windowWidth, windowHeight )) {
        isDragging = true;
    }
 
    if (GetAsyncKeyState(1) && isDragging) {
        if (cursorPosition.x != dragXPosition) {
            xPosition -= ( dragXPosition - cursorPosition.x );
            dragXPosition = cursorPosition.x;
        }
        if (cursorPosition.y != dragYPosition) {
            yPosition -= ( dragYPosition - cursorPosition.y );
            dragYPosition = cursorPosition.y;
        }
    }
 
}
 
Назад
Сверху Снизу