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

Вопрос Menu item '&' requires l-value

  • Автор темы Автор темы francyz
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
12 Июн 2019
Сообщения
863
Реакции
124
Здрасвуйте.Использую базу qo0. Определяю я переменные таким способом
C++:
Expand Collapse Copy
    C_ADD_VARIABLE_VECTOR(bool, 7, bHeadL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bChestL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bStomachL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bArmsL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bLegsL, false);
JZGEUCL.png

собстевнно сама ошибка
Ну и код:
C++:
Expand Collapse Copy
                //....
                if (ImGui::BeginMenu(XorStr("hitbox")))
                {
                    ImGui::MenuItem(XorStr("head"), nullptr, &C::Get<std::vector<bool>>(Vars.bHeadL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("chest"), nullptr, &C::Get<std::vector<bool>>(Vars.bChestL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("stomach"), nullptr, &C::Get<std::vector<bool>>(Vars.bStomachL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("arms"), nullptr, &C::Get<std::vector<bool>>(Vars.bArmsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("legs"), nullptr, &C::Get<std::vector<bool>>(Vars.bLegsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::EndMenu();
                }
                ImGui::EndMenuBar();
            }
            

            ImGui::Combo(XorStr("Weapon##legitbot"), &C::Get<int>(Vars.bWeaponLegit), XorStr("None\0Pistols\0SMG\0Rifle\0Shotgun\0Sniper\0Machinegun\0\0"));
//...

Интересно что создавая слайдеры такой фокус прошёл,а вот с bool,не хочет.Кто знает где я накосячил? Визуалка ничего не подчеркивает
 
Тебе обязательно использовать BeginMenu? Мне кажется, что лучшим вариантом было бы использование BeginCombo.

Пожалуйста, авторизуйтесь для просмотра ссылки.
Ну вообще ты можешь взять её адрес, но уже в следующем операторе команды функции оно не будет иметь смысла и корректного адреса, так что правильно ругается.
 
Тебе обязательно использовать BeginMenu? Мне кажется, что лучшим вариантом было бы использование BeginCombo.

Пожалуйста, авторизуйтесь для просмотра ссылки.
с BeginCombo тоже самое.Я почитал про lvalue и rvalue.У меня почему-то все векторы rvalue, хотя по умолчнаию они false и должны быть lvalue
 
пробую вот так.Но без & ничего не выбирает в комбо.С & тоже самое
C++:
Expand Collapse Copy
            std::vector<bool> current_hit;
            switch (C::Get<int>(Vars.bWeaponLegit))
            {
            case  0:
                current_hit = C::Get<std::vector<bool>>(Vars.vnoneHit);
                break;
            case 1:
                current_hit = C::Get<std::vector<bool>>(Vars.vPisHit);
                break;
            case 2:
                current_hit = C::Get<std::vector<bool>>(Vars.vSMGHit);
                break;
            case 3:
                current_hit = C::Get<std::vector<bool>>(Vars.vRifHit);
                break;
            case 4:
                current_hit = C::Get<std::vector<bool>>(Vars.vShotHit);
                break;
            case 5:
                current_hit = C::Get<std::vector<bool>>(Vars.vSniperHit);
                break;
            case 6:
                current_hit = C::Get<std::vector<bool>>(Vars.vMachineHit);
                break;


            }
            ImGui::MultiCombo("hitbox selection", current_hit, hitboxes.data(), hitboxes.size());
 
пробую вот так.Но без & ничего не выбирает в комбо.С & тоже самое
C++:
Expand Collapse Copy
            std::vector<bool> current_hit;
            switch (C::Get<int>(Vars.bWeaponLegit))
            {
            case  0:
                current_hit = C::Get<std::vector<bool>>(Vars.vnoneHit);
                break;
            case 1:
                current_hit = C::Get<std::vector<bool>>(Vars.vPisHit);
                break;
            case 2:
                current_hit = C::Get<std::vector<bool>>(Vars.vSMGHit);
                break;
            case 3:
                current_hit = C::Get<std::vector<bool>>(Vars.vRifHit);
                break;
            case 4:
                current_hit = C::Get<std::vector<bool>>(Vars.vShotHit);
                break;
            case 5:
                current_hit = C::Get<std::vector<bool>>(Vars.vSniperHit);
                break;
            case 6:
                current_hit = C::Get<std::vector<bool>>(Vars.vMachineHit);
                break;


            }
            ImGui::MultiCombo("hitbox selection", current_hit, hitboxes.data(), hitboxes.size());
свитч сделай через переменную, а в мультикомбо в конце пропиши переменную
через инт*
 
свитч сделай через переменную, а в мультикомбо в конце пропиши переменную
через инт*
всмысле? свитч у меня по выбору оружия,и оно работает как надо.
Что ты имеешь ввиду прописать премменую в конце мультикомбо через int*?
 
всмысле? свитч у меня по выбору оружия,и оно работает как надо.
Что ты имеешь ввиду прописать премменую в конце мультикомбо через int*?
C++:
Expand Collapse Copy
{
    ImGuiStyle& style = ImGui::GetStyle();

    ImGui::Columns(2, nullptr, false);
    {
        ImGui::BeginChild(XorStr("ragebot.aimbot"), ImVec2(), true, ImGuiWindowFlags_MenuBar);
        {
            if (ImGui::BeginMenuBar())
            {
                ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, ImVec2(0.5f, 0.5f));
                ImGui::Selectable(XorStr("aimbot##ragebot"), &C::Get<bool>(Vars.bRage), ImGuiSelectableFlags_None, ImVec2(30, 0));
                ImGui::PopStyleVar();
                ImGui::EndMenuBar();
            }

            ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(style.FramePadding.x, -1));

            ImGui::SliderInt(XorStr("fov"), &C::Get<int>(Vars.iRageMaxFov), 0, 360, "%d");
            ImGui::Combo(XorStr("target"), &C::Get<int>(Vars.iRageTargetSelection), XorStr("none\0fov\0health\0distance\0\0"));

            enum EAntiRageWeapon
            {
                AUTO_,
                SCOUT_,
                AWP_,
                PISTOL_,
                HEAVY_PISTOL_,
                OTHER_
            };

            static int weapon_mode = 0;
            static int value_main = 0;

            switch (weapon_mode)
            {
            case 1:
                value_main == EAntiRageWeapon::AUTO_;
                break;
            case 2:
                value_main = EAntiRageWeapon::SCOUT_;
                break;
            case 3:
                value_main = EAntiRageWeapon::AWP_;
                break;
            case 4:
                value_main = EAntiRageWeapon::PISTOL_;
                break;
            case 5:
                value_main = EAntiRageWeapon::HEAVY_PISTOL_;
                break;
            case 6:
                value_main = EAntiRageWeapon::OTHER_;
                break;
            }

            //std::string weapons[7] = { "none", "auto", "scout", "awp", "pistol", "heavy pistol", "other" };

            
            ImGui::Combo(XorStr("weapons"), &weapon_mode, XorStr("none\0auto\0scout\0awp\0pistol\0heavy pistol\0other"));

            if (weapon_mode > 0)
            {

                //ImGui::Checkbox(XorStr("SlowWalk"), &C::Get<bool>(Vars.bSlowWalk));
                ImGui::SliderInt(XorStr("damage"), &(C::Get<std::vector<int>>(Vars.iRageMinDamage)).at(weapon_mode), 0, 120, "%d");
                ImGui::SliderInt(XorStr("hitchance"), &(C::Get<std::vector<int>>(Vars.iRageHitChance)).at(weapon_mode), 0, 100, "%d");
                ImGui::SliderInt(XorStr("head scale"), &(C::Get<std::vector<int>>(Vars.iRageHeadScale)).at(weapon_mode), 0, 100, "%d");
                ImGui::SliderInt(XorStr("body scale"), &(C::Get<std::vector<int>>(Vars.iRageBodyScale)).at(weapon_mode), 0, 100, "%d");
                std::string preview = XorStr("None");
                draw_multicombo(XorStr("Hitboxes"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), hitboxes, ARRAYSIZE(hitboxes), preview);
                //draw_multicombo(XorStr("hitboxes"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), arrHitboxes.data(), arrHitboxes.size());
                //ImGui::MultiCombo(XorStr("flags##player"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), arrHitboxes.data(), arrHitboxes.size());

            }

            ImGui::PopStyleVar();

            ImGui::EndChild();
        }
    }
    ImGui::NextColumn();
    {
        ImGui::BeginChild(XorStr("ragebot.antiaim"), ImVec2(), true, ImGuiWindowFlags_MenuBar);
        {
            if (ImGui::BeginMenuBar())
            {
                ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, ImVec2(0.5f, 0.5f));
                ImGui::Selectable(XorStr("anti-aim"), &C::Get<bool>(Vars.bAntiAim), ImGuiSelectableFlags_None, ImVec2(40, 0));
                ImGui::PopStyleVar();
                ImGui::EndMenuBar();
            }

            ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(style.FramePadding.x, -1));
            ImGui::SliderInt(XorStr("pitch"), &C::Get<int>(Vars.iPitch), -89, 89, "%.0f");
            ImGui::SliderInt(XorStr("yaw"), &C::Get<int>(Vars.iYaw), -180, 180, "%.0f");
            ImGui::Combo(XorStr("yaw base"), &C::Get<int>(Vars.iYawBase), XorStr("Local view\0Crosshair\0\0"));
            ImGui::Combo(XorStr("desync"), &C::Get<int>(Vars.iDesync), XorStr("None\0Static\0Opposite\0\0"));
            ImGui::HotKey(XorStr("Invert"), &C::Get<int>(Vars.iInvertedKey));
            if (C::Get<int>(Vars.iDesync) == 1 || 2)
            {
                ImGui::SliderInt(XorStr("Maximum Delta"), &C::Get<int>(Vars.iMaxBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Inverted maximum delta"), &C::Get<int>(Vars.iMaxInvertedBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Body lean"), &C::Get<int>(Vars.iBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Inverted body lean"), &C::Get<int>(Vars.iInvertedBodyLean), 0, 60, "%.0f");
            }
            ImGui::Checkbox(XorStr("SlowWalk"), &C::Get<bool>(Vars.bSlowWalk));
            ImGui::HotKey(XorStr("SlowWalk Key"), &C::Get<int>(Vars.iSlowWalkKey));

            ImGui::PopStyleVar();

            ImGui::EndChild();
        }
    }
    ImGui::Columns(1);
}

у меня так сделанно
 
C++:
Expand Collapse Copy
{
    ImGuiStyle& style = ImGui::GetStyle();

    ImGui::Columns(2, nullptr, false);
    {
        ImGui::BeginChild(XorStr("ragebot.aimbot"), ImVec2(), true, ImGuiWindowFlags_MenuBar);
        {
            if (ImGui::BeginMenuBar())
            {
                ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, ImVec2(0.5f, 0.5f));
                ImGui::Selectable(XorStr("aimbot##ragebot"), &C::Get<bool>(Vars.bRage), ImGuiSelectableFlags_None, ImVec2(30, 0));
                ImGui::PopStyleVar();
                ImGui::EndMenuBar();
            }

            ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(style.FramePadding.x, -1));

            ImGui::SliderInt(XorStr("fov"), &C::Get<int>(Vars.iRageMaxFov), 0, 360, "%d");
            ImGui::Combo(XorStr("target"), &C::Get<int>(Vars.iRageTargetSelection), XorStr("none\0fov\0health\0distance\0\0"));

            enum EAntiRageWeapon
            {
                AUTO_,
                SCOUT_,
                AWP_,
                PISTOL_,
                HEAVY_PISTOL_,
                OTHER_
            };

            static int weapon_mode = 0;
            static int value_main = 0;

            switch (weapon_mode)
            {
            case 1:
                value_main == EAntiRageWeapon::AUTO_;
                break;
            case 2:
                value_main = EAntiRageWeapon::SCOUT_;
                break;
            case 3:
                value_main = EAntiRageWeapon::AWP_;
                break;
            case 4:
                value_main = EAntiRageWeapon::PISTOL_;
                break;
            case 5:
                value_main = EAntiRageWeapon::HEAVY_PISTOL_;
                break;
            case 6:
                value_main = EAntiRageWeapon::OTHER_;
                break;
            }

            //std::string weapons[7] = { "none", "auto", "scout", "awp", "pistol", "heavy pistol", "other" };

           
            ImGui::Combo(XorStr("weapons"), &weapon_mode, XorStr("none\0auto\0scout\0awp\0pistol\0heavy pistol\0other"));

            if (weapon_mode > 0)
            {

                //ImGui::Checkbox(XorStr("SlowWalk"), &C::Get<bool>(Vars.bSlowWalk));
                ImGui::SliderInt(XorStr("damage"), &(C::Get<std::vector<int>>(Vars.iRageMinDamage)).at(weapon_mode), 0, 120, "%d");
                ImGui::SliderInt(XorStr("hitchance"), &(C::Get<std::vector<int>>(Vars.iRageHitChance)).at(weapon_mode), 0, 100, "%d");
                ImGui::SliderInt(XorStr("head scale"), &(C::Get<std::vector<int>>(Vars.iRageHeadScale)).at(weapon_mode), 0, 100, "%d");
                ImGui::SliderInt(XorStr("body scale"), &(C::Get<std::vector<int>>(Vars.iRageBodyScale)).at(weapon_mode), 0, 100, "%d");
                std::string preview = XorStr("None");
                draw_multicombo(XorStr("Hitboxes"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), hitboxes, ARRAYSIZE(hitboxes), preview);
                //draw_multicombo(XorStr("hitboxes"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), arrHitboxes.data(), arrHitboxes.size());
                //ImGui::MultiCombo(XorStr("flags##player"), &(C::Get<std::vector<int>>(Vars.iRageHitboxes)).at(weapon_mode), arrHitboxes.data(), arrHitboxes.size());

            }

            ImGui::PopStyleVar();

            ImGui::EndChild();
        }
    }
    ImGui::NextColumn();
    {
        ImGui::BeginChild(XorStr("ragebot.antiaim"), ImVec2(), true, ImGuiWindowFlags_MenuBar);
        {
            if (ImGui::BeginMenuBar())
            {
                ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, ImVec2(0.5f, 0.5f));
                ImGui::Selectable(XorStr("anti-aim"), &C::Get<bool>(Vars.bAntiAim), ImGuiSelectableFlags_None, ImVec2(40, 0));
                ImGui::PopStyleVar();
                ImGui::EndMenuBar();
            }

            ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(style.FramePadding.x, -1));
            ImGui::SliderInt(XorStr("pitch"), &C::Get<int>(Vars.iPitch), -89, 89, "%.0f");
            ImGui::SliderInt(XorStr("yaw"), &C::Get<int>(Vars.iYaw), -180, 180, "%.0f");
            ImGui::Combo(XorStr("yaw base"), &C::Get<int>(Vars.iYawBase), XorStr("Local view\0Crosshair\0\0"));
            ImGui::Combo(XorStr("desync"), &C::Get<int>(Vars.iDesync), XorStr("None\0Static\0Opposite\0\0"));
            ImGui::HotKey(XorStr("Invert"), &C::Get<int>(Vars.iInvertedKey));
            if (C::Get<int>(Vars.iDesync) == 1 || 2)
            {
                ImGui::SliderInt(XorStr("Maximum Delta"), &C::Get<int>(Vars.iMaxBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Inverted maximum delta"), &C::Get<int>(Vars.iMaxInvertedBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Body lean"), &C::Get<int>(Vars.iBodyLean), 0, 60, "%.0f");
                ImGui::SliderInt(XorStr("Inverted body lean"), &C::Get<int>(Vars.iInvertedBodyLean), 0, 60, "%.0f");
            }
            ImGui::Checkbox(XorStr("SlowWalk"), &C::Get<bool>(Vars.bSlowWalk));
            ImGui::HotKey(XorStr("SlowWalk Key"), &C::Get<int>(Vars.iSlowWalkKey));

            ImGui::PopStyleVar();

            ImGui::EndChild();
        }
    }
    ImGui::Columns(1);
}

у меня так сделанно
а где ты взял draw_multicombo? Его нету
 
вот именно его нету, я тебе говорю как сделать так чтобы на твоем примере работало.
Посмотри как у меня сделан at(weapon_mode)
у меня также со слайдерами и оно работает,но вот с комбо у меня проблема.У тебя draw_multicombo что помещает в вектор когда ты выбираешь елемент?
 
у меня также со слайдерами и оно работает,но вот с комбо у меня проблема.У тебя draw_multicombo что помещает в вектор когда ты выбираешь елемент?
вот именно что он не работает :roflanEbalo:
я его с лв брал но там одни помои.

C++:
Expand Collapse Copy
                 if (ImGui::BeginCombo(XOR("text "), "text", 5)) {
                    ImGui::MenuItem(XorStr("head"), nullptr, &C::Get<std::vector<int>>(Vars.bHeadL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("chest"), nullptr, &C::Get<std::vector<int>>(Vars.bChestL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("stomach"), nullptr, &C::Get<std::vector<int>>(Vars.bStomachL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("arms"), nullptr, &C::Get<std::vector<int>>(Vars.bArmsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("legs"), nullptr, &C::Get<std::vector<int>>(Vars.bLegsL).at(C::Get<int>(Vars.bWeaponLegit)));
                   ImGui::EndCombo();
                }

попробуй так
 
вот именно что он не работает :roflanEbalo:
я его с лв брал но там одни помои.

C++:
Expand Collapse Copy
                 if (ImGui::BeginCombo(XOR("text "), "text", 5)) {
                    ImGui::MenuItem(XorStr("head"), nullptr, &C::Get<std::vector<int>>(Vars.bHeadL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("chest"), nullptr, &C::Get<std::vector<int>>(Vars.bChestL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("stomach"), nullptr, &C::Get<std::vector<int>>(Vars.bStomachL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("arms"), nullptr, &C::Get<std::vector<int>>(Vars.bArmsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("legs"), nullptr, &C::Get<std::vector<int>>(Vars.bLegsL).at(C::Get<int>(Vars.bWeaponLegit)));
                   ImGui::EndCombo();
                }

попробуй так
ничего не менятьтся.Кликаю на елемент его статус не меняеться
 
Здрасвуйте.Использую базу qo0. Определяю я переменные таким способом
C++:
Expand Collapse Copy
    C_ADD_VARIABLE_VECTOR(bool, 7, bHeadL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bChestL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bStomachL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bArmsL, false);
    C_ADD_VARIABLE_VECTOR(bool, 7, bLegsL, false);
JZGEUCL.png

собстевнно сама ошибка
Ну и код:
C++:
Expand Collapse Copy
                //....
                if (ImGui::BeginMenu(XorStr("hitbox")))
                {
                    ImGui::MenuItem(XorStr("head"), nullptr, &C::Get<std::vector<bool>>(Vars.bHeadL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("chest"), nullptr, &C::Get<std::vector<bool>>(Vars.bChestL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("stomach"), nullptr, &C::Get<std::vector<bool>>(Vars.bStomachL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("arms"), nullptr, &C::Get<std::vector<bool>>(Vars.bArmsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::MenuItem(XorStr("legs"), nullptr, &C::Get<std::vector<bool>>(Vars.bLegsL).at(C::Get<int>(Vars.bWeaponLegit)));
                    ImGui::EndMenu();
                }
                ImGui::EndMenuBar();
            }
           

            ImGui::Combo(XorStr("Weapon##legitbot"), &C::Get<int>(Vars.bWeaponLegit), XorStr("None\0Pistols\0SMG\0Rifle\0Shotgun\0Sniper\0Machinegun\0\0"));
//...

Интересно что создавая слайдеры такой фокус прошёл,а вот с bool,не хочет.Кто знает где я накосячил? Визуалка ничего не подчеркивает
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Назад
Сверху Снизу