Shykuzo Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 Bonjour à tous ! Pour mon serveur, j'aurais besoin d'un skript permettant de vérifier le knockback d'un joueur un peu comme le "/cc v" de funcraft mais je ne sais pas comment faire ... Merci de ne pas me dire que j'aurais des faux positifs ou quoi, je le sais très bien. Merci ! Versions : Skript 2.2-Dev25 ( Je ne cite pas mes add-ons, si besoin j'en installerais ! )
Lou' Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 Il y a ça, après, comme dit dans les commentaires, ça a déjà était pas mal bloqué par certains cheats : https://skript-mc.fr/forum/files/file/107-cheatchecker-vélocity-antikb-100-fiable/ 1
Romitou Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 Salut, Il est quasiment impossible d'en faire un fiable à 100% en Skript. Je suis actuellement en projet de modération axé sur la détection de triche et je peut te dire qu'il ne trouve pas les mêmes résultats à chaque fois dû aux latences côté client ou utilisation d'un proxy (BungeeCord). Il faudrait donc prendre en compte la latence et le résultat de la "VIOLATION" du joueur. Bref, tout ça pour dire que c'est difficile, du moins en Skript pour un anticheat (checker) performant et fiable. Bonne chance dans tes recherches, je continue à travailler sur mon CheatChecker de mon côté et je le posterai dans les ressources si mon travail est terminé. ^^ Bonne soirée !
Lou' Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 J'ai fait un petit truc vite fait de mon côté, cela lance le joueur en l'air, et te donne le pourcentage de KB que prend le joueur. Après, c'est pas super fiable mais ça fait le taff. command /kb [<player>]: trigger: set {_n} to y-coord of arg 1 push arg 1 upwards loop 20 times: wait 1 tick add y-coord of arg 1 to {_list::*} set {_m} to 0 loop {_list::*}: if loop-value > {_m}: set {_m} to loop-value set {_a} to ({_m}-{_n}) set {_kb} to ({_a}/5.12)*100 broadcast "%{_kb}%%%" 1
Joriis Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 il y a 19 minutes, Romitou a dit : Salut, Il est quasiment impossible d'en faire un fiable à 100% en Skript. Je suis actuellement en projet de modération axé sur la détection de triche et je peut te dire qu'il ne trouve pas les mêmes résultats à chaque fois dû aux latences côté client ou utilisation d'un proxy (BungeeCord). Il faudrait donc prendre en compte la latence et le résultat de la "VIOLATION" du joueur. Bref, tout ça pour dire que c'est difficile, du moins en Skript pour un anticheat (checker) performant et fiable. Bonne chance dans tes recherches, je continue à travailler sur mon CheatChecker de mon côté et je le posterai dans les ressources si mon travail est terminé. ^^ Bonne soirée ! Coucou, Même en java ce n'est pas fiable à 100%, sur Funcraft on obtient quelques faux positifs de temps en temps, cela reste très visuel, c'est plus pour avoir une preuve lorsque quelqu'un cheat (afin d'éviter de devoir upload un record) que de vraiment vérifier que quelqu'un triche. 1 1
Romitou Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 il y a 21 minutes, Acenox a dit : Coucou, Même en java ce n'est pas fiable à 100%, sur Funcraft on obtient quelques faux positifs de temps en temps, cela reste très visuel, c'est plus pour avoir une preuve lorsque quelqu'un cheat (afin d'éviter de devoir upload un record) que de vraiment vérifier que quelqu'un triche. Oui, j'ai déjà vu quelques Modo Series sur FunCraft et je peux voir qu'il y a quelques faux positifs (comme sur tous les serveurs). Mais comme tu dis, rien de mieux que le visuel. ^^
Shykuzo Posté(e) le 5 août 2019 Auteur Posté(e) le 5 août 2019 (modifié) Il y a 4 heures, Lou' a dit : Il y a ça, après, comme dit dans les commentaires, ça a déjà était pas mal bloqué par certains cheats : https://skript-mc.fr/forum/files/file/107-cheatchecker-vélocity-antikb-100-fiable/ C'est du full fake le sien, regarde dans les reviews ... Il y a 3 heures, Lou' a dit : J'ai fait un petit truc vite fait de mon côté, cela lance le joueur en l'air, et te donne le pourcentage de KB que prend le joueur. Après, c'est pas super fiable mais ça fait le taff. command /kb [<player>]: trigger: set {_n} to y-coord of arg 1 push arg 1 upwards loop 20 times: wait 1 tick add y-coord of arg 1 to {_list::*} set {_m} to 0 loop {_list::*}: if loop-value > {_m}: set {_m} to loop-value set {_a} to ({_m}-{_n}) set {_kb} to ({_a}/5.12)*100 broadcast "%{_kb}%%%" Je vais tester sa de suite ^^ Merci Edit: Quand je fais "sk reload Modération" dans la console sa me met "'argument(s)' cannot be used if the command has multiple arguments. Use 'argument 1', 'argument 2', etc. instead (Modération.sk, line 81: push arg 2 upwards')" Modifié le 5 août 2019 par Salwyn
Romitou Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 (modifié) il y a 14 minutes, Salwyn a dit : C'est du full fake le sien, regarde dans les reviews ... Je vais tester sa de suite ^^ Merci Edit: Quand je fais "sk reload Modération" dans la console sa me met "'argument(s)' cannot be used if the command has multiple arguments. Use 'argument 1', 'argument 2', etc. instead (Modération.sk, line 81: push arg 2 upwards')" Tu as modifié son code, donnes-nous ton code en entier pour voir d'où ça vient. Mets "argument 2" à la place de "arg 2". Modifié le 5 août 2019 par Romitou
noftaly Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 il y a 13 minutes, Salwyn a dit : C'est du full fake le sien, regarde dans les reviews ... Je vais tester sa de suite ^^ Merci Edit: Quand je fais "sk reload Modération" dans la console sa me met "'argument(s)' cannot be used if the command has multiple arguments. Use 'argument 1', 'argument 2', etc. instead (Modération.sk, line 81: push arg 2 upwards')" essaye de rajouter un tiret entre "arg" et "2" (pour que ca fasse "arg-2")
Shykuzo Posté(e) le 5 août 2019 Auteur Posté(e) le 5 août 2019 (modifié) # ============================= # # ---- Options ----# # ============================= # options: prefix: &8[&cModération&8] permission: moderator.allow # ============================= # # ---- Commandes ----# # ============================= # command /mod: trigger: if player has permission "{@permission}": if {state.moderator.%player%} is false: set {state.moderator.%player%} to true send "{@prefix} &fMode modérateur &aactivé &f!" to player wait 3 ticks set player's gamemode to survival wait 3 ticks set player's flight mode to true hide player from all players wait 3 ticks clear player's inventory stop if {state.moderator.%player%} is true: set {state.moderator.%player%} to false send "{@prefix} &fMode modérateur &cdésactivé &f!" to player wait 3 ticks set player's gamemode to adventure wait 3 ticks set player's flight mode to false reveal player from all players wait 3 ticks clear player's inventory make player execute command "/lobby" stop else: send "{@prefix} &cVous n'avez pas la permission d'utiliser ceci !" to player stop command /checkcheat [<text>] [<offline player>]: aliases: /cc trigger: if player has permission "{@permission}": if arg 2 is not online: send "{@prefix} &cCe joueur n'est pas en ligne actuellement !" to player stop if arg 1 is not set: if arg 2 is not set: send "&c&m--|----------------------------------------|--" to player send " " to player send "&7/&ccheckcheat &9tools &8- &7Recevoir les outils de modération" to player send "&7/&ccheckcheat &9velocity &7[&FPseudo&7] &8- &7Vérifier la vélocité d'un joueur" to player send " " to player send "&c&m--|----------------------------------------|--" to player stop if arg 1 is set: if arg 1 is "tools" or "t": if {state.moderator.%player%} is false: send "{@prefix} &cVous devez être en mode modérateur pour recevoir les items de modération !" to player stop if {state.moderator.%player%} is true: set slot 1 of player to unbreakable wooden sword of knockback 2 named "&cKnockback &3II" set slot 2 of player to unbreakable stone sword of knockback 6 named "&cKnockback &3VI" set slot 4 of player to dye:10 named "&9Vanish &8[&aActivé&8]" set slot 6 of player to unbreakable diamond pickaxe of efficiency 100 named "&cBreaker" set slot 7 of player to stick named "&cFreeze" stop if arg 1 is "velocity" or "v": if arg 2 is not set: send "{@prefix} &cVeuillez mettre le pseudo du joueur pour vérifier son knockback !" to player stop if arg 2 is set: set {_n} to y-coord of arg 2 push arg 2 upwards loop 20 times: wait 1 tick add y-coord of arg 2 to {_list::*} set {_m} to 0 loop {_list::*}: if loop-value > {_m}: set {_m} to loop-value set {_a} to ({_m}-{_n}) set {_kb} to ({_a}/5.12)*100 send "%{_kb}%%%" to player stop else: send "{@prefix} &cVous n'avez pas la permission d'utiliser ceci !" to player stop EDIT: C'est bon, merci @noftaly !!! Modifié le 5 août 2019 par Salwyn
noftaly Posté(e) le 5 août 2019 Posté(e) le 5 août 2019 (modifié) il y a 3 minutes, Salwyn a dit : EDIT: C'est bon, merci @noftaly !!! Derien ! Du coup tout fonctionne ? Si oui, alors tu peux passer en résolu ! Modifié le 5 août 2019 par noftaly 1
Shykuzo Posté(e) le 5 août 2019 Auteur Posté(e) le 5 août 2019 à l’instant, noftaly a dit : Derien ! Du coup tout fonctionne ? Si oui, alors tu peux passer en résolu ! Oui tout fonctionne, merci beaucoup !!! 1
Messages recommandés