ПОМОГИТЕ!! Саб табы

Забаненный
Статус
Оффлайн
Регистрация
16 Дек 2017
Сообщения
54
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
У меня случилась БЕДА.

Я захотел себе в меню вставить саб табы. Для удобства, красочности картинки и так далее. Вообщем я их вставил, и эти саб табы начали переходить на другие вкладки, и всё что ниже этой вкладки(которая с саб табами) начало переходить в вкладку с саб табами. Вообщем полнейшая ХРЕНЬ случилась..

Я надеюсь на вашу помощь!

Код void-ов этих саб-табов:
Код:
   void DrawVisualsOther()
    {
        //ImGui::SameLine();
        //ImGui::GetCurrentWindow()->DC.CursorPos.y += 6;
        int tabWidth = CalcTabWidth(4);
 
        /*if (DrawTab(XorStr("ESP"), tabWidth, tabHeight, visEspTab, false)) SelectVisualsSubTab(&visEspTab);
        if (DrawTab(XorStr("Chams"), tabWidth, tabHeight, visChamsTab, false)) SelectVisualsSubTab(&visChamsTab);
        if (DrawTab(XorStr("Hands"), tabWidth, tabHeight, visHandsTab, false)) SelectVisualsSubTab(&visHandsTab);
        if (DrawTab(XorStr("Misc##0"), tabWidth, tabHeight, visMiscTab, false)) SelectVisualsSubTab(&visMiscTab);*/
        //ImGui::NewLine();
 
        ImVec2 siz = ImVec2(185, curHeight - ImGui::GetCursorPosY() - 40);
        ImVec2 csize = ImVec2(siz.x - 28, 0);
        ImVec2 asize = ImVec2(csize.x - 10, 0);
 
        ImGui::Columns(2, false);
        ImGui::BeginGroup();
 
        if (DrawTab(XorStr("Main"), tabWidth, tabHeight, visMainTab, false)) SelectVisualsSubTab(&visMainTab);
        ImGui::SameLine();
        if (DrawTab(XorStr("Other"), tabWidth, tabHeight, visOtherTab, false)) SelectVisualsSubTab(&visOtherTab);
 
        ImGui::Checkbox(XorStr("Droped Weapon"), &Options::Visuals::Misc::DropESP);
        ImGui::Checkbox(XorStr("Droped Grenades"), &Options::Visuals::Misc::Grenades);
        ImGui::Checkbox(XorStr("No Flash"), &Options::Misc::NoFlash);
        ImGui::SliderFloat(XorStr("##1"), &Options::Misc::NoFlashAlpha, 0, 255, "%.1f", 1.0F, asize);
        ImGui::Checkbox(XorStr("View Fov Changer"), &Options::Visuals::Misc::FovChanger);
        ImGui::SliderFloat(XorStr("##2"), &Options::Visuals::Misc::FovChangerValue, 70, 160, "%.1f", 1.0F, asize);
        ImGui::Checkbox(XorStr("View Model Changer"), &Options::Visuals::Misc::ViewmodelChanger);
        ImGui::SliderFloat(XorStr("##3"), &Options::Visuals::Misc::ViewmodelChangerValue, 70, 160, "%.1f", 1.0F, asize);
        ImGui::Checkbox(XorStr("Hit info"), &Options::Misc::HitInfo);
 
        ImGui::EndGroup();
 
        ImGui::SameLine(/*posX*/);
 
        ImGui::NextColumn();
        ImGui::BeginGroup();
        ImGui::Text(XorStr("Radar"));
        ImGui::Checkbox(XorStr("Active"), &Options::Radar::Enabled);
 
        ImGui::Combo(XorStr("Style"), &Options::Radar::Type, "style 1\0style 2\0style 3\0style 4\0\0", -1);
 
        ImGui::Checkbox(XorStr("Enemy only"), &Options::Radar::EnemyOnly);
        ImGui::Checkbox(XorStr("Visible only"), &Options::Radar::VisibleOnly);
        ImGui::Checkbox(XorStr("Smoke check"), &Options::Radar::SmokeCheck);
        ImGui::Checkbox(XorStr("View check"), &Options::Radar::ViewCheck);
 
        ImGui::Text(XorStr("Radar Alpha")); ImGui::SameLine();
        ImGui::SliderInt(XorStr("Radar Alpha##0"), &Options::Radar::Alpha, 0, 255);
 
        ImGui::Text(XorStr("Radar Zoom")); ImGui::SameLine();
        ImGui::SliderFloat(XorStr("Radar Zoom##0"), &Options::Radar::Zoom, 0, 4);
 
        if (ImGui::Button(XorStr("Reset Radar Size"), ImVec2(80, 0))) G::NextResetRadar = true;
        ImGui::EndGroup();
    }
    void DrawVisualsMain()
    {
 
        int tabWidth = CalcTabWidth(4);
 
        ImVec2 siz = ImVec2(185, curHeight - ImGui::GetCursorPosY() - 40);
        ImVec2 csize = ImVec2(siz.x - 28, 0);
        ImVec2 asize = ImVec2(csize.x - 10, 0);
 
        ImGui::Columns(2, false);
        ImGui::BeginGroup();
 
 
        if (DrawTab(XorStr("Main"), tabWidth, tabHeight, visMainTab, false)) SelectVisualsSubTab(&visMainTab);    
        ImGui::SameLine();
        if (DrawTab(XorStr("Other"), tabWidth, tabHeight, visOtherTab, false)) SelectVisualsSubTab(&visOtherTab);
 
        ImGui::Checkbox(XorStr("Active"), &Options::Visuals::ESP::Enabled);
        ImGui::Text(XorStr("Boxes"));
        ImGui::Checkbox(XorStr("Active Box"), &Options::Visuals::ESP::Box);
        ImGui::Text(XorStr("Style Box"));
        ImGui::Combo(XorStr("Style"), &Options::Visuals::ESP::Style, "Default\0Default outlined\0Corner\0Corner outlined\0\r3D\0\r3D filled\0\r3D filled outline\0\0", -1, csize);
        ImGui::Checkbox(XorStr("Enemy only"), &Options::Visuals::ESP::EnemyOnly);
        ImGui::Checkbox(XorStr("Visible only"), &Options::Visuals::ESP::VisibleOnly);
        ImGui::Checkbox(XorStr("Smoke check"), &Options::Visuals::ESP::SmokeCheck);
        ImGui::Checkbox(XorStr("Player Health bar"), &Options::Visuals::ESP::Health);
        ImGui::Checkbox(XorStr("Player Name"), &Options::Visuals::ESP::Name);
        //poka net      ImGui::Checkbox(XorStr("Player Weapon"), &Options::Visuals::ESP::Weapon);
        ImGui::Checkbox(XorStr("Enable Hands"), &Options::Visuals::Hands::Enabled);
        ImGui::Text(XorStr("Hands Style"));
        ImGui::Combo(XorStr(""), &Options::Visuals::Hands::Style, "Black\0Disabled\0Chams\0Wireframed Chams\0Rainbow Chams\0Rainbow Wireframe\0\0", -1, csize);
        ImGui::Checkbox(XorStr("Dlight"), &Options::Visuals::ESP::Lights);
 
        ImGui::EndGroup();
 
        ImGui::SameLine(/*posX*/);
 
        ImGui::NextColumn();
        ImGui::BeginGroup();
        ImGui::Text(XorStr("Misc"));
        ImGui::Text("Chams");
        ImGui::Checkbox(XorStr("Active Chams"), &Options::Visuals::Chams::Enabled);
        ImGui::Checkbox(XorStr("Enemy only"), &Options::Visuals::Chams::EnemyOnly); ImGui::SameLine();
        ImGui::Checkbox(XorStr("Visible only"), &Options::Visuals::Chams::VisibleOnly);
        ImGui::Combo(XorStr("0"), &Options::Visuals::Chams::Style, "Models\0Flat\0Textured\0\0\0", -1, csize);
        ImGui::Checkbox(XorStr("Rainbow"), &Options::Visuals::Chams::RainBow);
        if (Options::Visuals::Chams::RainBow)
        {
            ImGui::SameLine(); ImGui::Checkbox(XorStr("Visible"), &Options::Visuals::Chams::VisibleRainBow);
            ImGui::SameLine(); ImGui::Checkbox(XorStr("In Visible"), &Options::Visuals::Chams::InVisibleRainBow);
        }
        ImGui::EndGroup();
    }
Штуки для их существования, склеивания и так далее:
Код:
            DrawTabs();
            if (curWidth >= windowWidth &&
                curHeight >= windowHeight)
            {
                if (legitTab) DrawLegitTab();
                if (changerTab) DrawChangerTab();
                if (visOtherTab) DrawVisualsOther();
                if (visMainTab) DrawVisualsMain();
                if (colorsTab) DrawColorsTab();
                if (miscTab) DrawMiscTab();
            }
 
            ImGui::End();
        }
    }
 
Это в конце, далее в начале
 
namespace CMenu
{
    bool legitTab = true;
    bool visualsTab = false;
    bool changerTab = false;
    bool colorsTab = false;
    bool miscTab = false;
 
    bool visMainTab = true;
    bool visOtherTab = false;
 
    int windowWidth = 800;
    int windowHeight = 525;
    int curWidth = 1;
    int curHeight = 1;
    int curX = 0;
    int curY = 0;
    int tabHeight = 35;
 
    LONGLONG LastFrameTime;
    float deltaTime;
 
    LONGLONG milliseconds_now() {
        static LARGE_INTEGER s_frequency;
        static BOOL s_use_qpc = QueryPerformanceFrequency(&s_frequency);
        if (s_use_qpc) {
            LARGE_INTEGER now;
            QueryPerformanceCounter(&now);
            return (1000LL * now.QuadPart) / s_frequency.QuadPart;
        }
        else {
            return GetTickCount();
        }
    }
 
    float GetDeltaTime()
    {
        LONGLONG ms = milliseconds_now();
        float ret = ms - LastFrameTime;
        LastFrameTime = ms;
        return ret;
        //return 1000.0f / ImGui::GetIO().Framerate;
    }
 
    int CalcTabWidth(int tabs)
    {
        ImGuiStyle& style = ImGui::GetStyle();
        return ((windowWidth - (style.WindowPadding.x * 2)) / tabs) - (style.ItemSpacing.x * tabs);
        //return (curWidth - ((style.WindowPadding.x) + (style.ItemSpacing.x * tabs))) / tabs;
        //return windowWidth / tabs;
    }
 
    void SelectTab(bool* tab)
    {
        legitTab = false;
        visualsTab = false;
        changerTab = false;
        colorsTab = false;
        miscTab = false;
 
        *tab = true;
    }

Я искренне надеюсь на вашу помощь. Ещё раз, прошу помогите:В
 
Если не понятно, скажу так....

Если я добавляю саб табы в вкладку то меню "Ломается". Всё перелазит между вкладками и так далее. Может кто помочь? Отблагодарю симпой!
 
Последнее редактирование модератором:
push me to the edge
Олдфаг
Статус
Оффлайн
Регистрация
22 Мар 2017
Сообщения
2,253
Реакции[?]
1,204
Поинты[?]
1K
Боже мои глаза... рендери 1 вкладку визуалов , в ней уже рисуй 2 таба, после делай так
Код:
static bool main = true;
static bool other;
if (DrawTab(XorStr("main"), ImVec2(100, 23), &main, false))
        {
            main = true;
            other; = false;

        }
        ImGui::SameLine();
        if (DrawTab(XorStr("other;"), ImVec2(100, 23), &other;, false))
        {
            main  = false;
            other  = true;
        }
if (main) {
ImGui::Text(XorStr("Test"));
}
if (other){
ImGui::Text(XorStr("uff"));
}
 
Забаненный
Статус
Оффлайн
Регистрация
16 Дек 2017
Сообщения
54
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Боже мои глаза... рендери 1 вкладку визуалов , в ней уже рисуй 2 таба, после делай так
Код:
static bool main = true;
static bool other;
if (DrawTab(XorStr("main"), ImVec2(100, 23), &main, false))
        {
            main = true;
            other; = false;

        }
        ImGui::SameLine();
        if (DrawTab(XorStr("other;"), ImVec2(100, 23), &other;, false))
        {
            main  = false;
            other  = true;
        }
if (main) {
ImGui::Text(XorStr("Test"));
}
if (other){
ImGui::Text(XorStr("uff"));
}
Огроменная благодарность тебе!
 
Забаненный
Статус
Оффлайн
Регистрация
16 Дек 2017
Сообщения
54
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Боже мои глаза... рендери 1 вкладку визуалов , в ней уже рисуй 2 таба, после делай так
Код:
static bool main = true;
static bool other;
if (DrawTab(XorStr("main"), ImVec2(100, 23), &main, false))
        {
            main = true;
            other; = false;

        }
        ImGui::SameLine();
        if (DrawTab(XorStr("other;"), ImVec2(100, 23), &other;, false))
        {
            main  = false;
            other  = true;
        }
if (main) {
ImGui::Text(XorStr("Test"));
}
if (other){
ImGui::Text(XorStr("uff"));
}
Тут проблемс.. Мои саб табы не работают..
Просто короче они не нажимаются. Показывается текст, кнопки и тд только из Other...
 
Сверху Снизу