Исходник LGBT Circle FOV for PLUSMINUS PASTE'S

Начинающий
Статус
Оффлайн
Регистрация
26 Июн 2022
Сообщения
33
Реакции[?]
1
Поинты[?]
2K
Итак дорогие форумчане раздела исходники на раст, кому будет интересно и нужно, сливаю сюда LGBT Fov Cricle для ваших пасточек на plusminus :D
данные строки впасщены в мою пасточку Ketamine.pw
очень красивая, если кому-то надо можете чтото лучше из этого сделать, сам сёркл лежит где то давно на форуме, кстати этот эе сёркл есть в бафф клиенте, ибо ибанути попросил меня ему скинуть данные строчки






Что нужно Ctrl+v в Rendering.h:
//Вставлять в самый верх файла Rendering.h
#define M_PI 3.14159265358979323846
int sides = 200;
static float radius = 200.f;
static bool fill = false;
static bool Rainbow = false;
static bool toMouse = false;

void Anim_circle(float r, bool filled, bool rainbow, bool toMouse) {
    auto& io = ImGui::GetIO();

    ImVec2 center = toMouse ? ImVec2(io.MousePos.x, io.MousePos.y) : ImVec2(io.DisplaySize.x * 0.5f, io.DisplaySize.y * 0.5f);
    auto drawList = ImGui::GetBackgroundDrawList();

    for (int i = 0; i < sides; ++i) {
        auto pos = center;
        float angle = (i / static_cast<float>(sides)) * 2 * M_PI;
        auto lastPos = ImVec2(pos.x + cos(angle) * r, pos.y + sin(angle) * r);
        auto nextPos = ImVec2(pos.x + cos(angle + 2 * M_PI / sides) * r, pos.y + sin(angle + 2 * M_PI / sides) * r);

        ImU32 currentColor = rainbow ? ImGui::ColorConvertFloat4ToU32(ImColor::HSV((fmod(ImGui::GetTime(), 5.0f) / 5.0f - i / static_cast<float>(sides)) + 1.0f, 0.5f, 1.0f)) : IM_COL32(255, 255, 255, 255);

        ImU32 fillCol = filled ? ImGui::ColorConvertFloat4ToU32({ ImGui::ColorConvertU32ToFloat4(currentColor).x, ImGui::ColorConvertU32ToFloat4(currentColor).y, ImGui::ColorConvertU32ToFloat4(currentColor).z, 0.2f }) : 0; // 0.2f = fill opacity

        if (filled) {
            ImVec2 triangle[3] = { lastPos, nextPos, center };
            drawList->AddConvexPolyFilled(triangle, 3, fillCol); // fill
        }

        drawList->AddLine(lastPos, nextPos, IM_COL32(0, 0, 0, 255), 4.f); // outline | очертание
        drawList->AddLine(lastPos, nextPos, currentColor, 2.f); // main | главный
    }
}

Надо найти вызов рендера самого серкла в Rendering.h и заменить его на этот:
//вставлять в Rendering
if (vars::combat::visualize_fov) {
    Anim_circle(vars::combat::fov, false, true, false);
}
 
Последнее редактирование модератором:
Начинающий
Статус
Оффлайн
Регистрация
7 Окт 2023
Сообщения
204
Реакции[?]
4
Поинты[?]
4K
Итак дорогие форумчане раздела исходники на раст, кому будет интересно и нужно, сливаю сюда LGBT Fov Cricle для ваших пасточек на plusminus :D
данные строки впасщены в мою пасточку Ketamine.pw
очень красивая, если кому-то надо можете чтото лучше из этого сделать, сам сёркл лежит где то давно на форуме, кстати этот эе сёркл есть в бафф клиенте, ибо ибанути попросил меня ему скинуть данные строчки






Что нужно Ctrl+v в Rendering.h:
//Вставлять в самый верх файла Rendering.h
#define M_PI 3.14159265358979323846
int sides = 200;
static float radius = 200.f;
static bool fill = false;
static bool Rainbow = false;
static bool toMouse = false;

void Anim_circle(float r, bool filled, bool rainbow, bool toMouse) {
    auto& io = ImGui::GetIO();

    ImVec2 center = toMouse ? ImVec2(io.MousePos.x, io.MousePos.y) : ImVec2(io.DisplaySize.x * 0.5f, io.DisplaySize.y * 0.5f);
    auto drawList = ImGui::GetBackgroundDrawList();

    for (int i = 0; i < sides; ++i) {
        auto pos = center;
        float angle = (i / static_cast<float>(sides)) * 2 * M_PI;
        auto lastPos = ImVec2(pos.x + cos(angle) * r, pos.y + sin(angle) * r);
        auto nextPos = ImVec2(pos.x + cos(angle + 2 * M_PI / sides) * r, pos.y + sin(angle + 2 * M_PI / sides) * r);

        ImU32 currentColor = rainbow ? ImGui::ColorConvertFloat4ToU32(ImColor::HSV((fmod(ImGui::GetTime(), 5.0f) / 5.0f - i / static_cast<float>(sides)) + 1.0f, 0.5f, 1.0f)) : IM_COL32(255, 255, 255, 255);

        ImU32 fillCol = filled ? ImGui::ColorConvertFloat4ToU32({ ImGui::ColorConvertU32ToFloat4(currentColor).x, ImGui::ColorConvertU32ToFloat4(currentColor).y, ImGui::ColorConvertU32ToFloat4(currentColor).z, 0.2f }) : 0; // 0.2f = fill opacity

        if (filled) {
            ImVec2 triangle[3] = { lastPos, nextPos, center };
            drawList->AddConvexPolyFilled(triangle, 3, fillCol); // fill
        }

        drawList->AddLine(lastPos, nextPos, IM_COL32(0, 0, 0, 255), 4.f); // outline | очертание
        drawList->AddLine(lastPos, nextPos, currentColor, 2.f); // main | главный
    }
}

Надо найти вызов рендера самого серкла в Rendering.h и заменить его на этот:
//вставлять в Rendering
if (vars::combat::visualize_fov) {
    Anim_circle(vars::combat::fov, false, true, false);
}
/del уже есть
 
Сверху Снизу