Гайд Как сделать изменение цвета в зависимости от хп игрока в TargetHUD | EXPENSIVE 3.1 base

Начинающий
Статус
Оффлайн
Регистрация
29 Апр 2023
Сообщения
422
Реакции[?]
3
Поинты[?]
4K
Бюджет гайда-бутылка пива , и пузо ежова под рукой.
НЕ ПИЗДИТЬ НОГАМИ!
Так-с , нам нужно создать переменные с цветами , которые будем юзать в нашем переливании цветов-у меня это зеленый,красный,желтый.У вас же они могут быть другие,по вашему вкусу.
Java:
// Градиентный переход цвета полоски здоровья
            Color greenColor = new Color(0, 153, 76);
            Color yellowColor = new Color(204, 204, 0);
            Color redColor = new Color(204, 0, 0);
Далее мы создаем оператор,который вычисляет процентное значение здоровья путем деления текущего здоровья (hp) на максимальное здоровье (maxHp)
Также создаем переменную currentColor, которая будет использоваться для хранения цвета в зависимости от процентного значения здоровья.
Java:
float healthPercentage = hp / maxHp;
Color currentColor;
Далее создаем условное выражение, которое выбирает цвет в зависимости от процентного значения здоровья (healthPercentage).

Если healthPercentage больше или равно 0.5, то это означает, что здоровье более чем половина максимального значения. В этом случае используется переменная ratio, которая вычисляется как (healthPercentage - 0.5) * 2, чтобы преобразовать диапазон значений в интервал от 0 до 1. Затем функция blendColors() вызывается с использованием yellowColor и greenColor, а также ratio для плавного смешивания этих двух цветов в пропорции, определенной значением ratio.

Если healthPercentage меньше 0.5, то это означает, что здоровье менее чем половина максимального значения. В этом случае используется другая переменная ratio, которая вычисляется как healthPercentage * 2, чтобы также преобразовать диапазон значений в интервал от 0 до 1. Затем снова вызывается blendColors(), но уже с использованием redColor и yellowColor, и значение ratio для плавного смешивания цветов.
Java:
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Вот что в итоге вышло-
Java:
Color greenColor = new Color(0, 153, 76);
Color yellowColor = new Color(204, 204, 0);
Color redColor = new Color(204, 0, 0);
float healthPercentage = hp / maxHp;
Color currentColor;
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Я думаю не стоит говорить,что это мы пихаем в метод render,перед рендером самой полоски ХП

Далее у нас осталось самое простое-зарендерить это все.
Все что нужно - это заменить значение цвета с style.getFirstColor().getRGB(), style.getSecondColor().getRGB() на наш currentColor.getRGB
У меня вышло так -
Java:
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f),currentColor.getRGB());


DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.absorptionAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
Вот что у нас вышло -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Всем спасибо кто был,буду рад клоунам и попкорну.
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
961
Реакции[?]
171
Поинты[?]
56K
В Австралии пятидесятицентовая монета поначалу содержала серебра на сумму 2 доллара.
Мне кажется эта информация полезнее чем та что содержится в посте
 
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
Бюджет гайда-бутылка пива , и пузо ежова под рукой.
НЕ ПИЗДИТЬ НОГАМИ!
Так-с , нам нужно создать переменные с цветами , которые будем юзать в нашем переливании цветов-у меня это зеленый,красный,желтый.У вас же они могут быть другие,по вашему вкусу.
Java:
// Градиентный переход цвета полоски здоровья
            Color greenColor = new Color(0, 153, 76);
            Color yellowColor = new Color(204, 204, 0);
            Color redColor = new Color(204, 0, 0);
Далее мы создаем оператор,который вычисляет процентное значение здоровья путем деления текущего здоровья (hp) на максимальное здоровье (maxHp)
Также создаем переменную currentColor, которая будет использоваться для хранения цвета в зависимости от процентного значения здоровья.
Java:
float healthPercentage = hp / maxHp;
Color currentColor;
Далее создаем условное выражение, которое выбирает цвет в зависимости от процентного значения здоровья (healthPercentage).

Если healthPercentage больше или равно 0.5, то это означает, что здоровье более чем половина максимального значения. В этом случае используется переменная ratio, которая вычисляется как (healthPercentage - 0.5) * 2, чтобы преобразовать диапазон значений в интервал от 0 до 1. Затем функция blendColors() вызывается с использованием yellowColor и greenColor, а также ratio для плавного смешивания этих двух цветов в пропорции, определенной значением ratio.

Если healthPercentage меньше 0.5, то это означает, что здоровье менее чем половина максимального значения. В этом случае используется другая переменная ratio, которая вычисляется как healthPercentage * 2, чтобы также преобразовать диапазон значений в интервал от 0 до 1. Затем снова вызывается blendColors(), но уже с использованием redColor и yellowColor, и значение ratio для плавного смешивания цветов.
Java:
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Вот что в итоге вышло-
Java:
Color greenColor = new Color(0, 153, 76);
Color yellowColor = new Color(204, 204, 0);
Color redColor = new Color(204, 0, 0);
float healthPercentage = hp / maxHp;
Color currentColor;
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Я думаю не стоит говорить,что это мы пихаем в метод render,перед рендером самой полоски ХП

Далее у нас осталось самое простое-зарендерить это все.
Все что нужно - это заменить значение цвета с style.getFirstColor().getRGB(), style.getSecondColor().getRGB() на наш currentColor.getRGB
У меня вышло так -
Java:
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f),currentColor.getRGB());


DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.absorptionAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
Вот что у нас вышло -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Всем спасибо кто был,буду рад клоунам и попкорну.
там на серверах какаето хуйня происходит с тх зайди проверь
 
Начинающий
Статус
Оффлайн
Регистрация
29 Апр 2023
Сообщения
422
Реакции[?]
3
Поинты[?]
4K
Read Only
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
252
Реакции[?]
2
Поинты[?]
0
Бюджет гайда-бутылка пива , и пузо ежова под рукой.
НЕ ПИЗДИТЬ НОГАМИ!
Так-с , нам нужно создать переменные с цветами , которые будем юзать в нашем переливании цветов-у меня это зеленый,красный,желтый.У вас же они могут быть другие,по вашему вкусу.
Java:
// Градиентный переход цвета полоски здоровья
            Color greenColor = new Color(0, 153, 76);
            Color yellowColor = new Color(204, 204, 0);
            Color redColor = new Color(204, 0, 0);
Далее мы создаем оператор,который вычисляет процентное значение здоровья путем деления текущего здоровья (hp) на максимальное здоровье (maxHp)
Также создаем переменную currentColor, которая будет использоваться для хранения цвета в зависимости от процентного значения здоровья.
Java:
float healthPercentage = hp / maxHp;
Color currentColor;
Далее создаем условное выражение, которое выбирает цвет в зависимости от процентного значения здоровья (healthPercentage).

Если healthPercentage больше или равно 0.5, то это означает, что здоровье более чем половина максимального значения. В этом случае используется переменная ratio, которая вычисляется как (healthPercentage - 0.5) * 2, чтобы преобразовать диапазон значений в интервал от 0 до 1. Затем функция blendColors() вызывается с использованием yellowColor и greenColor, а также ratio для плавного смешивания этих двух цветов в пропорции, определенной значением ratio.

Если healthPercentage меньше 0.5, то это означает, что здоровье менее чем половина максимального значения. В этом случае используется другая переменная ratio, которая вычисляется как healthPercentage * 2, чтобы также преобразовать диапазон значений в интервал от 0 до 1. Затем снова вызывается blendColors(), но уже с использованием redColor и yellowColor, и значение ratio для плавного смешивания цветов.
Java:
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Вот что в итоге вышло-
Java:
Color greenColor = new Color(0, 153, 76);
Color yellowColor = new Color(204, 204, 0);
Color redColor = new Color(204, 0, 0);
float healthPercentage = hp / maxHp;
Color currentColor;
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Я думаю не стоит говорить,что это мы пихаем в метод render,перед рендером самой полоски ХП

Далее у нас осталось самое простое-зарендерить это все.
Все что нужно - это заменить значение цвета с style.getFirstColor().getRGB(), style.getSecondColor().getRGB() на наш currentColor.getRGB
У меня вышло так -
Java:
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f),currentColor.getRGB());


DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.absorptionAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
Вот что у нас вышло -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Всем спасибо кто был,буду рад клоунам и попкорну.
Как броню добавить?
 
pasting corporation
Read Only
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
716
Реакции[?]
210
Поинты[?]
4K
Бюджет гайда-бутылка пива , и пузо ежова под рукой.
НЕ ПИЗДИТЬ НОГАМИ!
Так-с , нам нужно создать переменные с цветами , которые будем юзать в нашем переливании цветов-у меня это зеленый,красный,желтый.У вас же они могут быть другие,по вашему вкусу.
Java:
// Градиентный переход цвета полоски здоровья
            Color greenColor = new Color(0, 153, 76);
            Color yellowColor = new Color(204, 204, 0);
            Color redColor = new Color(204, 0, 0);
Далее мы создаем оператор,который вычисляет процентное значение здоровья путем деления текущего здоровья (hp) на максимальное здоровье (maxHp)
Также создаем переменную currentColor, которая будет использоваться для хранения цвета в зависимости от процентного значения здоровья.
Java:
float healthPercentage = hp / maxHp;
Color currentColor;
Далее создаем условное выражение, которое выбирает цвет в зависимости от процентного значения здоровья (healthPercentage).

Если healthPercentage больше или равно 0.5, то это означает, что здоровье более чем половина максимального значения. В этом случае используется переменная ratio, которая вычисляется как (healthPercentage - 0.5) * 2, чтобы преобразовать диапазон значений в интервал от 0 до 1. Затем функция blendColors() вызывается с использованием yellowColor и greenColor, а также ratio для плавного смешивания этих двух цветов в пропорции, определенной значением ratio.

Если healthPercentage меньше 0.5, то это означает, что здоровье менее чем половина максимального значения. В этом случае используется другая переменная ratio, которая вычисляется как healthPercentage * 2, чтобы также преобразовать диапазон значений в интервал от 0 до 1. Затем снова вызывается blendColors(), но уже с использованием redColor и yellowColor, и значение ratio для плавного смешивания цветов.
Java:
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Вот что в итоге вышло-
Java:
Color greenColor = new Color(0, 153, 76);
Color yellowColor = new Color(204, 204, 0);
Color redColor = new Color(204, 0, 0);
float healthPercentage = hp / maxHp;
Color currentColor;
if (healthPercentage >= 0.5f) {
float ratio = (healthPercentage - 0.5f) * 2;
currentColor = blendColors(yellowColor, greenColor, ratio);
} else {
float ratio = healthPercentage * 2;
currentColor = blendColors(redColor, yellowColor, ratio);
}
Я думаю не стоит говорить,что это мы пихаем в метод render,перед рендером самой полоски ХП

Далее у нас осталось самое простое-зарендерить это все.
Все что нужно - это заменить значение цвета с style.getFirstColor().getRGB(), style.getSecondColor().getRGB() на наш currentColor.getRGB
У меня вышло так -
Java:
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.healthAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f),currentColor.getRGB());


DisplayUtils.drawRoundedRect(posX + headSize + spacing + spacing, posY + height - spacing * 2.0f - 2.0f, (width - 42.0f) * this.absorptionAnimation, 7.0f, new Vector4f(4.0f, 4.0f, 4.0f, 4.0f), currentColor.getRGB());
Вот что у нас вышло -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Всем спасибо кто был,буду рад клоунам и попкорну.
это пиздец
 
Сверху Снизу