Вопрос Keybinds for lw

Начинающий
Статус
Оффлайн
Регистрация
25 Сен 2021
Сообщения
69
Реакции[?]
3
Поинты[?]
0
вообщем, сурс exsamples
проблемам в том, что кейбинды не работают (код)
шо может быть?

misc.cpp
Код:
void key_binds()
{

    struct m_key_bind
    {
        std::string m_name;
        std::string m_mode;

        m_key_bind(std::string name, std::string mode) : m_name(name), m_mode(mode)
        {
        }
    };

    std::vector<m_key_bind> m_keybinds;

    if (!(g_cfg.misc.keybinds && m_engine()->IsInGame()))
        return;

    static int spec_x;
    static int spec_y;

    static int _drag_x = 300;
    static int _drag_y = 300;

    static bool _dragging = false;
    bool _click = false;

    if (GetAsyncKeyState(VK_LBUTTON))
        _click = true;

    Vector2D _mouse_pos = GetMousePosition();

    if (_dragging && !_click)
        _dragging = false;

    if (_dragging && _click)
    {
        g_cfg.esp.keybinds_pos_x = _mouse_pos.x - _drag_x;
        g_cfg.esp.keybinds_pos_y = _mouse_pos.y - _drag_y;
        spec_x = g_cfg.esp.keybinds_pos_x;
        spec_y = g_cfg.esp.keybinds_pos_y;
    }


    int spec_width = 160;
    int spec_height = 22.5;

    if ((MouseInRegion(g_cfg.esp.keybinds_pos_x, g_cfg.esp.keybinds_pos_y, spec_width, spec_height)))
    {
        _dragging = true;
        _drag_x = _mouse_pos.x - g_cfg.esp.keybinds_pos_x;
        _drag_y = _mouse_pos.y - g_cfg.esp.keybinds_pos_y;
    }

    int h = 0;
    int h2 = 0;
    for (auto& keybind : m_keybinds)
    {
        h2 += 12;

    }

    Color gradient1 = Color((77, 125, 253), (77, 125, 253), (77, 125, 253));
    Color gradient2 = Color((77, 125, 253), (77, 125, 253), (77, 125, 253));

    int a;
    int h4;
    if (h2 < 1)
    {
        a = 0;
        h4 = 0;
    }
    else
    {
        a = 245;
        h4 = 15;
    }

    render::get().rect_filled(g_cfg.esp.keybinds_pos_x, g_cfg.esp.keybinds_pos_y, spec_width, spec_height, Color(255, 255, 255, .80));

    render::get().gradient(g_cfg.esp.keybinds_pos_x, g_cfg.esp.keybinds_pos_y, spec_width, 2, gradient1, gradient2, GRADIENT_HORIZONTAL);

    auto text_size = render::get().text_width(fonts[NAME], "keybinds");

    render::get().text(fonts[NAME], g_cfg.esp.keybinds_pos_x + (spec_width - text_size) / 2, g_cfg.esp.keybinds_pos_y + 12, Color(255, 255, 255), HFONT_CENTERED_Y, "keybinds");
    for (auto& keybind : m_keybinds)
    {
        render::get().text(fonts[NAME], g_cfg.esp.keybinds_pos_x, g_cfg.esp.keybinds_pos_y + 30 + h, Color(255, 255, 255), HFONT_CENTERED_Y, keybind.m_name.c_str());
        auto h3 = render::get().text_width(fonts[NAME], keybind.m_mode.c_str());
        render::get().text(fonts[NAME], g_cfg.esp.keybinds_pos_x + spec_width - h3, g_cfg.esp.keybinds_pos_y + 30 + h, Color(255, 255, 255), HFONT_CENTERED_Y, keybind.m_mode.c_str());
        h += 12;
    }

    m_keybinds.clear();
}
key_binds.cpp
C++:
void key_binds::update_key_bind(key_bind* key_bind, int key_bind_id)
{
    auto is_button_down = util::is_button_down(key_bind->key);

    switch (key_bind->mode)
    {
    case HOLD:
        switch (key_bind_id)
        {
        case 2:
            if (misc::get().recharging_double_tap)
                break;

            misc::get().double_tap_key = is_button_down;

            if (misc::get().double_tap_key && g_cfg.ragebot.double_tap_key.key != g_cfg.antiaim.hide_shots_key.key)
                misc::get().hide_shots_key = false;

            break;
        case 12:
            misc::get().hide_shots_key = is_button_down;

            if (misc::get().hide_shots_key && g_cfg.antiaim.hide_shots_key.key != g_cfg.ragebot.double_tap_key.key)
                misc::get().double_tap_key = false;

            break;
        case 13:
            if (is_button_down)
                antiaim::get().manual_side = SIDE_BACK;
            else if (antiaim::get().manual_side == SIDE_BACK)
                antiaim::get().manual_side = SIDE_NONE;

            break;
        case 14:
            if (is_button_down)
                antiaim::get().manual_side = SIDE_LEFT;
            else if (antiaim::get().manual_side == SIDE_LEFT)
                antiaim::get().manual_side = SIDE_NONE;

            break;
        case 15:
            if (is_button_down)
                antiaim::get().manual_side = SIDE_RIGHT;
            else if (antiaim::get().manual_side == SIDE_RIGHT)
                antiaim::get().manual_side = SIDE_NONE;

            break;
        default:
            keys[key_bind_id] = is_button_down;
            break;
        }
       
        break;
    case TOGGLE:
        if (!key_bind->holding && is_button_down)
        {
            switch (key_bind_id)
            {
            case 2:
                if (misc::get().recharging_double_tap)
                    break;

                misc::get().double_tap_key = !misc::get().double_tap_key;

                if (misc::get().double_tap_key && g_cfg.ragebot.double_tap_key.key != g_cfg.antiaim.hide_shots_key.key)
                    misc::get().hide_shots_key = false;

                break;
            case 12:
                misc::get().hide_shots_key = !misc::get().hide_shots_key;

                if (misc::get().hide_shots_key && g_cfg.antiaim.hide_shots_key.key != g_cfg.ragebot.double_tap_key.key)
                    misc::get().double_tap_key = false;

                break;
            case 13:
                if (antiaim::get().manual_side == SIDE_BACK)
                    antiaim::get().manual_side = SIDE_NONE;
                else
                    antiaim::get().manual_side = SIDE_BACK;

                break;
            case 14:
                if (antiaim::get().manual_side == SIDE_LEFT)
                    antiaim::get().manual_side = SIDE_NONE;
                else
                    antiaim::get().manual_side = SIDE_LEFT;

                break;
            case 15:
                if (antiaim::get().manual_side == SIDE_RIGHT)
                    antiaim::get().manual_side = SIDE_NONE;
                else
                    antiaim::get().manual_side = SIDE_RIGHT;

                break;
            default:
                keys[key_bind_id] = !keys[key_bind_id];
                break;
            }

            key_bind->holding = true;
        }
        else if (key_bind->holding && !is_button_down)
            key_bind->holding = false;

        break;
    }

    mode[key_bind_id] = key_bind->mode;
}

void key_binds::initialize_key_binds()
{
    for (auto i = 0; i < 23; i++)
    {
        keys[i] = false;

        if (i == 2 || i >= 12 && i <= 17) //-V648
            mode[i] = TOGGLE;
        else
            mode[i] = HOLD;
    }
}

void key_binds::update_key_binds()
{
    update_key_bind(&g_cfg.legitbot.autofire_key, 0);
    update_key_bind(&g_cfg.legitbot.key, 1);
    update_key_bind(&g_cfg.ragebot.double_tap_key, 2);
    update_key_bind(&g_cfg.ragebot.safe_point_key, 3);

    for (auto i = 0; i < 8; i++)
        update_key_bind(&g_cfg.ragebot.weapon[i].damage_override_key, 4 + i);

    update_key_bind(&g_cfg.antiaim.hide_shots_key, 12);
    update_key_bind(&g_cfg.antiaim.manual_back, 13);
    update_key_bind(&g_cfg.antiaim.manual_left, 14);
    update_key_bind(&g_cfg.antiaim.manual_right, 15);
    update_key_bind(&g_cfg.antiaim.flip_desync, 16);
    update_key_bind(&g_cfg.misc.thirdperson_toggle, 17);
    update_key_bind(&g_cfg.misc.automatic_peek, 18);
    update_key_bind(&g_cfg.misc.edge_jump, 19);
    update_key_bind(&g_cfg.misc.fakeduck_key, 20);
    update_key_bind(&g_cfg.misc.slowwalk_key, 21);
    update_key_bind(&g_cfg.ragebot.body_aim_key, 22);
}

bool key_binds::get_key_bind_state(int key_bind_id)
{
    return keys[key_bind_id];
}

bool key_binds::get_key_bind_state_lua(int key_bind_id)
{
    if (key_bind_id < 0 || key_bind_id > 22)
        return false;

    switch (key_bind_id)
    {
    case 2:
        return misc::get().double_tap_key;
    case 4:
        if (g_ctx.globals.current_weapon < 0)
            return false;

        return keys[4 + g_ctx.globals.current_weapon];
    case 12:
        return misc::get().hide_shots_key;
    case 13:
        return antiaim::get().manual_side == SIDE_BACK;
    case 14:
        return antiaim::get().manual_side == SIDE_LEFT;
    case 15:
        return antiaim::get().manual_side == SIDE_RIGHT;
    default:
        return keys[key_bind_id];
    }
}

bool key_binds::get_key_bind_mode(int key_bind_id)
{
    return mode[key_bind_id];
}
// опять я лезу в пастинг, блин
 
Начинающий
Статус
Оффлайн
Регистрация
25 Сен 2021
Сообщения
69
Реакции[?]
3
Поинты[?]
0
Последнее редактирование:
Сверху Снизу