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

    Souris invisible dans un GUI

    Sans suite
    1.8.9
    3
    5
    1047
    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.
    • Alfasio
      Alfasio dernière édition par

      Bonjours, je poste un sujet pour aider un ami qui n’a pas de compte MFF x) donc voila son problème, à vous les studios: 😄

      Bonjours,
      J’ai crée un GUI mais lorsque celui s’ouvre la souris ne s’affiche pas, auriez-vous une solution ?
      Celui-ci est ouvert à la réception d’un packet serveur

      
         public PacketServeur () {
         }
      
         @Override
         public void fromBytes(ByteBuf buf) {
         }
      
         @Override
         public void toBytes(ByteBuf buf) {
         }
      
         public static class Handler implements IMessageHandler <packetserveur, imessage="">{
             @Override
             public IMessage onMessage(final PacketServeur message, MessageContext ctx) {
                     EntityPlayer player = Minecraft.getMinecraft().thePlayer;
                     player.openGui(FortifyMod.instance, 8, player.worldObj, (int) player.posX, (int) player.posY, (int) player.posZ);
      //                    System.out.println("Ok");
                 return null;
             }
         }
      
      
      public class GuiFFiche extends GuiScreen
      {
      EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
      
      private JoinAssautABtt joinA;
      private JoinAssautDBtt joinD;
      private OutBtt out;
      
      private static final ResourceLocation background = new ResourceLocation(FortifyMod.MODID, "textures/gui/faction/card.png");
      
      @Override
      public void drawScreen(int mouseX, int mouseY, float partialTicks)
      {
      
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      this.mc.getTextureManager().bindTexture(background);
      int x = (this.width - 512 + (512 - 442)) / 2 + 111;
      int y = (this.height - 512 + (512 - 392)) / 2 + 90;
      this.drawTexturedModalRect(x, y, 0, 0, 221, 196);
      
      this.fontRendererObj.drawString(ChatFormatting.WHITE + "Rejoindre la défense ", x + 119, y + 109, 0);
      this.fontRendererObj.drawString(ChatFormatting.WHITE + "Rejoindre l'attaque ", x + 119, y + 125, 0);
      this.fontRendererObj.drawString(ChatFormatting.WHITE + "Quitter ", x + 119, y + 141, 0);
      
      super.drawScreen(mouseX, mouseY, partialTicks);
      
      GlStateManager.disableLighting();
      GlStateManager.disableBlend();
      
      updateButtons();
      updateScreen();
      
      }
      
      @Override
      public boolean doesGuiPauseGame()
      {
      return false;
      }
      
      public void initGui()
      {
      
      int x = (this.width - 512 + (512 - 442)) / 2 + 111;
      int y = (this.height - 512 + (512 - 392)) / 2 + 90;
      
      this.buttonList.add(this.joinA = new JoinAssautABtt(4, x + 199, y + 125, ""));
      this.buttonList.add(this.joinD = new JoinAssautDBtt(5, x + 199, y + 108, ""));
      
      this.buttonList.add(this.out = new OutBtt(6, x + 199, y + 142, ""));
      
      }
      
      @Override
      protected void actionPerformed(GuiButton button) throws IOException
      {}
      
      public void updateButtons()
      {
      
      }
      
      protected void keyTyped(char par1, int par2) throws IOException
      {
      super.keyTyped(par1, par2);
      }
      
      @Override
      public void updateScreen()
      {
      super.updateScreen();
      }
      
      protected void mouseClicked(int x, int y, int btn) throws IOException
      {
      super.mouseClicked(x, y, btn);
      }
      }
      

      Merci d’avance  :)</packetserveur,>

      L’imagination est plus importante que le savoir.
      D'Albert Einstein

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

        Salut,

        Il faut utiliser la balise java pour mettre du code afin que celui-ci soit formaté correctement, que les n° de lignes apparaissent et qu’il soit coloré.
        J’ai édité le message. Merci d’y penser à l’avenir.

        Pour ouvrir un gui sans container depuis un handler client d’un paquet, il faut faire comme ceci :

           public static class Handler implements IMessageHandler <packetserveur, imessage="">{
               @Override
               @SideOnly(Side.CLIENT)
               public IMessage onMessage(final PacketOpenAdminGui message, MessageContext ctx)
               {
                   IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.netHandler);
                   if(thread.isCallingFromMinecraftThread())
                   {
                       this.process();
                   }
                   else
                   {
                       thread.addScheduledTask(new Runnable()
                       {
                           @Override
                           public void run()
                           {
                               Handler.this.process();
                           }
                       });
                   }
                   return null;
               }
        
               @SideOnly(Side.CLIENT)
               private void process()
               {
                   Minecraft.getMinecraft().displayGuiScreen(new GuiFFiche());
               }
           }
        

        Pas besoin de la fonction openGui qui doit être utilisé côté serveur et qui est avant tout pensé pour les container.</packetserveur,>

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

          Desoler je sais pas faire :c mais merci d’avoir changé… 😄 (oui je suis nul et?)

          L’imagination est plus importante que le savoir.
          D'Albert Einstein

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

            Non tes pas nul, ça faut le savoir, et si ce que tu avais fait n’avait pas été dans un packet (exécuté sur un autre thread que le thread client), ça aurait marché ^^

            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

              Je pense qu’il disais ça pour la balise java.
              Et tout est expliqué dans la discussion “à lire avant de poster” mais bon, personne ne la lit …

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

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB