MFF

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

    Détecter le nombres de cliques/seconde

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    62 Messages 9 Publieurs 11.5k 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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Alors pour pouvoir remplacer le NetHandler d’un joueur sur le serveur, ce qui permet d’intercepter/modifier tout comportement du joueur :
      Il faut d’abord utiliser l’event de connection d’un joueur sur le serveur :

      @SubscribeEvent
          public void onPlayerLoginOnServer(PlayerEvent.PlayerLoggedInEvent event) 
          {
      
      CustomNetHandlerServer.applyPatches((EntityPlayerMP) event.player); //On va remplacer le NetHandlerPlayServer vanilla dans cette fonction
      
      }
      

      Donc dans une nouvelle classe CustomNetHandlerServer (ou un autre nom) extends NetHandlerPlayServer :

      
      private final MinecraftServer serverController; //Cette variable est en private dans le NetHandlerPlayServer on doit donc la mettre ici
      
      public CustomNetHandlerServer(MinecraftServer server, NetworkManager networkManagerIn, EntityPlayerMP playerIn)
      {
      super(server, networkManagerIn, playerIn);
      this.serverController = server;
      }
      
      public static void applyPatches(EntityPlayerMP player)
      {
              NetHandlerPlayServer old= player.playerNetServerHandler;
              CustomNetHandlerServer newHandler = fromNetHandlerPlayServer(old); //Va permettre d'obtenir un net handler à partir des informations de l'ancien
              player.playerNetServerHandler = newHandler; //On l'attribue au joueur
      }
      
      private static CustomNetHandlerServer fromNetHandlerPlayServer(NetHandlerPlayServer play)
      {
      CustomNetHandlerServer handler= new CustomNetHandlerServer(MinecraftServer.getServer(), play.netManager, play.playerEntity); //On créée notre handler
      handler.setPlayerLocation(play.playerEntity.posX, play.playerEntity.posY, play.playerEntity.posZ, play.playerEntity.cameraYaw, play.playerEntity.cameraPitch); //Et on lui donne les informations de l'ancien
      return handler;
      }
      
      

      Puis après, il suffit de faire ctrl+space dans cette nouvelle classe et de prendre la fonction qui correspond à ce qu’on veut modifier et la réécrire.
      Et aussi, ne pas oublier de register l’event (event Forge).

      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

        techniquement je peux definir en tant que test player1 et player2 ?
        Broken gui quand je fais ‘u’ et je marque dans textbox pseudo et je le surveille

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

          Définir quoi en tant que test player 1 et 2 ?

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

            sur eclipse deux java appli joueurnanana et joueurninini et faire dans le code que quand playernanana fais ‘u’ je vois playerninini

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

              Il faut que tu récupères le EntityPlayer de playerninini et que tu fasses Minecraft.getMinecraft().setRenderViewEntity(playerninini);
              Je regarde comment get le EntityPlayerSP d’un autre joueur du côté client.

              EDIT : Alors il faut que tu obtiennes le entityID du joueur sur le serveur ```java

              MinecraftServer.getServer().getConfigurationManager().getPlayerByUsername(“un nom”).getEntityId();

              Puis tu dois envoyer un [packet](https://www.minecraftforgefrance.fr/showthread.php?tid=1118) au joueur qui veut avoir la vue d'un autre avec cet entity id, à la réception du packet, tu fais ```java
              Minecraft.getMinecraft().setRenderViewEntity(Minecraft.getMinecraft().theWorld.getEntityById(l'id reçu));
              

              Pas besoin de faire un null check, Minecraft le fait pour toi mais par contre tu peux vérifier que l’entité qui correspond à l’id est bien instanceof EntityOtherPlayerMP pour être sur que ce soit l’id du joueur et pas d’un poulet.

              Il est possible/probable qu’il y ait une autre méthode mais celle là marchera très bien.

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                PAS LES PACKETS NONNNNNNNNNNNNN
                Aymeric j’ai suvis ton truc j’y comprend rien mais bon xD
                Juste j’ai 
                Executes a container/inventory slot manipulation as indicated by the packet. Sends the serverside result if they didn’t match the indicated result and prevents further manipulation by the player until he confirms that it has the same open container/inventory

                C’est ça qu’il faut prendre =p?

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

                  package fr.Mosca421.Arthania.View;
                  
                  import cpw.mods.fml.common.network.ByteBufUtils;
                  import cpw.mods.fml.common.network.simpleimpl.IMessage;
                  import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
                  import cpw.mods.fml.common.network.simpleimpl.MessageContext;
                  import fr.Mosca421.Arthania.Arthania;
                  import io.netty.buffer.ByteBuf;
                  
                  public class View implements IMessage {
                  
                      private String text;
                  
                      public View() { }
                  
                      public View(String text) {
                          this.text = text;
                      }
                  
                      @Override
                      public void fromBytes(ByteBuf buf) {
                          text = ByteBufUtils.readUTF8String(buf);
                      }
                  
                      @Override
                      public void toBytes(ByteBuf buf) {
                          ByteBufUtils.writeUTF8String(buf, text);
                      }
                  
                      public static class Handler implements IMessageHandler <view, imessage="">{
                  
                          @Override
                          public IMessage onMessage(View message, MessageContext ctx) {
                              System.out.println(String.format("Received %s from %s", message.text, ctx.getServerHandler().playerEntity.getDisplayName()));
                              Arthania.networkWrapper.sendToServer(new View("View"));
                              Arthania.networkWrapper.sendTo(new SomeMessage(), somePlayer);
                              return null; // no response in this case
                          }
                      }
                  }
                  

                  Alors la je vais pas vous mentir je vois plus quoi faire quand j’ai ça pour vous dire j’ai une erreur que je sais meme pas comment régler
                  J’aime pas du tout se systeme de packets =/</view,>

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

                    Ou est le problème ?

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

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

                      Partout ou que j’aille ya des problème
                      Je ne vois pas ou mettre le code de aymeric qui est avant je bloque la

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

                        Lequel ?

                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                        Pas de demandes de support par MP ni par skype SVP.
                        Je n'accepte sur skype que l…

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

                          voir se que vois un joueur

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

                            C’est à dire ? Quel est le but ?

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

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

                              Le joueurs espion espionne un autre joueur (permet de surveiller un joueur sans avoir a bouger (que les admin ça se fait quand tu apuille sur la touche u ouvre gui tu met le pseudo du gars a voir et ça te met dans lui en gros

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

                                Pour ça il faut être côté client et avoir un accès à une interface ICamera et appeler la fonction isBoundingBoxInFrustum avec comme paramètre la bounding box du joueur

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

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

                                  Ok bon je vois ça demain mais faudrait que des personnes patiente m’aide 😃

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

                                    Demain aprem ou soir j’explique clairement ou chaque code va, si quelqu’un le fait pas avant.
                                    Mais déjà un indice, dans ton packet il ne te faut pas un String à envoyer mais un int qui contiendra lid du joueur dans le monde.

                                    EDIT : pas besoin de packet, le code dans mon post suivant.

                                    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                      Alors explication claire :
                                      Il fait que dans ta classe d’event tu créées une fonction comme ça qui sera appelée lorsque tu appuies sur une touche.

                                      @SubscribeEvent
                                      public void keyPressed(InputEvent.KeyInputEvent event)
                                      {
                                      int code = Keyboard.getEventKey();
                                      String key = String.valueOf(Keyboard.getEventCharacter());
                                      }
                                      

                                      Je te laisse faire pour vérifier si key est bien égal à “u”.
                                      Et maintenant que j’y réfléchi, il n’y a pas besoin de packets, il faut récupérer “la chose” que le joueur pointe avec la souris (rien/block/entitée) comme ça :

                                      Minecraft.getMinecraft().objectMouseOver
                                      ```, puis vérifier si ce n'est pas égal à null, puis faire ```java
                                      if(objectMouseOver.entityHit instanceof EntityPlayerSP)
                                      ``` pour savoir si c'est un joueur qui est pointé, et là tu fais ```java
                                      Minecraft.getMinecraft().setRenderViewEntity(objectMouseOver.entityHit);
                                      ```Je fais exprès de ne pas te donner tout le code qui est simple, pour te laisser faire une partie du travail, mais si tu as du mal je te le donnerai.

                                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                        Okey la key je connais mais j’ai fais ça

                                        http://prntscr.com/bf3gdi
                                        Petite erreur (encore) The method setRenderViewEntity(Entity) is undefined for the type Minecraft

                                        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

                                          Il y a une ouverture de parenthèse en trop.

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

                                            Merci robin juste que j’avais test un truc et que j’ai screen sans la voir xD regarde mon poste en haut ya l’erreur ecrite

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 4 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB