Гайд ImGui для тех кто вообще не шарит

ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
909
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Сам я мало знаком с этим, но постараюсь объяснить для новичков основное
Сделать я это решил из-за вопроса в разделе помощь новичкам
Несколько полезных статей от WhereIsMyShuvi
https://yougame.biz/threads/84767/
https://yougame.biz/threads/84761/

Буду благодарен, если люди которые действительно шарят в этом укажут на мои ошибки.

ImGui::Begin и ImGui::End
Служит для начала отрисовки вашего меню
JavaScript:
ImGui::Begin("Name Hack", &G.MenuOpen, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings);
// В ковычках название вашего чита(можно написать всё что угодно, если использовать специальный флаг, который убирает эту надпись.)
// &G.MenuOpen отвечает за отрисовку меню, только когда оно открыто, а не постоянно

ImGui::End // служит для конца отрисовки меню
ImGuiWindowFlags флаги ImGui подробнее тут (кликабельно)

ImGui::CheckBox
C++:
ImGui::Checkbox("Bhop", &Config.bhop); //В ковычках название чекбокса и за что отвечает, Можно писать что угодно, &Config.bhop - ваша функция в чите
ImGui::Slider
C++:
ImGui::SliderFloat("test2", &Config.slider, 0, 10); //В ковычках как всегда название слайдера, &Config.slider заменить на свою функцию, цифры 0 и 10 отвечают за параметр, в данном случае слайдер выставляет значения от 0 до 10
ImGui::Button
C++:
if (ImGui::Button("Eject Cheat"))
            G.Exit = true;
// Это обычная кнопка, в ковычках её название которое будет рендерится внутри неё, на второй строчке G.Exit = true; функция которая будет выполняться при нажатии кнопки, в данном случае выгружает чит из игры, вы можете поставить например сохранение конфигов.
ImGui::SameLine();
// Переносит функцию в противоположную сторону(направо)
ImGui::Checkbox("Bhop", &Config.bhop);
ImGui::SameLine();
ImGui::Checkbox("Esp", &Config.esp);
// бхоп будет слева, есп справа


ImGui::Spacing();
// Переносит функцию вниз
ImGui::Checkbox("Esp", &Config.esp);
ImGui::Spacing();
ImGui::SliderFloat("test2", &Config.slider, 0, 10);
// слайдер будет ниже чекбокса

Готовый код меню со всеми переменными указаными в гайде
ImGui::SetNextWindowSize(ImVec2(600, 300));
ImGui::Begin("shaint.pro", &G.MenuOpen, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings);
ImGui::Checkbox("Bhop", &Config.bhop);
ImGui::SameLine();
ImGui::Checkbox("Esp", &Config.esp);
ImGui::Spacing();
ImGui::SliderFloat("test2", &Config.slider, 0, 10);
if (ImGui::Button("Eject Cheat"))
G.Exit = true;

ImGui::End();


Это базовые функции, не буду писать про BeginChild, про то как отрисовать табы и т.д, ооочень долго, да и вообще мне кажется что пастерам похуй на это, они щас хуо возьмут цвет поменят и всё, топ хвх софт за 200 гривен
Мде нахуй я это писал?Ну да похуй, мб кому-то интересно
 
Забаненный
Статус
Оффлайн
Регистрация
27 Сен 2018
Сообщения
1,312
Реакции[?]
456
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ты гайдики делаешь, а у меня уже сайт с 0 с админкой,юзерпанелью , страница генерации инвайтов, страница бана и анбана, сама рега по инвайтам и сасные профиля(доделывать буду)
 
поменяйте мне ник блять
Пользователь
Статус
Оффлайн
Регистрация
20 Фев 2019
Сообщения
61
Реакции[?]
37
Поинты[?]
0
Ты гайдики делаешь, а у меня уже сайт с 0 с админкой,юзерпанелью , страница генерации инвайтов, страница бана и анбана, сама рега по инвайтам и сасные профиля(доделывать буду)
кул стори мен:CoolStoryBob:
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,791
Реакции[?]
1,073
Поинты[?]
29K
Надо было еще сказать, что нельзя ставить одинаковые названия элементов, ибо они не будут работать, нужно использовать ##, пример:
НЕ ПРАВИЛЬНО:
Код:
ImGui::Checkbox("test", &cfg.test);
ImGui::Checkbox("test", &cfg.test2);
ПРАВИЛЬНО:
Код:
ImGui::Checkbox("test##1", &cfg.test);
ImGui::Checkbox("test##2", &cfg.test2);
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,791
Реакции[?]
1,073
Поинты[?]
29K
JavaScript:
ImGui::Begin("Name Hack", &G.MenuOpen, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings);
// &G.MenuOpen отвечает за отрисовку меню, только когда оно открыто, а не постоянно
Неправильно, чтобы меню не рисовалось когда оно закрыто нужна отдельная проверка, нажатие на крест справа сверху просто будеть изменять значение переменной G.MenuOpen, а так же можно в качестве аргумента передавать NULL, тогда крестика вообще не будет
Про SetNextWindowSize ничего не сказал, хотя он в примере есть
Да и вообще если не юзать флаг ImGuiWindowFlags_NoCollapse то твоя прога выдаст крещ, когда свернешь(Не путать с закрыванием) менюшку, кликнув дважды по тайтлбару, а все потому что нужно оборачивать все в примерно такую конструкцию if(ImGui::Begin) { Содержимое окна } ImGui::End();
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
852
Реакции[?]
181
Поинты[?]
0
Сам я мало знаком с этим, но постараюсь объяснить для новичков основное
Сделать я это решил из-за вопроса в разделе помощь новичкам
Несколько полезных статей от WhereIsMyShuvi
https://yougame.biz/threads/84767/
https://yougame.biz/threads/84761/

Буду благодарен, если люди которые действительно шарят в этом укажут на мои ошибки.

ImGui::Begin и ImGui::End
Служит для начала отрисовки вашего меню
JavaScript:
ImGui::Begin("Name Hack", &G.MenuOpen, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings);
// В ковычках название вашего чита(можно написать всё что угодно, если использовать специальный флаг, который убирает эту надпись.)
// &G.MenuOpen отвечает за отрисовку меню, только когда оно открыто, а не постоянно

ImGui::End // служит для конца отрисовки меню
ImGuiWindowFlags флаги ImGui подробнее тут (кликабельно)

ImGui::CheckBox
C++:
ImGui::Checkbox("Bhop", &Config.bhop); //В ковычках название чекбокса и за что отвечает, Можно писать что угодно, &Config.bhop - ваша функция в чите
ImGui::Slider
C++:
ImGui::SliderFloat("test2", &Config.slider, 0, 10); //В ковычках как всегда название слайдера, &Config.slider заменить на свою функцию, цифры 0 и 10 отвечают за параметр, в данном случае слайдер выставляет значения от 0 до 10
ImGui::Button
C++:
if (ImGui::Button("Eject Cheat"))
            G.Exit = true;
// Это обычная кнопка, в ковычках её название которое будет рендерится внутри неё, на второй строчке G.Exit = true; функция которая будет выполняться при нажатии кнопки, в данном случае выгружает чит из игры, вы можете поставить например сохранение конфигов.
ImGui::SameLine();
// Переносит функцию в противоположную сторону(направо)
ImGui::Checkbox("Bhop", &Config.bhop);
ImGui::SameLine();
ImGui::Checkbox("Esp", &Config.esp);
// бхоп будет слева, есп справа


ImGui::Spacing();
// Переносит функцию вниз
ImGui::Checkbox("Esp", &Config.esp);
ImGui::Spacing();
ImGui::SliderFloat("test2", &Config.slider, 0, 10);
// слайдер будет ниже чекбокса

Готовый код меню со всеми переменными указаными в гайде
ImGui::SetNextWindowSize(ImVec2(600, 300));
ImGui::Begin("shaint.pro", &G.MenuOpen, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings);
ImGui::Checkbox("Bhop", &Config.bhop);
ImGui::SameLine();
ImGui::Checkbox("Esp", &Config.esp);
ImGui::Spacing();
ImGui::SliderFloat("test2", &Config.slider, 0, 10);
if (ImGui::Button("Eject Cheat"))
G.Exit = true;

ImGui::End();


Это базовые функции, не буду писать про BeginChild, про то как отрисовать табы и т.д, ооочень долго, да и вообще мне кажется что пастерам похуй на это, они щас хуо возьмут цвет поменят и всё, топ хвх софт за 200 гривен
Мде нахуй я это писал?Ну да похуй, мб кому-то интересно
ImGui::Hotkey дай правильный
 
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
Надо было еще сказать, что нельзя ставить одинаковые названия элементов, ибо они не будут работать, нужно использовать ##, пример:
НЕ ПРАВИЛЬНО:
Код:
ImGui::Checkbox("test", &cfg.test);
ImGui::Checkbox("test", &cfg.test2);
ПРАВИЛЬНО:
Код:
ImGui::Checkbox("test##1", &cfg.test);
ImGui::Checkbox("test##2", &cfg.test2);
А почему кстати? Зачем в имгуи это вообще есть, а то я как не пытаюсь понять, но не могу.
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
909
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Начинающий
Статус
Оффлайн
Регистрация
22 Фев 2019
Сообщения
368
Реакции[?]
25
Поинты[?]
0
Нужен теперь гайд по установке.
От создания проекта (его настройки) до установки ImGui
мне бы тоже с нуля как имгуи поставить, от создания проекта, на ру ничего нет как обычно впринципе, на забугоре там только показывают готовый код и все полчаса болтают про код
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
909
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Сверху Снизу