ППХУДЕР
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Вообщем начал написание гуишки, наговнокодил кое какие кнопки, вроде бы сначала все работало, а потом оказалось, что переливание при наведении курсором на кнопки не работает если их несколько, если же инициализирована только одна, то все работает как нужно
Код самой кнопки:
Код самой кнопки:
Код:
public class ButtonUI {
private int widthc;
private int heightc;
private int xc;
private int yc;
private String modulec;
private static boolean toggle = false;
private static boolean hovered = false;
public float prt;
static float[] bc = new float[]{0};
Color fadet = Color.getHSBColor(0.666f, 0.46f, 1f);
private static float ticks;
public ButtonUI(int height, int width, String function, String module, FontRenderer fontRenderer, int x, int y, RenderHUDEvent e){
widthc = width;
heightc = height;
xc = x;
yc = y;
modulec = module;
OnButton(e, width, x, height, y, fontRenderer, function, module);
}
@EventTarget
public void getprt(Render3DEvent e){
prt = e.getPartialTicks();
}
public static double getCursorPosX(long windowID) {
DoubleBuffer posX = BufferUtils.createDoubleBuffer(1);
GLFW.glfwGetCursorPos(windowID, posX, null);
return posX.get(0);
}
public static double getCursorPosY(long windowID) {
DoubleBuffer posY = BufferUtils.createDoubleBuffer(1);
GLFW.glfwGetCursorPos(windowID, null, posY);
return posY.get(0);
}
void OnButton(RenderHUDEvent e, int width, int x, int height, int y, FontRenderer fontRenderer, String function, String module) {
ticks++;
if (getCursorPosX(MainWindow.handle) > (widthc / 12f * 4 + 7 + xc) * 2 && getCursorPosX(MainWindow.handle) < (widthc / 12f * 5 - 7 + xc) * 2 && getCursorPosY(MainWindow.handle) > (heightc / 10f * 3 + 19 + yc) * 2 && getCursorPosY(MainWindow.handle) < (heightc / 10f * 3 + yc + 35) * 2) {
hovered = true;
}else{
hovered = false;
}
if(hovered){
bc[0] += 0.05f; if(bc[0] > 3) bc[0] = 3f;
}else{
bc[0] -= 0.05f; if (bc[0] < 0) bc[0] = 0;
}
AbstractGui.fill(e.getMatrixStack(), width / 12 * 4 + 7 + x, height / 10 * 3 + 19 + y, width / 12 * 5 -7 + x, height / 10 * 3 + y + 35, Mainx.getModuleManager().getModule(module).toggled ? fadet.hashCode() : Color.getHSBColor(0, 0, 0.1f + bc[0] * 0.01f).hashCode());
UI.drawCenteredString(e.getMatrixStack(), fontRenderer, function, width / 12f * 4.5F - 3.5f + x, height / 10f * 3 + 22 + y, (0xffffff));
if (MainWindow.handle != 0) {
if (GLFW.glfwGetMouseButton(MainWindow.handle, GLFW.GLFW_MOUSE_BUTTON_1) == 0) {
//OnClick();
toggle = false;
}
if (GLFW.glfwGetMouseButton(MainWindow.handle, GLFW.GLFW_MOUSE_BUTTON_1) == 1 && !toggle && getCursorPosX(MainWindow.handle) > (widthc / 12f * 4 + 7 + xc) * 2 && getCursorPosX(MainWindow.handle) < (widthc / 12f * 5 - 7 + xc) * 2 && getCursorPosY(MainWindow.handle) > (heightc / 10f * 3 + 19 + yc) * 2 && getCursorPosY(MainWindow.handle) < (heightc / 10f * 3 + yc + 35) * 2) {
Chtulhu.getModuleManager().getModule(modulec).toggle();
SoundEvent breakst = SoundEvents.BLOCK_STONE_BREAK;
Minecraft.getInstance().player.playSound(breakst, 100, 1);
toggle = true;
}
}
}
float fadeiti(boolean hovered, float colorOffset){
return 0.1f + colorOffset * 0.01f;
}
}