Вопрос Анимация ПрогрессБара на Риче

rgb(24, 205, 154)
Пользователь
Статус
Оффлайн
Регистрация
9 Фев 2019
Сообщения
287
Реакции[?]
80
Поинты[?]
75K
Привет, форумчане. Решил попробовать писать читы на майн, ну а для начала начать пастить. Мне не понравилось что в Риче прогрессбаре скачаками отрисовка.
Изначально в коде
Java:
   private static void drawProgress() {
        if (mc.gameSettings == null) {
            return;
        }
        float calc = Progress / 7f * sr.getScaledWidth() * 0.595F;
        float calcResult = 7 / 7f * sr.getScaledWidth() * 0.595F;
        float percent = (Progress / 7f) * 100;
        float color = new Color(123, 12, 255).getRGB();
        GlStateManager.resetColor();
        GlStateManager.TextureState.textureName = -1;
        pix.drawCenteredStringWithOutline("Xorks init()", sr.getScaledWidth() / 2, sr.getScaledHeight() / 2.5f, -1);
        pix1.drawBlurredString(String.format("%.0f", percent) + "%", 86 + calc - pix1.getStringWidth(String.format("%.0f", percent) + "%"), sr.getScaledHeight() - 87, 8, new Color(255, 255, 255, 50), -1);
        RenderUtils.drawSmoothRect(85, sr.getScaledHeight() - 101, 87 + calcResult, sr.getScaledHeight() - 96, new Color(20, 20, 20).getRGB());
        RenderUtils.drawSmoothRect(86, sr.getScaledHeight() - 100, 86 + calc, sr.getScaledHeight() - 97, (int) color);

    }
Моя попытка(не работает)
Java:
    private static float lastProgress = 0f;

    private static void drawProgress() {
        if (mc.gameSettings == null) {
            return;
        }

        for(float i = lastProgress; i < Progress; i++)
        {
            float calc = i / 7f * sr.getScaledWidth() * 0.595F;
            float calcResult = 7 / 7f * sr.getScaledWidth() * 0.595F;
            float percent = (i / 7f) * 100;

            GlStateManager.resetColor();
            GlStateManager.TextureState.textureName = -1;
            pix.drawCenteredStringWithOutline("Xorks init()", sr.getScaledWidth() / 2, sr.getScaledHeight() / 2.5f, -1);
            pix1.drawBlurredString(String.format("%.0f", percent) + "%", 86 + calc - pix1.getStringWidth(String.format("%.0f", percent) + "%"), sr.getScaledHeight() - 87, 8, new Color(255, 255, 255, 50), -1);

            RenderUtils.drawSmoothRect(85, sr.getScaledHeight() - 101, 87 + calcResult, sr.getScaledHeight() - 96, new Color(20, 20, 20).getRGB());
            RenderUtils.drawSmoothRect(86, sr.getScaledHeight() - 100, 86 + calc, sr.getScaledHeight() - 97, new Color(123, 12, 255).getRGB());
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        lastProgress = Progress;
    }
Так вот подскажите как сделать анимированный(плавный) прогресс бар или укажите на мою ошибку в коде. Спасибо за любую помощь!
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
117
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, форумчане. Решил попробовать писать читы на майн, ну а для начала начать пастить. Мне не понравилось что в Риче прогрессбаре скачаками отрисовка.
Изначально в коде
Java:
   private static void drawProgress() {
        if (mc.gameSettings == null) {
            return;
        }
        float calc = Progress / 7f * sr.getScaledWidth() * 0.595F;
        float calcResult = 7 / 7f * sr.getScaledWidth() * 0.595F;
        float percent = (Progress / 7f) * 100;
        float color = new Color(123, 12, 255).getRGB();
        GlStateManager.resetColor();
        GlStateManager.TextureState.textureName = -1;
        pix.drawCenteredStringWithOutline("Xorks init()", sr.getScaledWidth() / 2, sr.getScaledHeight() / 2.5f, -1);
        pix1.drawBlurredString(String.format("%.0f", percent) + "%", 86 + calc - pix1.getStringWidth(String.format("%.0f", percent) + "%"), sr.getScaledHeight() - 87, 8, new Color(255, 255, 255, 50), -1);
        RenderUtils.drawSmoothRect(85, sr.getScaledHeight() - 101, 87 + calcResult, sr.getScaledHeight() - 96, new Color(20, 20, 20).getRGB());
        RenderUtils.drawSmoothRect(86, sr.getScaledHeight() - 100, 86 + calc, sr.getScaledHeight() - 97, (int) color);

    }
Моя попытка(не работает)
Java:
    private static float lastProgress = 0f;

    private static void drawProgress() {
        if (mc.gameSettings == null) {
            return;
        }

        for(float i = lastProgress; i < Progress; i++)
        {
            float calc = i / 7f * sr.getScaledWidth() * 0.595F;
            float calcResult = 7 / 7f * sr.getScaledWidth() * 0.595F;
            float percent = (i / 7f) * 100;

            GlStateManager.resetColor();
            GlStateManager.TextureState.textureName = -1;
            pix.drawCenteredStringWithOutline("Xorks init()", sr.getScaledWidth() / 2, sr.getScaledHeight() / 2.5f, -1);
            pix1.drawBlurredString(String.format("%.0f", percent) + "%", 86 + calc - pix1.getStringWidth(String.format("%.0f", percent) + "%"), sr.getScaledHeight() - 87, 8, new Color(255, 255, 255, 50), -1);

            RenderUtils.drawSmoothRect(85, sr.getScaledHeight() - 101, 87 + calcResult, sr.getScaledHeight() - 96, new Color(20, 20, 20).getRGB());
            RenderUtils.drawSmoothRect(86, sr.getScaledHeight() - 100, 86 + calc, sr.getScaledHeight() - 97, new Color(123, 12, 255).getRGB());
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        lastProgress = Progress;
    }
Так вот подскажите как сделать анимированный(плавный) прогресс бар или укажите на мою ошибку в коде. Спасибо за любую помощь!
Пошли в дискорд, я хотел заняться этим сегодня
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
117
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вроде плавно:
 private static void drawProgress() {
        if (mc.gameSettings == null) {
            return;
        }
        float calc = Progress / 7f * sr.getScaledWidth() * 0.595F;
        float calcResult = 7 / 7f * sr.getScaledWidth() * 0.595F;
        float percent = (Progress / 7f) * 100;
        float color = new Color(123, 12, 255).getRGB();
        GlStateManager.resetColor();
        GlStateManager.TextureState.textureName = -1;
        pix.drawCenteredStringWithOutline("Wake", sr.getScaledWidth() / 2, sr.getScaledHeight() / 2.5f, -1);
        pix1.drawBlurredString(String.format("%.0f", percent) + "%", 86 + calc - pix1.getStringWidth(String.format("%.0f", percent) + "%"), sr.getScaledHeight() - 87, 8, new Color(255, 255, 255, 50), -1);
// Хз вроде плавно
        RenderUtils.drawSmoothRect(85, sr.getScaledHeight() - 101, 87 + calcResult, sr.getScaledHeight() - 96, (new Color(20, 20, 20).getRGB()));
        RenderUtils.drawSmoothRect(86, sr.getScaledHeight() - 100, 86 + calc, sr.getScaledHeight() - 97, (int) color);
    }
}
Sheikh#1885
 
Сверху Снизу