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

    Solved Problème Timer et Tp

    1.7.x
    1.7.2
    5
    22
    3354
    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.
    • isador
      isador Moddeurs confirmés Modérateurs last edited by

      Salut à tous,

      J’ai un petit (voir gros) problème,

      Alpha ma aider (ou plutôt ma fait) un code pour faire un biome “barrière”, voici le code:
      http://pastebin.com/dkZxXr0E

      pour les Timer c’est bon et le message (“Vous devez retourner sur le rivage !” s’affiche bien qu’une fois, mais c’est la partir du Timer2 (le Tp) qui ne marche pas. Savez vous comment faire pour que ca le tp? et si possible faire en sorte que ca ne puisse le tp que sur le biome Beach le plus proche?

      Quelle est la méthode pour TP le joueur dans des coordonnée précise?

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

        Pour tp le joueur , as tu essayé :

        
        /**
        * Sets the location and Yaw/Pitch of an entity in the world
        */
        public void setLocationAndAngles(double par1, double par3, double par5, float par7, float par8)
        
        

        Chez moi c’est défini dans Entity.java ligne 1320. (1.6.2).

        1 Reply Last reply Reply Quote 0
        • isador
          isador Moddeurs confirmés Modérateurs last edited by

          d’accord merci on regarde ca

          comment faire pour savoir la direction vers où le joueur regarde au moment où il rentre dans le biome barrière "Nord, Sud etc….)?

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

            Le problème est que ton timer2 est toujours égale à 200, tu ne le diminue jamais.
            http://pastebin.com/DnE0eEXS
            Comme ceci ça devrait être bon.

            1 Reply Last reply Reply Quote 0
            • isador
              isador Moddeurs confirmés Modérateurs last edited by

              j’essaye tout ca

              EDIT: le timer c’est bon mais ca tp pas…

              1 Reply Last reply Reply Quote 0
              • RedRelay
                RedRelay Moddeurs confirmés last edited by

                Pourquoi tu n’utilises pas la classe Timer ? _
                Qu’est ce que tu ne comprend pas ?

                –------------------------------------------------------------------------------------
                Si tu trouves mon intervention pertinente, n'hésite pas a m…

                1 Reply Last reply Reply Quote 0
                • isador
                  isador Moddeurs confirmés Modérateurs last edited by

                  les fonction a utiliser, mais comme le timer marche maintenant c’est niquel, manque que le système de tp

                  1 Reply Last reply Reply Quote 0
                  • RedRelay
                    RedRelay Moddeurs confirmés last edited by

                    Timer: schedule(TimerTask, paramètres genre date ou timestamp)
                    Va exécuter la methode run() de la classe TimerTask a un certains moment que tu précises grâce au autre paramètres.

                    Tu na plus qu’a créé une classe qui extends TimerTask et qui redéfinit run().
                    Rien de plus simple.

                    –------------------------------------------------------------------------------------
                    Si tu trouves mon intervention pertinente, n'hésite pas a m…

                    1 Reply Last reply Reply Quote 0
                    • isador
                      isador Moddeurs confirmés Modérateurs last edited by

                      non mais pour le timer c’est bon ca marche niquel. mais il me manque juste la fonction pour le tp

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

                        Blackout, utilise un Timer dans une fonction update est une très mauvaise idée. Je m’explique, le code va être lancé à chaque tick, donc ça ne change strictement rien, la seul chose que ça va faire, c’est retarder le moment où va se lancer le code.
                        Son timer actuelle est très bien.

                        Pour le tp, utilise simplement entity.setLocation(x, y, z);

                        1 Reply Last reply Reply Quote 0
                        • isador
                          isador Moddeurs confirmés Modérateurs last edited by

                          je veux le tp au biome beach le plus proche , le entity.setLocation ne va pas marcher.

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

                            Heu ? En quoi il ne va pas marcher ?

                            1 Reply Last reply Reply Quote 0
                            • isador
                              isador Moddeurs confirmés Modérateurs last edited by

                              on peut préciser le biome?

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

                                Non, il n’existe pas de fonction qui tp sur un biome, mais tu peux check le type de biome, et si c’est le biome voulu, tu tp.

                                1 Reply Last reply Reply Quote 0
                                • isador
                                  isador Moddeurs confirmés Modérateurs last edited by

                                  comment faire?

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

                                    J’aurai simplement remplacé ton :
                                    entity.posX += 51;
                                    entity.posZ += 51;
                                    par :
                                    entity.setLocation(entity.posX + 51, y, entity.posZ + 51);
                                    et
                                    entity.posX -= 51;
                                    entity.posZ -= 51;
                                    par :
                                    entity.setLocation(entity.posX - 51, y, entity.posZ - 51);

                                    Le problème, c’est que même avec ça, ça fonctionnera très mal (en fait que si il y a un biome à 51 bloc du joueur en -x et -z ou en x et z).
                                    Il faudrait un autre code plus adapter avec une boucle while pour ça.

                                    1 Reply Last reply Reply Quote 0
                                    • isador
                                      isador Moddeurs confirmés Modérateurs last edited by

                                      heu… on peut pas faire un test avec des coordonnée relative?

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

                                        Ba si, là j’ai juste reprit ce que tu avais avant, c’est ton code x)

                                        Pour les biomes le mieux serait faire des tests par 16 (taille d’un chunk)
                                        Je pense a un truc du genre :

                                        int targetX = (int)entity.posX, int targetZ = (int)entity.posZ;
                                        do
                                        {
                                        targetX += 16;
                                        targetZ += 16;
                                        }
                                        while(entity.worldObj.getBiomeGenForCoords(targetX, targetZ) == BiomeGenBase.hell)
                                        

                                        Et la encore, ça check que en + +, il faut aussi check en - -, + - et - +. Je n’ai pas le temps de regarder en détail ce soir.

                                        1 Reply Last reply Reply Quote 0
                                        • RedRelay
                                          RedRelay Moddeurs confirmés last edited by

                                          @‘robin4002’:

                                          Blackout, utilise un Timer dans une fonction update est une très mauvaise idée. Je m’explique, le code va être lancé à chaque tick

                                          Ah ok, je ne le savais pas désolé 😉 Merci de m’avoir corrigé 🙂

                                          –------------------------------------------------------------------------------------
                                          Si tu trouves mon intervention pertinente, n'hésite pas a m…

                                          1 Reply Last reply Reply Quote 0
                                          • isador
                                            isador Moddeurs confirmés Modérateurs last edited by

                                            On peut pas plutôt: check dans un rayon si il y à un biome beach, calculer les coordonné, et le tp?

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

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB