Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

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

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

Для пастеров с экспы класс называется BackMainMenu:roflanPominki:
 
Последнее редактирование:
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:
 
Назад
Сверху Снизу