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.
    • Superloup10S Hors-ligne
      Superloup10 Modérateurs
      dernière édition par

      Il est possible de récupérer le fait qu’un joueur soit Op ou non. C’est se que l’on fait pour NHG. Mais je n’ai pas le code sous les yeux pour le moment.

      Envoyé de mon AN7DG3-LZ en utilisant Tapatalk

      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • 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
                                            • 1
                                            • 2
                                            • 2 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB