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.
    • 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
                                • R Hors-ligne
                                  roideseaux
                                  dernière édition par

                                  Mouai, je m’y remettrai peut être plus tard, mais pour le moment, je pense que je vais laisser tomber !

                                  Je chercherais du coté des packets quand je m’y remettrais (si je m’y remet ^^)

                                  Merci encore 🙂

                                  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