Гайд Делаем интро для чита

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
1 Авг 2024
Сообщения
34
Реакции
0
Данный код демонстрирует создание анимированного интро-экрана для чита, который активируется при его инжекте (внедрении) в игру. Интро длится 3 секунды и включает в себя полупрозрачный фон, динамически анимированный текст "ARCHILIX ALPHA" с градиентным свечением и эффектами затухания, а также круговой индикатор загрузки с процентами, отображающий прогресс. Визуальные элементы отрисовываются с использованием функций ImGui, контролируя время и прозрачность для создания плавных переходов. После завершения интро-экран деактивируется, а для его интеграции необходимо вставить данный фрагмент кода в начале функции рендера игрового меню.


intro:
Expand Collapse Copy
static bool intro_active = true;
 static float intro_start = 0.0f;
 const char* full_title = "ARCHILIX ALPHA";

 if (intro_active)
 {
     float time_now = ImGui::GetTime();
     if (intro_start == 0.0f)
         intro_start = time_now;

     float elapsed = time_now - intro_start;
     float intro_duration = 3.0f;

     float alpha = 1.0f;
     if (elapsed < 0.5f)
         alpha = elapsed / 0.5f;
     else if (elapsed > intro_duration - 0.5f)
         alpha = 1.0f - (elapsed - (intro_duration - 0.5f)) / 0.5f;

     alpha = std::clamp(alpha, 0.0f, 1.0f);

     ImVec2 display_size = ImGui::GetIO().DisplaySize;
     ImVec2 center = ImVec2(display_size.x / 2.0f, display_size.y / 2.0f);
     ImDrawList* draw = ImGui::GetBackgroundDrawList();

     // ==== Полупрозрачный фон ====
     ImU32 bgColor = ImColor(10, 10, 10, int(alpha * 100)); // 100/255 — ~40% затемнение
     draw->AddRectFilled(ImVec2(0, 0), display_size, bgColor);

     // ==== Градиентный Glow текста ====
     ImFont* font = FONT::pExtra ? FONT::pExtra : ImGui::GetFont();
     float font_size = 48.0f;
     ImVec2 text_size = ImGui::CalcTextSize(full_title, nullptr, false, font_size);
     ImVec2 text_pos = ImVec2(center.x - text_size.x / 2.0f, center.y - 60.0f);

     for (int i = 8; i >= 1; --i) {
         float glow_alpha = alpha * 0.04f * i;
         ImU32 glow_color = ImColor::HSV(0.55f + 0.05f * sin(time_now + i), 0.6f, 1.0f, glow_alpha);
         draw->AddText(font, font_size + i, text_pos, glow_color, full_title);
     }

     draw->AddText(font, font_size, text_pos, ImColor(255, 255, 255, int(alpha * 255)), full_title);

     // ==== Круг загрузки с процентами ====
     float progress = std::clamp(elapsed / intro_duration, 0.0f, 1.0f);
     float radius = 30.0f;
     float thickness = 4.0f;
     ImVec2 circle_center = ImVec2(center.x, center.y + 30.0f);

     float start_angle = -IM_PI / 2.0f;
     float end_angle = start_angle + progress * 2.0f * IM_PI;

     // Фон круга
     draw->PathClear();
     draw->PathArcTo(circle_center, radius, 0, 2 * IM_PI, 64);
     draw->PathStroke(ImColor(50, 50, 50, int(alpha * 150)), false, thickness);

     // Прогресс-дуга
     draw->PathClear();
     draw->PathArcTo(circle_center, radius, start_angle, end_angle, 64);
     ImU32 ring_color = ImColor::HSV(0.55f + 0.1f * sin(time_now * 2.0f), 0.8f, 1.0f, alpha);
     draw->PathStroke(ring_color, false, thickness);

     // ==== Текст % внутри круга ====
     char percent_text[8];
     snprintf(percent_text, sizeof(percent_text), "%d%%", int(progress * 100.0f));
     ImVec2 pct_size = ImGui::CalcTextSize(percent_text);
     draw->AddText(ImVec2(circle_center.x - pct_size.x / 2, circle_center.y - pct_size.y / 2),
         ImColor(220, 220, 220, int(alpha * 255)), percent_text);

     // ==== Завершение интро ====
     if (elapsed >= intro_duration)
         intro_active = false;

     return;
 }
 
Credits: Chat LGBT
 
Данный код демонстрирует создание анимированного интро-экрана для чита, который активируется при его инжекте (внедрении) в игру. Интро длится 3 секунды и включает в себя полупрозрачный фон, динамически анимированный текст "ARCHILIX ALPHA" с градиентным свечением и эффектами затухания, а также круговой индикатор загрузки с процентами, отображающий прогресс. Визуальные элементы отрисовываются с использованием функций ImGui, контролируя время и прозрачность для создания плавных переходов. После завершения интро-экран деактивируется, а для его интеграции необходимо вставить данный фрагмент кода в начале функции рендера игрового меню.


intro:
Expand Collapse Copy
static bool intro_active = true;
 static float intro_start = 0.0f;
 const char* full_title = "ARCHILIX ALPHA";

 if (intro_active)
 {
     float time_now = ImGui::GetTime();
     if (intro_start == 0.0f)
         intro_start = time_now;

     float elapsed = time_now - intro_start;
     float intro_duration = 3.0f;

     float alpha = 1.0f;
     if (elapsed < 0.5f)
         alpha = elapsed / 0.5f;
     else if (elapsed > intro_duration - 0.5f)
         alpha = 1.0f - (elapsed - (intro_duration - 0.5f)) / 0.5f;

     alpha = std::clamp(alpha, 0.0f, 1.0f);

     ImVec2 display_size = ImGui::GetIO().DisplaySize;
     ImVec2 center = ImVec2(display_size.x / 2.0f, display_size.y / 2.0f);
     ImDrawList* draw = ImGui::GetBackgroundDrawList();

     // ==== Полупрозрачный фон ====
     ImU32 bgColor = ImColor(10, 10, 10, int(alpha * 100)); // 100/255 — ~40% затемнение
     draw->AddRectFilled(ImVec2(0, 0), display_size, bgColor);

     // ==== Градиентный Glow текста ====
     ImFont* font = FONT::pExtra ? FONT::pExtra : ImGui::GetFont();
     float font_size = 48.0f;
     ImVec2 text_size = ImGui::CalcTextSize(full_title, nullptr, false, font_size);
     ImVec2 text_pos = ImVec2(center.x - text_size.x / 2.0f, center.y - 60.0f);

     for (int i = 8; i >= 1; --i) {
         float glow_alpha = alpha * 0.04f * i;
         ImU32 glow_color = ImColor::HSV(0.55f + 0.05f * sin(time_now + i), 0.6f, 1.0f, glow_alpha);
         draw->AddText(font, font_size + i, text_pos, glow_color, full_title);
     }

     draw->AddText(font, font_size, text_pos, ImColor(255, 255, 255, int(alpha * 255)), full_title);

     // ==== Круг загрузки с процентами ====
     float progress = std::clamp(elapsed / intro_duration, 0.0f, 1.0f);
     float radius = 30.0f;
     float thickness = 4.0f;
     ImVec2 circle_center = ImVec2(center.x, center.y + 30.0f);

     float start_angle = -IM_PI / 2.0f;
     float end_angle = start_angle + progress * 2.0f * IM_PI;

     // Фон круга
     draw->PathClear();
     draw->PathArcTo(circle_center, radius, 0, 2 * IM_PI, 64);
     draw->PathStroke(ImColor(50, 50, 50, int(alpha * 150)), false, thickness);

     // Прогресс-дуга
     draw->PathClear();
     draw->PathArcTo(circle_center, radius, start_angle, end_angle, 64);
     ImU32 ring_color = ImColor::HSV(0.55f + 0.1f * sin(time_now * 2.0f), 0.8f, 1.0f, alpha);
     draw->PathStroke(ring_color, false, thickness);

     // ==== Текст % внутри круга ====
     char percent_text[8];
     snprintf(percent_text, sizeof(percent_text), "%d%%", int(progress * 100.0f));
     ImVec2 pct_size = ImGui::CalcTextSize(percent_text);
     draw->AddText(ImVec2(circle_center.x - pct_size.x / 2, circle_center.y - pct_size.y / 2),
         ImColor(220, 220, 220, int(alpha * 255)), percent_text);

     // ==== Завершение интро ====
     if (elapsed >= intro_duration)
         intro_active = false;

     return;
 }
съебал нахуй пастерок пусикэта
 
чел я кодер этого чита ARCHILIX и я решил поделиться интро так как у нас сейчас идет рекод
*кодер* бигнейм проекта
1753041315560.png
 
Назад
Сверху Снизу