• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Fonction des bouton du menu Ingame "GUI"

    Sans suite
    1.7.10
    7
    40
    6309
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • T
      titoux99 dernière édition par

      Bonjour / Bonsoir,

      Voilà j’ai modif mon GuiIngameMenu mais je n’arrive pas a les faire fonctionner
      Je m’explique j’ai créer ça: http://prntscr.com/bhu9n1
      Mais quand je clique par exemple sur déconexion il ne se passe rien.

      Donc j’aimerai si possible une solution pour que les touches et leur fonction.

      Le code:

      public class ClientProxy extends CommonProxy
      {    
      
          public ClientProxy()
          {
              MinecraftForge.EVENT_BUS.register(this);
          }
      
          // Gui
          @SubscribeEvent
          public void onInitGuiIngameEvent(InitGuiEvent.Post event)
          {
              if (event.gui instanceof GuiIngameMenu)
              {
                  for (Object b : event.buttonList)
                  {
                      if (((GuiButton) b).id == 1)
                      {
                          ((GuiButton) b).visible = false;
                      }
                  }
                  int i = event.gui.height = -16;
                  event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 31, 98, 20, "§6Votez"){
                  });
                  if (event.gui instanceof GuiIngameMenu)
                  {
                      for (Object b : event.buttonList)
                      {
                          if (((GuiButton) b).id == 4)
                          {
                              ((GuiButton) b).visible = false;
                          }
                      }
                      int H = event.gui.height = -16;
                      event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, H + 8 * 31, 100, 20, "§cDéconnexion"){
                      });
      
                      if (event.gui instanceof GuiIngameMenu)
                      {
                          for (Object b : event.buttonList)
                          {
                              if (((GuiButton) b).id == 0)
                              {
                                  ((GuiButton) b).visible = false;
                              }
                          }
                          int Q = event.gui.height = -16;
                          event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, H + 8 * 28, 100, 20, "§7Option"){
                          });
      
                          if (event.gui instanceof GuiIngameMenu)
                          {
                              for (Object b : event.buttonList)
                              {
                                  if (((GuiButton) b).id == 2)
                                  {
                                      ((GuiButton) b).visible = false;
                                  }
                              }
                              int A = event.gui.height = -16;
                              event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, H + 8 * 28, 98, 20, "§2TeamSpeak"){
                                  @Override
                                  public void mouseReleased(int x, int y) 
                                  {
                                      if (Desktop.isDesktopSupported())
                                      {
                                          try
                                          {
                                              Desktop.getDesktop().browse(new URI("ts3server://90.11*.**.***"));
                                          }
                                          catch(IOException e)
                                          {
                                              e.printStackTrace();
                                          }
                                          catch(URISyntaxException e)
                                          {
                                              e.printStackTrace();
                                          }
                                      }
                                  }
                              });
      
                              int Z = event.gui.height = -16;
                              event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, H + 8 * 25, 98, 20, "§3Site"){
                                  @Override
                                  public void mouseReleased(int x, int y) 
                                  {
                                      if (Desktop.isDesktopSupported())
                                      {
                                          try
                                          {
                                              Desktop.getDesktop().browse(new URI("https://www.x******.fr"));
                                          }
                                          catch(IOException e)
                                          {
                                              e.printStackTrace();
                                          }
                                          catch(URISyntaxException e)
                                          {
                                              e.printStackTrace();
                                          }
                                      }
                                  }
                              });
      
                              if (event.gui instanceof GuiIngameMenu)
                              {
                                  for (Object b : event.buttonList)
                                  {
                                      if (((GuiButton) b).id == 7)
                                      {
                                          ((GuiButton) b).visible = false;
                                      }
                                  }
                              }
                              if (event.gui instanceof GuiIngameMenu)
                              {
                                  for (Object b : event.buttonList)
                                  {
                                      if (((GuiButton) b).id == 2)
                                      {
                                          ((GuiButton) b).visible = false;
                                      }
                                  }
                                  int J = event.gui.height = -16;
                                  event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, H + 8 * 25, 100, 20, "§5Succès"){
                                  });
      
                                  if (event.gui instanceof GuiIngameMenu)
                                  {
                                      for (Object b : event.buttonList)
                                      {
                                          if (((GuiButton) b).id == 5)
                                          {
                                              ((GuiButton) b).visible = false;
                                          }
                                      }
                                      int K = event.gui.height = -16;
                                      event.buttonList.add(new GuiButton(40, event.gui.width / 2 - 100, H + 8 * 22, "§eRetour au Jeu"){
                                      });
       }
      }
      }
      }
      }
      }
      }
      }
      

      Merci.

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,

        Commences par formater et organiser ton code, car il est illisible. Impossible de se retrouver avec ça.

        1 réponse Dernière réponse Répondre Citer 0
        • T
          titoux99 dernière édition par

          Je te l’es un peut ré-organiser

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Je crois qu’on a pas la même définition du mot organisé.
            Tu as pleins de boucle et de condition répété de façon inutile.
            En plus de rendre le code dégueulasse il est aussi lent à être exécuté.

            public class ClientProxy extends CommonProxy
            {
            public ClientProxy()
            {
            MinecraftForge.EVENT_BUS.register(this);
            }
            
            // 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)
            {
            ((GuiButton)b).visible = false;
            }
            }
            int i = event.gui.height = -16;
            event.buttonList.add(new GuiButton(40, event.gui.width / 2 + 2, i + 8 * 31, 98, 20, "§6Votez")
            {});
            
            event.buttonList.add(new GuiButton(41, event.gui.width / 2 - 100, i + 8 * 31, 100, 20, "§cDéconnexion")
            {});
            
            event.buttonList.add(new GuiButton(42, event.gui.width / 2 - 100, i + 8 * 28, 100, 20, "§7Option")
            {});
            
            event.buttonList.add(new GuiButton(43, 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.11*.**.***"));
            }
            catch(IOException e)
            {
            e.printStackTrace();
            }
            catch(URISyntaxException e)
            {
            e.printStackTrace();
            }
            }
            }
            });
            
            event.buttonList.add(new GuiButton(44, 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.x******.fr"));
            }
            catch(IOException e)
            {
            e.printStackTrace();
            }
            catch(URISyntaxException e)
            {
            e.printStackTrace();
            }
            }
            }
            });
            event.buttonList.add(new GuiButton(45, event.gui.width / 2 - 100, i + 8 * 25, 100, 20, "§5Succès")
            {});
            
            event.buttonList.add(new GuiButton(46, event.gui.width / 2 - 100, i + 8 * 22, "§eRetour au Jeu")
            {});
            }
            }
            }
            

            Comme ça c’est déjà beaucoup plus propre.
            Ensuite pour les actions il te suffit d’ajouter la fonction mouseReleased comme c’est déjà le cas pour le bouton TeamSpeak

            1 réponse Dernière réponse Répondre Citer 0
            • T
              titoux99 dernière édition par

              Ok merci,
              Mais le probléme c’est que même le bouton TeamSpeak et site ne marche pas :c

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Dans la fonction mouseReleased, ajoutes :
                System.out.println(“test”);
                et regardes si test s’affiche dans la console.

                1 réponse Dernière réponse Répondre Citer 0
                • T
                  titoux99 dernière édition par

                  Sa ne fonctionne pas rien ne s’écrit dans la console

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                    Utilises l’événement GuiScreenEvent.ActionPerformedEvent alors.

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREX
                      SCAREX dernière édition par

                      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; ?

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • T
                        titoux99 dernière édition par

                        Nan scarex sa fais aucun bruit :c

                        Je ne sais plus éxactement mais ça c’est pour changer la place du bouton nan ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                          @‘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.

                          1 réponse Dernière réponse Répondre Citer 0
                          • SCAREX
                            SCAREX dernière édition par

                            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)

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • T
                              titoux99 dernière édition par

                              Toujours pas de solution ? :c

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                Je t’ai donné une piste :
                                @‘robin4002’:

                                Utilises l’événement GuiScreenEvent.ActionPerformedEvent alors.

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREX
                                  SCAREX dernière édition par

                                  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

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • T
                                    titoux99 dernière édition par

                                    @‘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 soir

                                    Sinon merci les gars de votre aide.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • SCAREX
                                      SCAREX dernière édition par

                                      Renvoi le code car chez moi ça marche

                                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                                      Pas de demandes de support par MP ni par skype SVP.
                                      Je n'accepte sur skype que l…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • T
                                        titoux99 dernière édition par

                                        // 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.

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREX
                                          SCAREX dernière édition par

                                          // 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

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • T
                                            titoux99 dernière édition par

                                            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 clique

                                            Que 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 :c

                                            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://www.*******.net”));
                                                                        }
                                                                        catch(IOException e)
                                                                        {
                                                                            e.printStackTrace();
                                                                        }
                                                                        catch(URISyntaxException e)
                                                                        {
                                                                            e.printStackTrace();
                                                                        }
                                                                    }
                                                                }
                                                            });

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB