MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Envoyer commande en jeu en cliquant sur un bouton

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    36 Messages 7 Publieurs 7.8k Vues 1 Watching
    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.
    • R Hors-ligne
      roideseaux
      dernière édition par

      Ok, c’est plutôt cool ça, je commençait à me dire que ce n’était pas possible ^^

      1 réponse Dernière réponse Répondre Citer 0
      • isadorI Hors-ligne
        isador Moddeurs confirmés Modérateurs
        dernière édition par

        dit merci a kevin:
        if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))

        1 réponse Dernière réponse Répondre Citer 0
        • R Hors-ligne
          roideseaux
          dernière édition par

          Je viens de coller cette ligne de code dans ma classe et importé ce qu’il fallait importer mais j’ai une erreur à “player.getGameProfile()”…

          1 réponse Dernière réponse Répondre Citer 0
          • isadorI Hors-ligne
            isador Moddeurs confirmés Modérateurs
            dernière édition par

            quelle erreur?

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

              Tu code en quel version ? Ça serait bien de le préciser dans le titre à l’aide des balises prévus pour non ?

              1 réponse Dernière réponse Répondre Citer 0
              • R Hors-ligne
                roideseaux
                dernière édition par

                Je suis en 1.7.2

                et l’erreur est “player cannot be resolved”
                j’ai remarqué aussi que dans la classe ServerConfigurationManager il n 'y a pas de méthode appelée func_152596_g…

                1 réponse Dernière réponse Répondre Citer 0
                • isadorI Hors-ligne
                  isador Moddeurs confirmés Modérateurs
                  dernière édition par

                  faut voir ca avec kevin

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

                    Car 1.7.2 il n’y a pas encore le système de game profile, la méthode s’appelle surement autrement.

                    1 réponse Dernière réponse Répondre Citer 0
                    • R Hors-ligne
                      roideseaux
                      dernière édition par

                      d’accord, je viens de voir que cette méthode était pour la 1.7.10 !
                      du coup, j’ai trouvé une autre ligne qui fait la meme chose mais avec une autre méthode :

                      if ( MinecraftServer.getServer().getConfigurationManager().isPlayerOpped(player.getDisplayName()) )
                      

                      mais le problème est le même au niveau du “player” !

                      1 réponse Dernière réponse Répondre Citer 0
                      • FlowF Hors-ligne
                        Flow
                        dernière édition par

                        Tu sais envoyer la classe dans la qu’elle tu met cela s’il te plait je pense savoir 🙂

                        Oui ce gif est drôle.

                        1 réponse Dernière réponse Répondre Citer 0
                        • R Hors-ligne
                          roideseaux
                          dernière édition par

                          C’est une classe modifiée et qui n’est pas finie mais voici la partie intéressante :

                          
                          package fr.used2craft.launcher.proxy;
                          
                          import net.minecraft.client.gui.GuiButton;
                          import net.minecraft.client.gui.GuiMainMenu;
                          import net.minecraft.client.gui.GuiOptions;
                          import net.minecraft.client.gui.GuiScreen;
                          import net.minecraft.client.gui.GuiShareToLan;
                          import net.minecraft.client.gui.achievement.GuiAchievements;
                          import net.minecraft.client.gui.achievement.GuiStats;
                          import net.minecraft.client.multiplayer.WorldClient;
                          import net.minecraft.client.resources.I18n;
                          import net.minecraft.server.MinecraftServer;
                          import cpw.mods.fml.relauncher.Side;
                          import cpw.mods.fml.relauncher.SideOnly;
                          
                          @SideOnly(Side.CLIENT)
                          public class GuiCustomInGameMenu extends GuiScreen
                          {
                          private int field_146445_a;
                          private int field_146444_f;
                          private static final String __OBFID = "CL_00000703";
                          private int niveau = 0
                          
                          /**
                          * Adds the buttons (and other controls) to the screen in question.
                          */
                          public void initGui()
                          {
                          this.buttonList.clear();
                          if (niveau == 0)
                          {
                          this.field_146445_a = 0;
                          byte b0 = -16;
                          boolean flag = true;
                          this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.format("menu.returnToMenu", new Object[0])));
                          
                          if (!this.mc.isIntegratedServerRunning())
                          {
                          ((GuiButton)this.buttonList.get(0)).displayString = I18n.format("menu.disconnect", new Object[0]);
                          }
                          
                          this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.format("menu.returnToGame", new Object[0])));
                          this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.format("menu.options", new Object[0])));
                          //this.buttonList.add(new GuiButton(12, this.width / 2 + 2, this.height / 4 + 96 + b0, 98, 20, "Mod Options…"));
                          GuiButton guibutton;
                          this.buttonList.add(guibutton = new GuiButton(7, this.width / 2 - 100, this.height / 4 + 72 + b0, 200, 20, I18n.format("menu.shareToLan", new Object[0])));
                          this.buttonList.add(new GuiButton(5, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.achievements", new Object[0])));
                          this.buttonList.add(new GuiButton(6, this.width / 2 + 2, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.stats", new Object[0])));
                          guibutton.enabled = this.mc.isSingleplayer() && !this.mc.getIntegratedServer().getPublic();
                          
                          }
                          this.newMenu();
                          }
                          
                          public void newMenu()
                          {
                          if ( MinecraftServer.getServer().getConfigurationManager().isPlayerOpped(player.getDisplayName()) )
                          {
                          //Ici le code a exécuter si le joueur est op
                          }
                          }
                          
                          protected void actionPerformed(GuiButton p_146284_1_)
                          {
                          switch (p_146284_1_.id)
                          {
                          case 0:
                          this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                          break;
                          case 1:
                          p_146284_1_.enabled = false;
                          this.mc.theWorld.sendQuittingDisconnectingPacket();
                          this.mc.loadWorld((WorldClient)null);
                          this.mc.displayGuiScreen(new GuiMainMenu());
                          case 2:
                          case 3:
                          default:
                          break;
                          case 4:
                          this.mc.displayGuiScreen((GuiScreen)null);
                          this.mc.setIngameFocus();
                          break;
                          case 5:
                          if (this.mc.thePlayer != null)
                          this.mc.displayGuiScreen(new GuiAchievements(this, this.mc.thePlayer.getStatFileWriter()));
                          break;
                          case 6:
                          if (this.mc.thePlayer != null)
                          this.mc.displayGuiScreen(new GuiStats(this, this.mc.thePlayer.getStatFileWriter()));
                          break;
                          case 7:
                          this.mc.displayGuiScreen(new GuiShareToLan(this));
                          break;
                          //case 12:
                          //FMLClientHandler.instance().showInGameModOptions(this);
                          //break;
                          case 8:
                          mc.thePlayer.sendChatMessage((new StringBuilder()).append("/gm 1").toString()); //Envoie une commande dans le chat qui est /gm
                          mc.thePlayer.closeScreen(); //Ferme le gui
                          break;
                          
                          }
                          }
                          
                          /**
                          * Called from the main game loop to update the screen.
                          */
                          public void updateScreen()
                          {
                          super.updateScreen();
                          ++this.field_146444_f;
                          }
                          
                          /**
                          * Draws the screen and all the components in it.
                          */
                          public void drawScreen(int par1, int par2, float par3)
                          {
                          String test = String.valueOf(niveau);
                          this.drawDefaultBackground();
                          if (niveau == 0)
                          this.drawCenteredString(this.fontRendererObj, "Game menu", this.width / 2, 40, 16777215);
                          super.drawScreen(par1, par2, par3);
                          }
                          }
                          
                          

                          Je pense qu’il faut mettre le nom du joueur en string dans la variable player mais je cherche le code pour le récupérer…

                          1 réponse Dernière réponse Répondre Citer 0
                          • FlowF Hors-ligne
                            Flow
                            dernière édition par

                            Je ne suis pas un pro pro , donc j’essaye d’aider mais je ne garantie rien , si tu change cette ligne :

                            
                            public void newMenu()
                            
                            

                            par

                            
                            public void newMenu(Player player)
                            
                            

                            et import le Player est-ce que tout est résolu niveau erreurs ?

                            Je ne garantis rien 😕 J’essaye de moi même trouver les erreurs et j’essaye de corriger… 🙂

                            Oui ce gif est drôle.

                            1 réponse Dernière réponse Répondre Citer 0
                            • R Hors-ligne
                              roideseaux
                              dernière édition par

                              effectivement, ça fonctionne mieux mais maintenant c’est la méthode getDisplayName qui n’est pas reconnue parce qu’il me semble que ce n’est plus celle la, mais j’arrive pas à retrouver la méthode qui récupère le nom du joueur

                              1 réponse Dernière réponse Répondre Citer 0
                              • FlowF Hors-ligne
                                Flow
                                dernière édition par

                                Esssaye de remplacer le code par celui-ci:

                                
                                public void newMenu(EntityPlayer entityplayer)
                                {
                                byte b0 = -16;
                                
                                if ( MinecraftServer.getServer().getConfigurationManager().isPlayerOpped((entityplayer.getDisplayName())))
                                {
                                
                                }
                                
                                }
                                

                                Cher moi je n’ai plus d’erreur , j’espère ne pas te faire perdre ton temps ^^

                                Oui ce gif est drôle.

                                1 réponse Dernière réponse Répondre Citer 0
                                • R Hors-ligne
                                  roideseaux
                                  dernière édition par

                                  Ouep, j’ai plus d’erreur !! 🙂

                                  Merci grandement ^^

                                  par contre, j’ai un souci au niveau de l’appel de la méthode dans mon autre méthode mais je pense pouvoir régler ce problème…
                                  je m’y remettrai demain 😉

                                  merci encore 🙂

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • FlowF Hors-ligne
                                    Flow
                                    dernière édition par

                                    Pas de soucis content que ca marche , n’hésite pas tester sur ton serveur avec une bête fonction du genre drop d’item pour voir si le bouton marche bien pour vérifier si le joueur est op etc , fin pour que tous soit ok 🙂

                                    De rien 🙂

                                    Oui ce gif est drôle.

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

                                      Ça ne fonctionnera pas.
                                      MinecraftServer.getServer() n’existe que côté serveur, sur un gui ça va crasher.
                                      Il n’est pas possible de savoir si un joueur est op depuis le menu principal.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • R Hors-ligne
                                        roideseaux
                                        dernière édition par

                                        Arf, ok
                                        J’aurais essayé !
                                        Merci quand même pour le coup de main !

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • isadorI Hors-ligne
                                          isador Moddeurs confirmés Modérateurs
                                          dernière édition par

                                          si il y a un moyen, faut que tu fasse un mod serveur qui check la liste des op et l’écris sur ton site internet, et la tu pourra ensuite récupérer la liste et regarder si le joueur est dedans

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • kevin_68K Hors-ligne
                                            kevin_68 Moddeurs confirmés
                                            dernière édition par

                                            Ou tu utilise un packet …., le client demande si le joueur est op et le serveur lui répond.


                                            Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB