Fonction des bouton du menu Ingame "GUI"
-
Sa ne fonctionne pas rien ne s’écrit dans la console
-
Utilises l’événement GuiScreenEvent.ActionPerformedEvent alors.
-
C’est pas logique que le code ne soit pas appelé, regarde si le bouton fait du bruit quand tu cliques dessus.
Petite question, pourquoi faire ça : int i = event.gui.height = -16; ?
-
Nan scarex sa fais aucun bruit :c
Je ne sais plus éxactement mais ça c’est pour changer la place du bouton nan ?
-
@‘SCAREX’:
C’est pas logique que le code ne soit pas appelé, regarde si le bouton fait du bruit quand tu cliques dessus.
Petite question, pourquoi faire ça : int i = event.gui.height = -16; ?
Je n’avais même pas vu x)
@‘titoux99’:
Nan scarex sa fais aucun bruit :c
Je ne sais plus éxactement mais ça c’est pour changer la place du bouton nan ?
Non, ça ne sert à rien. Autant mettre directement -16 à la place de i dans le code. Surtout que là tu fais une double initialisation.
-
Et surtout que la taille d’un gui ne peut pas être négative.
(Je vais voir plus tard pourquoi ce n’est pas appelé et j’éditerai mon message)
-
Toujours pas de solution ? :c
-
Je t’ai donné une piste :
@‘robin4002’:Utilises l’événement GuiScreenEvent.ActionPerformedEvent alors.
-
J’ai testé le code, tout marche très bien une fois que tu as changé ceci : int i = event.gui.height = -16; en ceci : int i = -16;
Je suppose donc que tu n’avais pas fait la modification lorsque l’on te l’avait dit.En revanche tu n’as pas caché tous les boutons, si tu veux vraiment retirer tous les boutons je te conseille plutôt de ne pas mettre de condition ou de bien penser à mettre tous les boutons sinon tu auras des problèmes
-
@‘SCAREX’:
J’ai testé le code, tout marche très bien une fois que tu as changé ceci : int i = event.gui.height = -16; en ceci : int i = -16;
Je suppose donc que tu n’avais pas fait la modification lorsque l’on te l’avait dit.En revanche tu n’as pas caché tous les boutons, si tu veux vraiment retirer tous les boutons je te conseille plutôt de ne pas mettre de condition ou de bien penser à mettre tous les boutons sinon tu auras des problèmes
J’ai fais comme tu m’as dit et sa ne marche toujours pas
Pour ce qui est de robin je vais essayer ce soirSinon merci les gars de votre aide.
-
Renvoi le code car chez moi ça marche
-
// Gui @SubscribeEvent public void onInitGuiIngameEvent(InitGuiEvent.Post event) { if(event.gui instanceof GuiIngameMenu) { // on cache les boutons de base for(Object b : event.buttonList) { int buttonId = ((GuiButton)b).id; if(buttonId == 1 || buttonId == 4 || buttonId == 0 || buttonId == 2 || buttonId == 7 || buttonId == 5 || buttonId == 12 || buttonId == 6) { ((GuiButton)b).visible = false; } } int i = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 31, 98, 20, "§6Votez") {}); int K = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 25, 98, 20, "§5Succes") {}); int E = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 31, 98, 20, "§bStatistiques") {}); int R = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 28, 98, 20, "§7Options") {}); int A = 16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 25, 98, 20, "§3Site") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("https://www.xerox.fr/")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int S = 16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 28, 98, 20, "§2TeamSpeak") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("ts3server://90.113.192.237")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int D = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, D + 8 * 22, "§e§lRetour au Jeu") { }); int Q = event.gui.height = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, Q + 8 * 34, "§c§lDeconnexion") { }); } }Voilà SCAREX
J’ai aussi mit a la place de -16, 16 mais marche pas sa modifier juste la position du bouton. -
// Gui @SubscribeEvent public void onInitGuiIngameEvent(InitGuiEvent.Post event) { if(event.gui instanceof GuiIngameMenu) { // on cache les boutons de base for(Object b : event.buttonList) { int buttonId = ((GuiButton)b).id; if(buttonId == 1 || buttonId == 4 || buttonId == 0 || buttonId == 2 || buttonId == 7 || buttonId == 5 || buttonId == 12 || buttonId == 6) // Quand tu commences à en avoir beaucoup l'utilisation d'un bloc switch est conseillée mais sinon ça marche de la même manière c'est juste plus propre { ((GuiButton)b).visible = false; } } int i = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 31, 98, 20, "§6Votez") {}); int K = -16; // convention java ! K doit être en minuscule, de plus à quoi ça sert de déclarer une nouvelle variable contenant la même chose que i et qui en plus n'est pas utilisée dans ton code, tu peux utiliser i à chaque fois, la variable ne change pas… event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 25, 98, 20, "§5Succes") {}); int E = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 31, 98, 20, "§bStatistiques") {}); int R = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, i + 8 * 28, 98, 20, "§7Options") {}); int A = 16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 25, 98, 20, "§3Site") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("https://www.xerox.fr/")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int S = 16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 28, 98, 20, "§2TeamSpeak") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("ts3server://90.113.192.237")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int D = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, D + 8 * 22, "§e§lRetour au Jeu") { }); int Q = event.gui.height = -16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, Q + 8 * 34, "§c§lDeconnexion") { }); } }Change tous les ids et mets les à -1 comme ça il n’y aura jamais de problème au niveau des ids
De ce que je vois il n’y a aucun problème, les boutons sont affichés ? Si oui, quand tu cliques sur le bouton du ts ou du site est-ce que le lien s’ouvre ?
PS : Pense à la balise java
-
Merci beaucoup de t’a réponse mais,
Donc oui les bouton sons affichés : http://prntscr.com/bj92i6
Quand je clique sur le bouton ts ou site rien ne s’ouvre et il y a non plus aucun son de cliqueQue se qu’est la balise java ? :c
Merci.
PS:
J’ai fais un test du côte du GuiMainMenu et sa fonctione correctement le lien s’ouvre :cint h = event.gui.height / 4 + 48;
event.buttonList.add(new GuiButton(31, event.gui.width / 2 + 2, h + 24 * 2, 98, 20,“§3Site”){@Override
public void mouseReleased(int x, int y)
{
if (Desktop.isDesktopSupported())
{
try
{
Desktop.getDesktop().browse(new URI(“https://www.*******.net”));
}
catch(IOException e)
{
e.printStackTrace();
}
catch(URISyntaxException e)
{
e.printStackTrace();
}
}
}
}); -
Rajoute dans un des boutons (celui du teamspeak ou du lien) dans la fonction mouseReleased ceci : System.out.println(“bouton appuyé”) au début de ta fonction, ensuite ouvre ton jeu clique sur le bouton et envoi les logs (envoi le code aussi)
La balise java se trouve en cliquant dans nouvelle réponse ou en écrivant [ java ] [ / java ] ensuite tu y mets ton code pour qu’il soit plus lisible (comme j’ai mis)
-
J’ai rajouter se que tu m’as dit sa ne fonctionne toujours pas rien ne se passe

Et autre probléme chez moi les bouton son bien placer mais chez d’autre personne ils sont décalé : http://prntscr.com/bjn9q4
Merci pour t’es réponse et je t’envoie tout le code du clientproxy la ou il y a les nouveau Menu:
package com.mod.arenalyce.proxy; public class ClientProxy extends CommonProxy { // Gui @SubscribeEvent public void onInitGuiEvent(InitGuiEvent.Post event) { if (event.gui instanceof GuiMainMenu) { for (Object b : event.buttonList) { if (((GuiButton) b).id == 14) { ((GuiButton) b).visible = false; } } int i = event.gui.height / 4 + 48; event.buttonList.add(new GuiButton(30, event.gui.width / 2 - 100, i + 24 * 2, 100, 20,"§eTeamSpeak"){ @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("ts3server://*********.**")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); if (event.gui instanceof GuiMainMenu) { for (Object b : event.buttonList) { if (((GuiButton) b).id == 14) { ((GuiButton) b).visible = false; } } int h = event.gui.height / 4 + 48; event.buttonList.add(new GuiButton(31, event.gui.width / 2 + 2, h + 24 * 2, 98, 20,"§3Site"){ @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("https://****.fr/")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); if (event.gui instanceof GuiMainMenu) { for (Object b : event.buttonList) { if (((GuiButton) b).id == 6) { ((GuiButton) b).visible = false; } } if (event.gui instanceof GuiMainMenu) { for (Object b : event.buttonList) { if (((GuiButton) b).id == 7) { ((GuiButton) b).visible = false; } } } } } } } // Gui INGAME @SubscribeEvent public void onInitGuiIngameEvent(InitGuiEvent.Post event) { if(event.gui instanceof GuiIngameMenu) { // on cache les boutons de base for(Object b : event.buttonList) { int buttonId = ((GuiButton)b).id; if(buttonId == 1 || buttonId == 4 || buttonId == 0 || buttonId == 2 || buttonId == 7 || buttonId == 5 || buttonId == 12 || buttonId == 6) { ((GuiButton)b).visible = false; } } int i = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 + 2, i + 8 * 31, 98, 20, "§6Votez") {}); int K = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 - 100, i + 8 * 25, 98, 20, "§5Succes") {}); int E = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 - 100, i + 8 * 31, 98, 20, "§bStatistiques") {}); int R = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 - 100, i + 8 * 28, 98, 20, "§7Options") {}); int A = 16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 + 2, i + 8 * 25, 98, 20, "§3Site") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("https://w****.fr/")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int S = 16; event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 28, 98, 20, "§2TeamSpeak") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("ts3server:/******.**")); } catch(IOException e) { e.printStackTrace(); } catch(URISyntaxException e) { e.printStackTrace(); } } } }); int D = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 - 100, D + 8 * 22, "§e§lRetour au Jeu") { }); int Q = event.gui.height = -16; event.buttonList.add(new GuiButton(-1, event.gui.width / 2 - 100, Q + 8 * 34, "§c§lDeconnexion") { }); } } @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderPre(RenderGameOverlayEvent.Pre event) { if(event.type == RenderGameOverlayEvent.ElementType.DEBUG) { Minecraft mc = Minecraft.getMinecraft(); event.setCanceled(true); //Menu F3 String var10 = "["; String var11 = "A***"; String var12 = "e***"; String var13 = "]"; String var14 = " "; String var15 = "1.7.10"; this.drawString(Minecraft.getMinecraft().fontRenderer, EnumChatFormatting.DARK_PURPLE + var10 + EnumChatFormatting.RED + var11 + EnumChatFormatting.YELLOW + var12 + EnumChatFormatting.DARK_PURPLE + var13 + var14 + EnumChatFormatting.DARK_GRAY + var15, 10, 10, 16777215); this.drawString(Minecraft.getMinecraft().fontRenderer, EnumChatFormatting.RED + mc.debug.split(",test", 2)[0], 10, 20, 16777215); int angle= MathHelper.floor_double((double)(Minecraft.getMinecraft().thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; String direction = Direction.directions[angle]; String var5 = " "; String var8 = "Direction : "; this.drawString(mc.fontRenderer, EnumChatFormatting.AQUA + "Biome : " + EnumChatFormatting.GOLD + mc.theWorld.getBiomeGenForCoords(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posY)).biomeName, 10, 40, 16777215); this.drawString(Minecraft.getMinecraft().fontRenderer, EnumChatFormatting.AQUA + var8 + EnumChatFormatting.GREEN + direction, 10, 50, 16777215); int x = (int) mc.thePlayer.posX; int y = (int) mc.thePlayer.posY; int z = (int) mc.thePlayer.posZ; String var4 = EnumChatFormatting.AQUA + "X : " + EnumChatFormatting.GREEN + x; String var6 = EnumChatFormatting.AQUA + "Y : " + EnumChatFormatting.GREEN + y; String var7 = EnumChatFormatting.AQUA + "Z : " + EnumChatFormatting.GREEN + z; this.drawString(mc.fontRenderer, var4, 10, 70, 16777215); this.drawString(mc.fontRenderer, var6, 10, 80, 16777215); this.drawString(mc.fontRenderer, var7, 10, 90, 16777215); } } @SideOnly(Side.CLIENT) private void drawString(FontRenderer fontRenderer, String str, int x, int y, int color) { fontRenderer.drawStringWithShadow(str, x, y, color); } } -
Même chose que l’autre fois : toutes les variables que tu utilises n’ont pas lieu d’être et ne respectent pas l convention java. Ensuite si tu veux que tes boutons soit positionnés au même endroit que ceux de Minecraft pourquoi ne pas utiliser le même code ?
-
Nan scarex je veut les mettre a l’endroit ou je veut mais en fonction de la résolution de l’écran de tel ou tel personne ce n’est pas au même endroit.
Par exemple chez des potes ils ont juste la moitié du menu :c -
j’ai essayer ton code il marche pas chez moi aussi j’ai bien respecter les convension java …
Oui le probléme de l’écran et la
mais je truc le plus bizzard ses que :
for(Object b : event.buttonList) { int buttonId = ((GuiButton)b).id; if(buttonId == 1 || buttonId == 4 || buttonId == 0 || buttonId == 2 || buttonId == 7 || buttonId == 5 || buttonId == 12 || buttonId == 6) { ((GuiButton)b).visible = false;voilla sa cache les boutons de base mais j’ai essayer avec sa aussi :
for(Object b : event.buttonList) { int buttonId = ((GuiButton)b).id; if(buttonId == 1 || buttonId == 4 || buttonId == 0 || buttonId == 2 || buttonId == 7 || buttonId == 5 || buttonId == 12 || buttonId == 6) { ((GuiButton)b).visible = true;ce qui reactive les boutons mais laisse ce que tu a mis voilla
quand j’ai cliquer sur le bouton de base de “revenir au jeu” il ne fonctionne toujours pas meme les boutons vanillia
je trouve sa étrange
-
Sinon utilises la technique “ouvrir un gui custom à la place du gui de minecraft” en utilisant GuiOpenEvent