Гайд Status bar #2 [INDIGO]

oooh my...
Пользователь
Статус
Оффлайн
Регистрация
5 Янв 2018
Сообщения
168
Реакции[?]
66
Поинты[?]
0
Переделал прошлый статус бар, думаю этот будет приятнее на глаз
Screenshot_2.png
Прошлая тема
В settings.cpp в namespace Misc
Код:
bool misc_statusbar = true;
В settings.h в namespace Misc
Код:
extern bool misc_statusbar;
В client.cpp в void OnRender()
Код:
if (Settings::Misc::misc_statusbar)
            {
                if (Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Active)
                {
                    g_pRender->DrawFillBox(5, 5, 33, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(5, 22, 33, 1, Color(0, 255, 0));
                    g_pRender->Text(8, 5, false, false, Color(255, 255, 255), "AIM");
                }
                else
                {
                    g_pRender->DrawFillBox(5, 5, 33, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(5, 22, 33, 1, Color(255, 0, 0));
                    g_pRender->Text(8, 5, false, false, Color(255, 255, 255), "AIM");
                }
                if (Settings::Aimbot::aim_Backtrack)
                {
                    g_pRender->DrawFillBox(43, 5, 34, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(43, 22, 34, 1, Color(0, 255, 0));
                    g_pRender->Text(46, 5, false, false, Color(255, 255, 255), "BKT");
                }
                else
                {
                    g_pRender->DrawFillBox(43, 5, 34, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(43, 22, 34, 1, Color(255, 0, 0));
                    g_pRender->Text(46, 5, false, false, Color(255, 255, 255), "BKT");
                }
            }
И добавляем чекбокс в ваше меню
Код:
ImGui::Checkbox("Status Bar", &Settings::Misc::misc_statusbar);
Ну и если надо - моя отрисовка залитого блока
Код:
void CRender::DrawFillBox(int x, int y, int w, int h, Color color)
    {
        DWORD dxFillBoxColor = D3DCOLOR_RGBA(color.r(), color.g(), color.b(), color.a());

        D3DTLVERTEX D3DTLV[4] = { 0 };

        CreateVertex(x, y, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 0);
        CreateVertex(x + w, y, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 1);
        CreateVertex(x, y + h, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 2);
        CreateVertex(x + w, y + h, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 3);

        SetVertexState();

        m_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, &D3DTLV, sizeof(D3DTLVERTEX));
    }
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Переделал прошлый статус бар, думаю этот будет приятнее на глаз
Посмотреть вложение 941
Прошлая тема
В settings.cpp в namespace Misc
Код:
bool misc_statusbar = true;
В settings.h в namespace Misc
Код:
extern bool misc_statusbar;
В client.cpp в void OnRender()
Код:
if (Settings::Misc::misc_statusbar)
            {
                if (Settings::Aimbot::weapon_aim_settings[iWeaponID].aim_Active)
                {
                    g_pRender->DrawFillBox(5, 5, 33, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(5, 22, 33, 1, Color(0, 255, 0));
                    g_pRender->Text(8, 5, false, false, Color(255, 255, 255), "AIM");
                }
                else
                {
                    g_pRender->DrawFillBox(5, 5, 33, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(5, 22, 33, 1, Color(255, 0, 0));
                    g_pRender->Text(8, 5, false, false, Color(255, 255, 255), "AIM");
                }
                if (Settings::Aimbot::aim_Backtrack)
                {
                    g_pRender->DrawFillBox(43, 5, 34, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(43, 22, 34, 1, Color(0, 255, 0));
                    g_pRender->Text(46, 5, false, false, Color(255, 255, 255), "BKT");
                }
                else
                {
                    g_pRender->DrawFillBox(43, 5, 34, 18, Color(0, 0, 0, 150));
                    g_pRender->DrawFillBox(43, 22, 34, 1, Color(255, 0, 0));
                    g_pRender->Text(46, 5, false, false, Color(255, 255, 255), "BKT");
                }
            }
И добавляем чекбокс в ваше меню
Код:
ImGui::Checkbox("Status Bar", &Settings::Misc::misc_statusbar);
Ну и если надо - моя отрисовка залитого блока
Код:
void CRender::DrawFillBox(int x, int y, int w, int h, Color color)
    {
        DWORD dxFillBoxColor = D3DCOLOR_RGBA(color.r(), color.g(), color.b(), color.a());

        D3DTLVERTEX D3DTLV[4] = { 0 };

        CreateVertex(x, y, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 0);
        CreateVertex(x + w, y, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 1);
        CreateVertex(x, y + h, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 2);
        CreateVertex(x + w, y + h, dxFillBoxColor, PD3DTLVERTEX(&D3DTLV), 3);

        SetVertexState();

        m_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, &D3DTLV, sizeof(D3DTLVERTEX));
    }
это гайд для тех у кого нет рук или что?
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
это гайд для тех у кого нет рук или что?
Для пастеров низшей касты. Понятно дело, что для написания данного кода нужны минимальные знания программирования, но ты и представить не можешь сколько пастеров, в процентном соотношение, не сможет даже переменную создать, боюсь, их может быть больше половины.

А по теме, идея с реализацией хорошая, а то я делал паник кей с обычной надписью On/Off и даже в мыслях не было о такой более красивой реализации
 
HVHLEGEND
Забаненный
Статус
Оффлайн
Регистрация
13 Май 2018
Сообщения
745
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
извиняюсь за апп темы )))
как этот статус бар поместить в верхней правый угол, какие кардинаты
 
oooh my...
Пользователь
Статус
Оффлайн
Регистрация
5 Янв 2018
Сообщения
168
Реакции[?]
66
Поинты[?]
0
извиняюсь за апп темы )))
как этот статус бар поместить в верхней правый угол, какие кардинаты
g_pRender->DrawFillBox(значение по x, значение по y, 33, 18, Color(0, 0, 0, 150));
меняешь на свои
 
HVHLEGEND
Забаненный
Статус
Оффлайн
Регистрация
13 Май 2018
Сообщения
745
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
HVHLEGEND
Забаненный
Статус
Оффлайн
Регистрация
13 Май 2018
Сообщения
745
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
не понял чет))
можешь по понятней
Код:
int ScreenSizeX;
            Interfaces::Engine()->GetScreenSize(ScreenSizeX, NULL);
Дальше во всех строчках, где в начале [g_pRender->] в 1 аргументе (там где х) только меняешь на
Код:
ScreenSizeX + ЗначениеКотороеТамБыло - СтатическийИнтервалОтХпоПравойСтороне
Пример
Код:
g_pRender->DrawFillBox(5, 22, 33, 1, Color(0, 255, 0));

Превратится в

g_pRender->DrawFillBox(iSreenSizeX + 5 - 76, 22, 33, 1, Color(0, 255, 0));
И по такой аналогие со всеми строками с началом g_pRender.
76 - интервал от правой стороны экрана, можешь его менять на что-то другое, чем больше значение, тем правее будет (но там минус, значит чем больше в минус, тем левее), если я не ошибся, то это размер всего бара с отступом, а значит это идеально подходит
iSreenSizeX - мы получили ширину экрана, разрешение в ксго по оси Х
 
Последнее редактирование:
Похожие темы
Сверху Снизу