MFF

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

    GuiTextField password

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    27 Messages 3 Publieurs 3.7k 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.
    • DeletedD Hors-ligne
      Deleted
      dernière édition par

      C’est bien ce que je te reproche de demander de l’aide à tout le monde, MFF suffit amplement, tu ne penses pas ?!
      Refilé ta méthode keyTyped stp

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

        @‘Plaigon’:

        C’est bien ce que je te reproche de demander de l’aide à tout le monde, MFF suffit amplement, tu ne penses pas ?!
        Refilé ta méthode keyTyped stp

        
        protected void keyTyped(char par1, int par2)
           {
               super.keyTyped(par1, par2);
               if (textfield.isFocused()) {
                   pass += par1;
               }
               for (int p = 0; p < textfield.getText().length(); p++) {
                   //mask += "*";
               }
               //textfield.setText(mask);
               textfield.setText(pass);
               textfield.writeText(Character.toString('*'));
        
           } 
        
        1 réponse Dernière réponse Répondre Citer 0
        • DeletedD Hors-ligne
          Deleted
          dernière édition par

          Le setText à virer, la boucle for idem et le writeText dans le if.

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

            @‘Plaigon’:

            Le setText à virer, la boucle for idem et le writeText dans le if.

            Oui mais du coup quand je met mon mot de passe bha sa met juste les étoiles… donc…

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

              C’est un peu le principe d’un champ de mot de passe

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

                @‘Plaigon’:

                C’est un peu le principe d’un champ de mot de passe

                Non mais de base le mot de passe il doit pas changé, jhe te parle en jeu quand je fait la commande, sa fait login ********

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

                  Le mot de passe est contenu dans le String pass, pour le moment il ne changerai donc aucunement. Si tu souhaitais un préfixe “/login”, il faudrait clairement une classe custom.

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

                    En vrai fait un copié/collé de la classe GuiTextField parce que là tu t’embête vraiment trop pour rien. Et après tu remplaces la fonction draw de la classe par celle-ci :

                    
                    public void drawTextBox()
                    {
                    if (this.getVisible())
                    {
                    if (this.getEnableBackgroundDrawing())
                    {
                    drawRect(this.x - 1, this.y - 1, this.x + this.width + 1, this.y + this.height + 1, -6250336);
                    drawRect(this.x, this.y, this.x + this.width, this.y + this.height, -16777216);
                    }
                    
                    // La fonction affiche le texte contenu dans la variable this.text, donc il suffit de changer le contenu de cette variable juste avant de l'afficher puis remettre sa velur
                    int tempText = this.text; // On stock le mot de passe entrée par l'utilisateur dans une variable temporaire
                    this.text = ""; // On vide le texte à afficher
                    for(int i = 0; i < tempText.length; i++) // Pour chaque caractère du mot de passe
                    this.text += "*"; //On ajoute une étoile au texte à afficher
                    
                    // Le code va s'occuper d'afficher le contenu de this.text comme pour le GuiTextField de base, or ici on a remplacé chaque caractère par une étoile
                    
                    int i = this.isEnabled ? this.enabledColor : this.disabledColor;
                    int j = this.cursorPosition - this.lineScrollOffset;
                    int k = this.selectionEnd - this.lineScrollOffset;
                    String s = this.fontRenderer.trimStringToWidth(this.text.substring(this.lineScrollOffset), this.getWidth());
                    boolean flag = j >= 0 && j <= s.length();
                    boolean flag1 = this.isFocused && this.cursorCounter / 6 % 2 == 0 && flag;
                    int l = this.enableBackgroundDrawing ? this.x + 4 : this.x;
                    int i1 = this.enableBackgroundDrawing ? this.y + (this.height - 8) / 2 : this.y;
                    int j1 = l;
                    
                    if (k > s.length())
                    {
                    k = s.length();
                    }
                    
                    if (!s.isEmpty())
                    {
                    String s1 = flag ? s.substring(0, j) : s;
                    j1 = this.fontRenderer.drawStringWithShadow(s1, (float)l, (float)i1, i);
                    }
                    
                    boolean flag2 = this.cursorPosition < this.text.length() || this.text.length() >= this.getMaxStringLength();
                    int k1 = j1;
                    
                    if (!flag)
                    {
                    k1 = j > 0 ? l + this.width : l;
                    }
                    else if (flag2)
                    {
                    k1 = j1 - 1;
                    –j1;
                    }
                    
                    if (!s.isEmpty() && flag && j < s.length())
                    {
                    j1 = this.fontRenderer.drawStringWithShadow(s.substring(j), (float)j1, (float)i1, i);
                    }
                    
                    if (flag1)
                    {
                    if (flag2)
                    {
                    Gui.drawRect(k1, i1 - 1, k1 + 1, i1 + 1 + this.fontRenderer.FONT_HEIGHT, -3092272);
                    }
                    else
                    {
                    this.fontRenderer.drawStringWithShadow("_", (float)k1, (float)i1, i);
                    }
                    }
                    
                    if (k != j)
                    {
                    int l1 = l + this.fontRenderer.getStringWidth(s.substring(0, k));
                    this.drawSelectionBox(k1, i1 - 1, l1 - 1, i1 + 1 + this.fontRenderer.FONT_HEIGHT);
                    }
                    
                    this.text = tempText; // On oublie pas de remettre le mot de passe entré par le joueur comme valeur du GuiTextField pour que le mot de passe soit bien modifié lorsque le joueur tape du texte
                    }
                    }
                    
                    

                    Le mot de passe est ensuite récupérable via la simple fonction GuiTextField#getText. J’ai pas testé le code mais ça devrait fonctionner.

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

                      Au moins, on peut être sûr qu’il y aura satisfaction car du code vient de lui tomber du ciel 😉

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

                        Au moins ça fonctionnera et le sujet 1.7.10 disparaîtra de la section Support pour les “moddeurs”


                        A vrai dire tu n’aurai jamais du lui proposer la seconde technique qui est assez peu viable avec le problème que tu as souligné concernant toutes les autres possibilités qu’offre cette classe (comme déplacer le curseur)

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

                          Comme s’il s’agissait du dernier à être posté ici xD
                          Si tu veux tous les faire disparaître, alors la prochaine fois, file leur à tous un code parfait mais en 1.12 par-exemple, nan ? Il y a des chances ainsi que certains devs fassent l’update.
                          Sur le coup, je n’y ai pas pensé, mais ce n’était pas une raison non- plus pour lui filer la méthode toute prête, il n’attendait que ça 😕

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

                            Et effectivement c’est pas très instructif mais je compte sur PlayFlop_ pour comprendre le code, ne pas le copier/coller et ré-essayer seul

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

                              Moi je compte plutôt sur tes jolis commentaires plutôt que sur PlayFlop_ 😉

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

                                @‘Plaigon’:

                                Moi je compte plutôt sur tes jolis commentaires plutôt que sur PlayFlop_ 😉

                                En tout cas merci Plaigon du temps passé a m’aidé !

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

                                  Plaigon, c’est vrai que j’ai pas vraiment réfléchi en donnant le code, d’autant plus que je me suis juré que dans mes prochains tutoriels il y aurai le moins de code apparant pour éviter justement le copier/coller. Si on ne comprend pas le tutoriel entièrement, on ne pourra pas le faire.

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

                                    @‘BrokenSwing’:

                                    Plaigon, c’est vrai que j’ai pas vraiment réfléchi en donnant le code, d’autant plus que je me suis juré que dans mes prochains tutoriels il y aurai le moins de code apparant pour éviter justement le copier/coller. Si on ne comprend pas le tutoriel entièrement, on ne pourra pas le faire.

                                    Et merci a toi de m’avoir donné ça

                                    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