Détecter le nombres de cliques/seconde
-
Bon tant que l’on y est c’est la derniere : Possible de voir la vu qu’a le joueur ? si oui ça serait énorme
-
Pour la vitesse du joueur, tu peux la trouver ici
Pour le nombre de clic, regarde ce que tu peux faire avec la class MouseEvent.D’après le wiki, le joueur peut frapper 5 fois par seconde.
-
Oui possible de se mettre sur la vue du joueur : Minecraft.getMinecraft().setRenderViewEntity(le player); à faire sur le client.
-
Oula niveau pratique ça ça va etre cool de pouvoir voir se qu’il voit (verif de xray/fly)
-
Tu pourra pas voir si il xray, tout ce que ça va faire c’est rendre le jeu en mettant ta vue à la place de la sienne, pas appliqué les textures telles qu’il les voit
-
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)
-
Oui c’est sûr comportementalement tu peux le voir même sans être directement dans sa vue
-
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
-
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 ? -
Juste la méthode du render
Minecraft.getMinecraft().setRenderViewEntity(p.getDisplayName());
S’utilise comment ? -
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
-
quoi va ou ? xD
-
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) -
Je veux dire par la que je met quoi en paramètre : entityplayer x2 Entity = espion ou espionner ?
-
Minecraft.getMinecraft().setRenderViewEntity(La personne à espionner); -
Essaie de tester avec tes joueurs dans des zones assez éloignées, voir si les chunks se chargent bien quand tu change de vue.
-
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é
-
Pas très pratique niveau discrétion!
-
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). -
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
