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

      Je sais mais de la vue du gars tu le vois bien si il xray (droite gauche tout droit au un diams comme de par n’hasard)

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

        Oui c’est sûr comportementalement tu peux le voir même sans être directement dans sa vue

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

          Je fais souvent des mouvements aléatoires quand je mine, c’est pas pour autant que je xray 😉

          Pour le nombre de clicks par seconde, en utilisant LWJGL tu devrais pouvoir compter ça (Tu choppe l’event de click gauche, et tu incrémente un compteur que tu remets a 0 chaque seconde). Après, qu’un joueur fasse 20 ou 8 milliards de clicks a la seconde… aucune différence!
          Le jeu tourne sous 20 ticks, donc il ne pourra gérer que 20 clicks en une seconde, grand maximum.

          En utilisant LWJGL et des packets, tu aura un comptage de clicks côté client, et non serveur, ce qui permet de savoir le nombre réel de clicks que la machine reçoit, et le packets sert juste a faire passer ça niveau serveur.

          Faire des anticheats c’est TRES difficile. C’est comme essayer de déminer une bombe qui va pousser tes mains dès que tu essaie de la toucher. Un cheat travaille contre un anticheat, et fait tout pour le neutraliser

          "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
          • moscaphone421M Hors-ligne
            moscaphone421
            dernière édition par

            Gugu tu peux regarder shootbox (probleme eclipse je t’expliquerais directement dessus si tu peux)
            Je veux bien pour les moment au hasard mais faut avoir une limite si tu mine comme de la me… et que tu trouve que du diams ya un probleme quelque part non ?

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

              Juste la méthode du render
              Minecraft.getMinecraft().setRenderViewEntity(p.getDisplayName());
              S’utilise comment ?

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

                Il te suffit de placer l’entité en paramètre :

                Minecraft.getMinecraft().setRenderViewEntity(Entity entity);
                

                Tu as sûrement un objet de type EntityPlayer dans ton cas

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

                  quoi va ou ? xD

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

                    Dans tu gui quand le joueur clique sur je ne sais pas quoi tu met cette fonction avec le joueur que tu veux “espionner” en paramètre, et tu met bien un condition ```java
                    if(world.isRemote)

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

                      Je veux dire par la que je met quoi en paramètre : entityplayer x2 Entity = espion ou espionner ?

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

                        Minecraft.getMinecraft().setRenderViewEntity(La personne à espionner);
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • GuguG Hors-ligne
                          Gugu
                          dernière édition par

                          Essaie de tester avec tes joueurs dans des zones assez éloignées, voir si les chunks se chargent bien quand tu change de vue.

                          "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
                          • BrokenSwingB Hors-ligne
                            BrokenSwing Moddeurs confirmés Rédacteurs
                            dernière édition par

                            De toute façon c’est un GUI s’ouvre au clic droit sur un joueur donc le chunk sera chargé vu qu’il sera à côté

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB