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

      Pas très pratique niveau discrétion!

      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
      ― Jordan B. Peterson

      1 réponse Dernière réponse Répondre Citer 0
      • 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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 1 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB