Вопрос Как сделать changelog

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
30 Ноя 2024
Сообщения
2
Реакции
0
Я просматривал много сурсов и в одном из них мне понравилась одна штука. Выведение ChangeLog в главное меню чита. Увидел что это делалось через pastebin, но как добавить его в свой проект я так и не понял. Делаю чит на базе EvaWare. Кто сможет помочь мне или дать совет как лучше сделать?
 
Я просматривал много сурсов и в одном из них мне понравилась одна штука. Выведение ChangeLog в главное меню чита. Увидел что это делалось через pastebin, но как добавить его в свой проект я так и не понял. Делаю чит на базе EvaWare. Кто сможет помочь мне или дать совет как лучше сделать?
на пастабин залей, в самом чите в мейн меню скрин сделай чтобы оно отображалось
 
deepseek тебе сюда
 
пиздец, при чём здесь ещё одно логово мастеров всего мира, если ты говоришь про главное меню чита, то тебе надо изменять MainMenu.java и там просто каждый билд текст обновлять, если отдельной кнопкой тоже самое как и с кнопками маина, только адресуешь не на singleplayer например а на свой класс где уже тоже рендерится окошко с текстом твоих нововведений

:FeelsBadMan: - связывают не связанные вещи лишённые какой-либо логики....:disappointed:
 
просто используй DisplayUtils и Fonts в классе MainMenu. В чем проблема??

Для пастеров с экспы класс называется BackMainMenu:roflanPominki:
 
Последнее редактирование:
залей на pastebin и в чите сделай отправку запроса на raw url
 
1748435812702.png

да ну, реально так пишется?:fearscream:
1748435885864.png
 
пиздец, при чём здесь ещё одно логово мастеров всего мира, если ты говоришь про главное меню чита, то тебе надо изменять MainMenu.java и там просто каждый билд текст обновлять, если отдельной кнопкой тоже самое как и с кнопками маина, только адресуешь не на singleplayer например а на свой класс где уже тоже рендерится окошко с текстом твоих нововведений

:FeelsBadMan: - связывают не связанные вещи лишённые какой-либо логики....:disappointed:
Я понял, но как реализовать эту кнопку с обновлениями я не знаю. Если можешь код написать.
 
Я понял, но как реализовать эту кнопку с обновлениями я не знаю. Если можешь код написать.
чатик гпт

Я не собираюсь пастить Теперь свой код пишу сам, без гита — это мой стиль И эти строки, что не мог в себе держать Пастить экспу как всеэто не для меня
 
Я понял, но как реализовать эту кнопку с обновлениями я не знаю. Если можешь код написать.
крч, мини гайд - писал на 3.1
1.добни переменную в класс

Java:
Expand Collapse Copy
private boolean showChangelog = false;
2.в init() где кнопки рендеряся к ним вставь
Java:
Expand Collapse Copy
y += 50 / 2f;
buttons.add(new Button(x, y+68, widthButton, heightButton, "ChangAss", () -> {
showChangelog = true;
}));
3. В метод render() после drawButtons() добни
Java:
Expand Collapse Copy
if (showChangelog) {
    renderChangelogov(stack, mouseX, mouseY);
}
4.создай new метод самих ченджей
Java:
Expand Collapse Copy
private void renderChangelogov(MatrixStack matrixStack, int mouseX, int mouseY) {
    MainWindow mainWindow = mc.getMainWindow();
    DisplayUtils.drawRoundedRect(0, 0, mainWindow.getScaledWidth(), mainWindow.getScaledHeight(), 0, ColorUtils.rgba(0, 0, 0, 150));

    float windowWidth = 400;
    float windowHeight = 300;
    float windowX = mainWindow.getScaledWidth() / 2f - windowWidth / 2f;
    float windowY = mainWindow.getScaledHeight() / 2f - windowHeight / 2f;

    DisplayUtils.drawShadow(windowX, windowY, windowWidth, windowHeight, 15, ColorUtils.rgba(0, 0, 0, 100));
    DisplayUtils.drawRoundedRect(windowX, windowY, windowWidth, windowHeight, 15, ColorUtils.rgb(30, 30, 60));
    DisplayUtils.drawRoundedRect(windowX + 2, windowY + 2, windowWidth - 4, windowHeight - 4, 13, ColorUtils.rgb(25, 25, 50));

    ITextComponent title = GradientUtil.white("Changelog");
    float titleWidth = Fonts.sf_regular.getWidth(title, 2f);
    Fonts.sf_regular.drawText(matrixStack, title, windowX + windowWidth / 2f - titleWidth / 2f, windowY + 15, titleWidth, 255);

    String[] changelogtext= {
"Thank for SXDpandora",
"@sxdpandora",
"Искры хрома в твоём теле",
"Искры хрома на постели",
"В процедурном кабинете",
"Искры на твоих коленях",
"Целлофановые ночи",
"Замки из песка и соды",
"Залечу все твои раны",
"Нанесёшь себе по новой",
"Доводи всё до летального исхода"
    };

    float textY = windowY + 50;
    for (String line : changelogtext) {
        Fonts.sf_light.drawText(matrixStack, GradientUtil.white(line), windowX + 20, textY,
                Fonts.sf_light.getWidth(GradientUtil.white(line), 2f), 200);
        textY += 18;
    }

    float closeButtonWidth = 80;
    float closeButtonHeight = 25;
    float closeButtonX = windowX + windowWidth - closeButtonWidth - 15;
    float closeButtonY = windowY + windowHeight - closeButtonHeight - 15;

    boolean isHovered = MathUtil.isInRegion(mouseX, mouseY, closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight);
    int buttonColor = isHovered ? ColorUtils.rgba(60, 60, 120, 200) : ColorUtils.rgba(40, 40, 80, 200);

    DisplayUtils.drawRoundedRect(closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight, 7, buttonColor);
    ITextComponent closeText = GradientUtil.white("Закрыть");
    float closeTextWidth = Fonts.sf_light.getWidth(closeText, 4f);
    Fonts.sf_light.drawText(matrixStack, closeText,
            closeButtonX + closeButtonWidth / 2f - closeTextWidth / 2f,
            closeButtonY + closeButtonHeight / 2f - 4f,
            closeTextWidth, 255);
}
5.потом в keyPressed() добавь
Java:
Expand Collapse Copy
if (showChangelog && keyCode == 256) {
    showChangelog = false;
    return true;
}
6.и финально в метод mouseClicked() в начале добни
дада, прям в самое начало после фигурных скобок:
Expand Collapse Copy
if (showChangelog) {
    MainWindow mainWindow = mc.getMainWindow();
    float windowWidth = 400;
    float windowHeight = 300;
    float windowX = mainWindow.getScaledWidth() / 2f - windowWidth / 2f;
    float windowY = mainWindow.getScaledHeight() / 2f - windowHeight / 2f;
    float closeButtonWidth = 80;
    float closeButtonHeight = 25;
    float closeButtonX = windowX + windowWidth - closeButtonWidth - 15;
    float closeButtonY = windowY + windowHeight - closeButtonHeight - 15;

    if (MathUtil.isInRegion((int)mouseX, (int)mouseY, closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight)) {
        showChangelog = false;
        return true;
    }

    if (!MathUtil.isInRegion((int)mouseX, (int)mouseY, windowX, windowY, windowWidth, windowHeight)) {
        showChangelog = false;
        return true;
    }
    return true;
}
Надеюсь помог
 
крч, мини гайд - писал на 3.1
1.добни переменную в класс

Java:
Expand Collapse Copy
private boolean showChangelog = false;
2.в init() где кнопки рендеряся к ним вставь
Java:
Expand Collapse Copy
y += 50 / 2f;
buttons.add(new Button(x, y+68, widthButton, heightButton, "ChangAss", () -> {
showChangelog = true;
}));
3. В метод render() после drawButtons() добни
Java:
Expand Collapse Copy
if (showChangelog) {
    renderChangelogov(stack, mouseX, mouseY);
}
4.создай new метод самих ченджей
Java:
Expand Collapse Copy
private void renderChangelogov(MatrixStack matrixStack, int mouseX, int mouseY) {
    MainWindow mainWindow = mc.getMainWindow();
    DisplayUtils.drawRoundedRect(0, 0, mainWindow.getScaledWidth(), mainWindow.getScaledHeight(), 0, ColorUtils.rgba(0, 0, 0, 150));

    float windowWidth = 400;
    float windowHeight = 300;
    float windowX = mainWindow.getScaledWidth() / 2f - windowWidth / 2f;
    float windowY = mainWindow.getScaledHeight() / 2f - windowHeight / 2f;

    DisplayUtils.drawShadow(windowX, windowY, windowWidth, windowHeight, 15, ColorUtils.rgba(0, 0, 0, 100));
    DisplayUtils.drawRoundedRect(windowX, windowY, windowWidth, windowHeight, 15, ColorUtils.rgb(30, 30, 60));
    DisplayUtils.drawRoundedRect(windowX + 2, windowY + 2, windowWidth - 4, windowHeight - 4, 13, ColorUtils.rgb(25, 25, 50));

    ITextComponent title = GradientUtil.white("Changelog");
    float titleWidth = Fonts.sf_regular.getWidth(title, 2f);
    Fonts.sf_regular.drawText(matrixStack, title, windowX + windowWidth / 2f - titleWidth / 2f, windowY + 15, titleWidth, 255);

    String[] changelogtext= {
"Thank for SXDpandora",
"@sxdpandora",
"Искры хрома в твоём теле",
"Искры хрома на постели",
"В процедурном кабинете",
"Искры на твоих коленях",
"Целлофановые ночи",
"Замки из песка и соды",
"Залечу все твои раны",
"Нанесёшь себе по новой",
"Доводи всё до летального исхода"
    };

    float textY = windowY + 50;
    for (String line : changelogtext) {
        Fonts.sf_light.drawText(matrixStack, GradientUtil.white(line), windowX + 20, textY,
                Fonts.sf_light.getWidth(GradientUtil.white(line), 2f), 200);
        textY += 18;
    }

    float closeButtonWidth = 80;
    float closeButtonHeight = 25;
    float closeButtonX = windowX + windowWidth - closeButtonWidth - 15;
    float closeButtonY = windowY + windowHeight - closeButtonHeight - 15;

    boolean isHovered = MathUtil.isInRegion(mouseX, mouseY, closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight);
    int buttonColor = isHovered ? ColorUtils.rgba(60, 60, 120, 200) : ColorUtils.rgba(40, 40, 80, 200);

    DisplayUtils.drawRoundedRect(closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight, 7, buttonColor);
    ITextComponent closeText = GradientUtil.white("Закрыть");
    float closeTextWidth = Fonts.sf_light.getWidth(closeText, 4f);
    Fonts.sf_light.drawText(matrixStack, closeText,
            closeButtonX + closeButtonWidth / 2f - closeTextWidth / 2f,
            closeButtonY + closeButtonHeight / 2f - 4f,
            closeTextWidth, 255);
}
5.потом в keyPressed() добавь
Java:
Expand Collapse Copy
if (showChangelog && keyCode == 256) {
    showChangelog = false;
    return true;
}
6.и финально в метод mouseClicked() в начале добни
дада, прям в самое начало после фигурных скобок:
Expand Collapse Copy
if (showChangelog) {
    MainWindow mainWindow = mc.getMainWindow();
    float windowWidth = 400;
    float windowHeight = 300;
    float windowX = mainWindow.getScaledWidth() / 2f - windowWidth / 2f;
    float windowY = mainWindow.getScaledHeight() / 2f - windowHeight / 2f;
    float closeButtonWidth = 80;
    float closeButtonHeight = 25;
    float closeButtonX = windowX + windowWidth - closeButtonWidth - 15;
    float closeButtonY = windowY + windowHeight - closeButtonHeight - 15;

    if (MathUtil.isInRegion((int)mouseX, (int)mouseY, closeButtonX, closeButtonY, closeButtonWidth, closeButtonHeight)) {
        showChangelog = false;
        return true;
    }

    if (!MathUtil.isInRegion((int)mouseX, (int)mouseY, windowX, windowY, windowWidth, windowHeight)) {
        showChangelog = false;
        return true;
    }
    return true;
}
Надеюсь помог
бля хули мне не помогают так, как ему ((:fffuuu:
 
Назад
Сверху Снизу