• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Как сделать изменение fps плавным, как в wild и wexside

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Фев 2023
Сообщения
3
Реакции
1
Как сделать изменение значения "fps" плавным, как в wild и wexside?
помогите
 
Как сделать изменение значения "fps" плавным, как в wild и wexside?
помогите

вот пример, написанный мною и гптшкой (думаю как поменять всякие коды - поймешь):

гпт + мой код:
Expand Collapse Copy
package omg.sticky.module.impl;

import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;

@ModuleInfo(name = "Watermark", desc = "Displays a watermark with FPS.")
public class Watermark extends Module {

    private float displayedFps = 0.0f; // Текущее плавное значение FPS

    [USER=1367676]@override[/USER]
    public void onRender() {
        if (mc == null || mc.player == null) return;

        // Получаем текущее FPS
        int currentFps = mc.getFps();

        // Плавно изменяем значение с использованием линейной интерполяции
        displayedFps = lerp(displayedFps, currentFps, 0.1f);

        // Отрисовка ватермарки
        String text = "Watermark | FPS: " + Math.round(displayedFps);
        mc.textRenderer.drawWithShadow(text, 10, 10, 0xFFFFFF);
    }

    /**
     * Линейная интерполяция между двумя значениями
     *
     * [USER=804731]@param[/USER] start Начальное значение
     * [USER=804731]@param[/USER] end Конечное значение
     * [USER=804731]@param[/USER] alpha Коэффициент интерполяции (0.0 - без изменений, 1.0 - мгновенно)
     * [USER=46448]@ReturN[/USER] Результат интерполяции
     */
    private float lerp(float start, float end, float alpha) {
        return start + alpha * (end - start);
    }
}

удачи. если что случится - пиши
 
вот пример, написанный мною и гптшкой (думаю как поменять всякие коды - поймешь):

гпт + мой код:
Expand Collapse Copy
package omg.sticky.module.impl;

import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;

@ModuleInfo(name = "Watermark", desc = "Displays a watermark with FPS.")
public class Watermark extends Module {

    private float displayedFps = 0.0f; // Текущее плавное значение FPS

    [USER=1367676]@override[/USER]
    public void onRender() {
        if (mc == null || mc.player == null) return;

        // Получаем текущее FPS
        int currentFps = mc.getFps();

        // Плавно изменяем значение с использованием линейной интерполяции
        displayedFps = lerp(displayedFps, currentFps, 0.1f);

        // Отрисовка ватермарки
        String text = "Watermark | FPS: " + Math.round(displayedFps);
        mc.textRenderer.drawWithShadow(text, 10, 10, 0xFFFFFF);
    }

    /**
     * Линейная интерполяция между двумя значениями
     *
     * [USER=804731]@param[/USER] start Начальное значение
     * [USER=804731]@param[/USER] end Конечное значение
     * [USER=804731]@param[/USER] alpha Коэффициент интерполяции (0.0 - без изменений, 1.0 - мгновенно)
     * [USER=46448]@ReturN[/USER] Результат интерполяции
     */
    private float lerp(float start, float end, float alpha) {
        return start + alpha * (end - start);
    }
}

удачи. если что случится - пиши

+rep
 
Последнее редактирование:
  • Мне нравится
Реакции: r3z
вот пример, написанный мною и гптшкой (думаю как поменять всякие коды - поймешь):

гпт + мой код:
Expand Collapse Copy
package omg.sticky.module.impl;

import omg.sticky.module.api.Module;
import omg.sticky.module.api.ModuleInfo;

@ModuleInfo(name = "Watermark", desc = "Displays a watermark with FPS.")
public class Watermark extends Module {

    private float displayedFps = 0.0f; // Текущее плавное значение FPS

    [USER=1367676]@override[/USER]
    public void onRender() {
        if (mc == null || mc.player == null) return;

        // Получаем текущее FPS
        int currentFps = mc.getFps();

        // Плавно изменяем значение с использованием линейной интерполяции
        displayedFps = lerp(displayedFps, currentFps, 0.1f);

        // Отрисовка ватермарки
        String text = "Watermark | FPS: " + Math.round(displayedFps);
        mc.textRenderer.drawWithShadow(text, 10, 10, 0xFFFFFF);
    }

    /**
     * Линейная интерполяция между двумя значениями
     *
     * [USER=804731]@param[/USER] start Начальное значение
     * [USER=804731]@param[/USER] end Конечное значение
     * [USER=804731]@param[/USER] alpha Коэффициент интерполяции (0.0 - без изменений, 1.0 - мгновенно)
     * [USER=46448]@ReturN[/USER] Результат интерполяции
     */
    private float lerp(float start, float end, float alpha) {
        return start + alpha * (end - start);
    }
}

удачи. если что случится - пиши
+rep
 
Код:
Expand Collapse Copy
private int currentFPS = 0;
private static final long UPDATE_INTERVAL = 25;


targetFPS = Minecraft.getInstance().debugFPS;
targetPing = PingUtil.calculatePing();
long currentTime = System.currentTimeMillis();
if (currentTime - lastUpdateTime >= UPDATE_INTERVAL) {
currentFPS += (targetFPS - currentFPS) * 0.1;
currentPing += (targetPing - currentPing) * 0.1;
lastUpdateTime = currentTime;
}


ITextComponent fps = GradientUtil.white(String.valueOf((int)currentFPS));
ITextComponent fpsText = GradientUtil.white("fps");
 
Код:
Expand Collapse Copy
private int currentFPS = 0;
private static final long UPDATE_INTERVAL = 25;


targetFPS = Minecraft.getInstance().debugFPS;
targetPing = PingUtil.calculatePing();
long currentTime = System.currentTimeMillis();
if (currentTime - lastUpdateTime >= UPDATE_INTERVAL) {
currentFPS += (targetFPS - currentFPS) * 0.1;
currentPing += (targetPing - currentPing) * 0.1;
lastUpdateTime = currentTime;
}


ITextComponent fps = GradientUtil.white(String.valueOf((int)currentFPS));
ITextComponent fpsText = GradientUtil.white("fps");
зачем апнул? + решение нашли уже
 
Назад
Сверху Снизу