Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Ajouter un bouton de connexion pour un TS

    Tutoriels des membres
    7
    17
    8158
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Bialeck
      Bialeck last edited by robin4002

      Prérequis :

      -Avoir ts3 sur le pc qui execute
      -Avoir une url pour se connecter au ts
      -Avoir une condition pour le lancer (exemple :un boutton)

      Le code :

      
      if condition
      {
      String ipts3 = "ts.ip.fr"; // address serveur ts 3
      int portTs3 = 9987; //port ts 3 celui est par defaut
      URI uri = URI.create("ts3server://"+ ipts3 +"?port="+ portts3);
      try { Desktop.getDesktop().browse(uri);
      } catch (IOException e) {
      // TODO Auto-generated catch block e.printStackTrace(); } }
      }
      
      

      Détails :

      String ipts3 : ici vous mettez l’ip que vous utilisé pour vous connecter au serveur ts
      int portTs3 : ici le port de votre serveur (9987 est celui par défaut du serveur comme 25565 pour minecraft)
      URI uri : URI est un objet permettant la mis en forme d’une url compréhensible par Java (A ce que j’ai compris)
      uri.create(String) : transforme la chaine en URI .
      try{} : Cette fonction de java essaye d’exécuter un bloc{} s’il y arrive tant mieux , sinon il la capture.
      catch(exeption e){}: Si le try échoue catch** capture** l’erreur et donne des détails. Voir : Les exeptions
      Desktop.getDesktop() : Cette méthode de Desktop permet de détecter votre navigateur .
      Desktop.browse(URI) :Cette methode de Desktop exécute l’url au format URI dans votre navigateur .
      :::

      Ceci :

      
      Desktop.getDesktop().browse(URI);
      
      

      Equivaut à :

      
      a= Desktop.getDesktop()
      a.browse(URI)
      
      

      Il est plus rapide d’écrire le premier , mais plus facile d’expliqué le second 😛

      :::
      Résumé :
      On créé notre url ts3 en concaténant les variables ipts3 et portTs3 pour obtenir une objet de type URI .
      notez qu’en théorie vous pouvez faire ceci :

      
      URI uri =URI.create("ts3server://Votre Ip?port=Votre Port")
      
      

      Ensuite on repère le navigateur pour y lancer la connexion a l’url .
      Le try/catch permet de ne pas planter le programme si l’url est invalide ou ts non installé ( je pense)

      Bonus :
      Ceci n’as pas été utile dans mon cas , mais vous pouvez “décider” du pseudo de connections au ts3 en rajoutant a votre url :
      ts3server://Votre Ip/?port=Votre Port&nickname=pseudoVoulu
      Et les choses étant bien faites , Minecraft dispose d’une fonction pour récupérer le pseudo de joueur :

      
      this.mc.session.username
      
      

      On String tout ça et cela nous donne :

      
      URI uri =URI.create("ts3server://Votre Ip/?port=Votre Port&nickname="+this.mc.session.username);
      
      

      exemple concret :
      :::

      Ce que j’ai fait :

      :::
      Comment je l’ai fait :
      Pour me simplifier la vie (vu que je savais que je voulais 3 bouttons) , j’ai divisé les 3 boutons déjà présent par 2.En allant dans la classe “GuiButton”

      public GuiButton(int par1, int par2, int par3, String par4Str)
      {
      this(par1, par2, par3, 200, 20, par4Str);
      }
      
      

      C’est la 4éme valeur qui gère la largeur des 3 boutons donc , j’ai transformé ce 200 en… 100 et mes 3 boutons sont coupé en 2.
      :::

      Vous pouvez le faire individuellement :
      Pour ce faire cherchez la ligne du bouton qui vous intéresse et ajoutez-y
      int largeur , int hauteur . ceci en 4 et 5 éme paramètres

      Ceci vient du faite qu’il y a 2 façons de paramétrer la méthode GuiButton()

      Cette astuce est valable pour tout les méthodes “GuiButton” qui n’ont pas ce format :

      
      this.buttonList.add(new GuiButton(int reference, int positionX, int positionY, int largeur, int hauteur, String nomDuButon));
      
      

      Et pour ceux qui l’ont , bah … modifié les valeurs que vous voulez ^^

      :::

      Plus qu’a crées mes 3 boutons , au passage je remercie letherman255 pour cette information :
      Dans la classe GuiMainMenu :
      Ajouté la ligne :

      
      this.buttonList.add(new GuiButton(int référence, int positionX, int positionY, int largeur, int hauteur, String nomDuButon));
      
      

      Des questions la dessus?x)

      Ensuite je les ai alligné en utilisant les valeurs des boutons voisins (int positionX,int positionY) ce qui me donne ce code

      
      this.buttonList.add(new GuiButton(7, this.width / 2 +2, i, 100, 20, (".:ESC90:.")));
      this.buttonList.add(new GuiButton(8, this.width / 2 +2, i+24, 100, 20, ("Site")));
      this.buttonList.add(new GuiButton(9, this.width / 2 +2, i+48,100, 20, ("TS3")));
      
      

      Utiliser ces boutons :

      C’est ici que les choses compliqué commence…Nan je rigole 🙂 .

      Toujours dans votre GuiMainMenu :
      Rajouté :

      
      if (par1GuiButton.id == int référence)
      {
      //le code à exécuter :)
      }
      
      

      La dedans vous pouvez mettre :
      -tout
      -une connection a un serveur minecraft :

      this.mc.displayGuiScreen(new GuiConnecting(new GuiMainMenu(), mc, "127.0.0.1", 25565));
      

      -une connection a un serveur ts (Code au dessus)
      -une connection a un site web,map dinamique , une url

      
      URI uri = URI.create(Votre url);
      Desktop.getDesktop().browse(uri);
      
      

      note : Oui les boutons ne sont exactement aligné 😛

      1 Reply Last reply Reply Quote 0
      • elias54
        elias54 Administrateurs last edited by

        Un tutoriel très bien expliqué, malgré les quelques fautes d’orthographe. Il y a certains passage où je ne comprend pas très bien ce que tu veux dire,
        @‘Bialeck’:

        Desktop.browse(URI) :Cette methode de Desktop exécute l’url au format URI dans votre navigateur .

        Alors qu’il s’agit de “Desktop.getDesktop().browse(URI)” ? ^^

        Aussi le titre du topic que tu devrais renommer !
        Je te conseil de mettre : Ajouter un bouton de connexion pour un TS.

        (En approfondissant le tutoriel, car le code, il faut savoir où le mettre.)

        🙂

        1 Reply Last reply Reply Quote 0
        • Gugu
          Gugu last edited by

          Il faut plus de précision.

          Le mieux serait l’exemple avec une GUI ou le bouton serait placé.

          Quelques corrections à faire, mais l’ensemble est correct, et si il est améliorer, il sera validé.

          1 Reply Last reply Reply Quote 0
          • Bialeck
            Bialeck last edited by

            C’est une ligne plein de sous entendu , on pourrait l’ecrire

            a= Desktop.getDesktop()
            a.browse(URI)

            C’était plus facile d’expliqué en décomposant le code 😕 .

            Je dois faire la partie sur les boutons aussi alors?Le code peut servir ailleurs
            par exemple en tapants une commande dans la chat du jeu(je crois)

            1 Reply Last reply Reply Quote 0
            • elias54
              elias54 Administrateurs last edited by

              Et bien ajoute tout les exemples possibles. 🙂 (Ou ceux que tu as envie, car je pense qu’il y en a pas mal, même en faisant un clic droit sur un mob, c’est possible ^^)

              1 Reply Last reply Reply Quote 0
              • Bialeck
                Bialeck last edited by

                Je ne suis pas capable d’imaginé tout les cas ou ça pourrait être utilisé ^^.
                C’est pour cela que j’ai commencé le code par “if (condition){”.
                De plus je risque de m’écarter du sujet .
                Et enfin je préfère voir un forum avec avec plein de sujet précis ,qu’avec quelque sujet regroupant plusieurs chose qui n’ont rien avoir entre elle .
                C’est plus facile pour les utilisateurs

                Et il y a letherman255 qui a prévu de faire un tuto sur GUI se serait bête de faire 2 fois la même chose 😛

                1 Reply Last reply Reply Quote 0
                • Gugu
                  Gugu last edited by

                  Essaie tout de même d’approfondir 🙂

                  1 Reply Last reply Reply Quote 0
                  • Bialeck
                    Bialeck last edited by

                    Hum…Et si je fais un autre post pour l’ajout d’un bouton?

                    Ou j’ai mal compris et je dois approfondir ce que j’ai fait ?
                    Perso je vois pas ce que je pourrait dire de plus la dessus
                    Il y a 4 ligne dont 2 déclarations de variables ^^

                    1 Reply Last reply Reply Quote 0
                    • elias54
                      elias54 Administrateurs last edited by

                      Tu dois au moins montrer un exemple d’utilisation (dans un gui par exemple). Certes Letherman225 compte faire des tutos sur les GUIs, mais ce n’est pas une raison de te justifier ce pourquoi tu ne préfère pas faire là dessus. 😉

                      1 Reply Last reply Reply Quote 0
                      • Rems19
                        Rems19 last edited by

                        Salut !

                        J’ai décelé une erreur (minime mais je préfère le dire des fois que certains c/c le code sans faire gaffe).

                        Tu as oublié un ‘/’ dans cette ligne :
                        [code_java]URI uri = URI.create(“ts3server://”+ ipts3 +"?port="+ portts3);[/code_java]

                        La ligne devrait être :
                        [code_java]URI uri = URI.create(“ts3server://”+ ipts3 +"/?port="+ portts3);[/code_java]

                        Voilà tout, bonne continuation ! 🙂

                        1 Reply Last reply Reply Quote 0
                        • Bialeck
                          Bialeck last edited by

                          Non en faite il ne le faut pas mais il y a quand même un souci de slash ^^ je corrige merci :).

                          Oui en faite pour représenter la separation entre l’ip et le port j’ai mis un “/” ^^

                          1 Reply Last reply Reply Quote 0
                          • Gugu
                            Gugu last edited by

                            La validation se feras après le tutoriel sur les GUI, pour que les gens aient un tutoriel pour avoir les bases des boutons.

                            1 Reply Last reply Reply Quote 0
                            • Bialeck
                              Bialeck last edited by

                              Voila , n’hésité pas à me corriger 🙂

                              1 Reply Last reply Reply Quote 0
                              • elias54
                                elias54 Administrateurs last edited by

                                Si j’ai le temps, je pense corriger un peu ton tutoriel (faute d’orthographe etc…)

                                1 Reply Last reply Reply Quote 0
                                • letherman255
                                  letherman255 last edited by

                                  Salut,
                                  ne t’embete pas pour moi, je vais faire un tuto qui reprendra en détail le fonctionnement des menu mais il me reste encore quelques choses a appronfondir ( le systeme “tesseract” de hauteur de planc). Quand ce sera fait, je posterai le tout. Bon bien sur il y aura aussi le fonctionnement des bouttons…

                                  @+

                                  1 Reply Last reply Reply Quote 1
                                  • A
                                    aviallon last edited by

                                    Plutot un bon tutoriel, mais j’avoue que je suis un peu paumé dans le Tuto.
                                    Il manquerait quelques exemples.

                                    1 Reply Last reply Reply Quote 0
                                    • robin4002
                                      robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                                      Je vais bientôt faire un tutoriel pour créer un menu custom, avec connexion au serveur et teamspeak.
                                      Ce tutoriel est donc refusé.

                                      1 Reply Last reply Reply Quote 0
                                      • 1 / 1
                                      • First post
                                        Last post
                                      Design by Woryk
                                      Contact / Mentions Légales / Faire un don

                                      MINECRAFT FORGE FRANCE © 2018

                                      Powered by NodeBB