Aller au contenu

[Skript] - Knockback checker


Messages recommandés

Posté(e)

Bonjour,

Je voudrais savoir comment faire une commande permettant de voir si un joueur à un Anti knockback (/cc v) comme pour Funcraft

 - Version minecraft : 1.8

 - Addons : SkQuery / SkRayFall / Umbaska (Tout en 1.8)

Merci à tout ceux qui voudront bien m'aider 🙂

Posté(e)
Il y a 4 heures, _Sweeny_ a dit :

Bonjour,

Je voudrais savoir comment faire une commande permettant de voir si un joueur à un Anti knockback (/cc v) comme pour Funcraft

 - Version minecraft : 1.8

 - Addons : SkQuery / SkRayFall / Umbaska (Tout en 1.8)

Merci à tout ceux qui voudront bien m'aider 🙂

T'auras énormément de faux positifs, c'est très random /:

Posté(e)
il y a 59 minutes, > NoaGamingFR a dit :

T'auras énormément de faux positifs, c'est très random /:

Je sais mais je voudrais avoir cette commande pour pouvoir savoir si il faut que j'aille verrif la personne ou pas

 

Posté(e)
il y a 14 minutes, _Sweeny_ a dit :

Je sais mais je voudrais avoir cette commande pour pouvoir savoir si il faut que j'aille verrif la personne ou pas

 

Mhh, d'accord perso j'ai pas l'envie de le faire, même si j'ai juste à reprendre un code, mais bon ^^'

Posté(e)
Il y a 22 heures, > NoaGamingFR a dit :

Mhh, d'accord perso j'ai pas l'envie de le faire, même si j'ai juste à reprendre un code, mais bon ^^'

Pourrais-tu tout de même le faire s'il te plait ? J'en aurais besoin au plus vite car j'ai prévus l'ouverture de mon serveur sous peu alors j'aimerais que tout soit prêt à temps et éviter les retard d'ouverture

Posté(e)
Il y a 7 heures, _Sweeny_ a dit :

Pourrais-tu tout de même le faire s'il te plait ? J'en aurais besoin au plus vite car j'ai prévus l'ouverture de mon serveur sous peu alors j'aimerais que tout soit prêt à temps et éviter les retard d'ouverture

Je t'ai dit que je n'avais pas envie de faire cela, mais qu'entend-tu par vérifier s'il as un anti kb etc... ? Comment vérifier, (quel données il te faudrais avec cette commande..)

Posté(e)

Bon puisque tout le monde parle pour rien dire je vais essayer de t'aider.

J'avais fait une commande de ce genre il y a un bon moment. 

J'ai réussi à isoler le maximum de faux positif, mais il peut toujours y en avoir donc ne te forge jamais l'idée qu'un type cheat à 100% avec ça. 

Cela te permet juste de te conforter dans l'idée que quelqu'un cheat. Cela check le X, Y et Z.

Tu dois juste set une zone bien plane pour effectuer les tests (/antikb set)

 

on load:
	delete {AntiKb::*}
	
command /AntiKb [<offlineplayer>]:
	permission: mod.use
	permission message: &cVous n'avez pas la permission d'utiliser cette commande
	trigger:
		if arg 1 is not set:
			message "&7[&cAntiKb&7] &cVeuillez saisir le nom du joueur &7(&c/Antikb <nom>&7)"
		else if arg 1 is "set":
			set {AntiKb.Point} to player's location
			message "&7[&cAntiKb&7] &cPosition set"
		else if arg 1 is not online:
			message "&7[&cAntiKb&7] &cLe joueur &e%arg 1% &cn'est pas en ligne"
		else if {AntiKb::%arg 1%} is not set:
			if tps < 18.5:
				message "&7[&cAntiKb&7] &cLe serveur lag trop pour le moment"
			else if arg 1's ping > 100:
				message "&7[&cAntiKb&7] &cLe joueur lag trop pour le moment &7(&eMs: %arg 1's ping%&7)"
			else:
				set {AntiKb::%arg 1%} to "oui"
				
				set {_loc.%arg 1%} to arg 1's location
				teleport arg 1 to {AntiKb.Point}
				set {_loc1.%arg 1%} to arg 1's location
				
				push arg 1 upwards at speed 1.5
				wait 4 tick
				push arg 1 east at speed 2.1
				wait 4 tick
				push arg 1 north at speed 2.1
				
				wait 13 ticks
				
				set {_loc2.%arg 1%} to arg 1's location
	
				teleport arg 1 to {_loc.%arg 1%}
				
				if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 5:
					if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 3:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%}% &4en Y&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
					else if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 3.5:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%}% &cen Y&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				else if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 4.5:
					if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 3:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%}% &4en X&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
					else if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 4.5:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%}% &cen X&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				else if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 4.5:
					if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 3:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%}% &4en Z&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
					else if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 4.5:
						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%}% &cen Z&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				
				
				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} > 4:
					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &aBON &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} > 1:
					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%distance between {_loc1.%arg 1%} and {_loc2.%arg 1%}%&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} < 1.01:
					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%distance between {_loc1.%arg 1%} and {_loc2.%arg 1%}%&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
				delete {AntiKb::%arg 1%}
		else:
			send "&7[&eMod&7] &c%player% est déjà testé" 
		


 

 

 

 

 

 

Posté(e) (modifié)

@Soufreur78

Jamais de timespans dans un anticheat !

Les waits sont effectués coté serveur, je vais prendre le cas d'une explosion de tnt et d'un check de speed par example:

 

Tu te prends un dégat de tnt, le mec à 800ms de ping, il ne va pas bouger lorsqu'il va reçevoir le dégat le wait s'éxécute pendant ce temp et se termine, puis le mec prends son knockback et se fait false ban.

La solution effectuer des actions coté client avec les packets de Position et Flying, et oui, car quand un joueur lag, il n'envoie plus aucun packets, mais il va les envoyer apprès !

 

@_Sweeny_

Pour le check de ccv ne fait pas ça ...

Fait un check de velocity c'est vraiment ez a faire je te donne la méthode et je te laisse faire le reste

 

on join:
  set {PLAYER::%id of player%} to player

on packet:
  if event-string is "PacketPlayOutEntityVelocity":
    set {_a} to packet field "a"
    if {PLAYER::%{_a}%} is set:
      set {_c} to packet field "c"
      set {KNOCKBACK::Y::%{PLAYER::%{_a}%}%} to {_c}/8000 # Le packet field c, c'est le motion y que le mec est sensée faire

on any move:
  set {_start} to start moving location
  set {_end} to end moving location
  set {_y-start} to y-location of {_start}
  set {_y-end} to y-location of {_end}
  send "&e%difference between {_y-start} and {_y-end}%" # On envoie la diff Y du joueur

 

 

Addons requis: Skelett, Sketch

Modifié par Wizzard1806
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.