Aller au contenu

Question

Posté(e) (modifié)

Version de Minecraft : 1.8.8 (Avec ViaVersion)
Version de Skript : 2.1.2

Addons utilisés: Aucun, mis à part que j'ai des addons skripts en plus.

Type du skript : Detection de Fly

Description du script :

Hey, hier j'ai commencé à créer un AntiCheat sur mon serveur mais malheureusement je n'arrive pas à comprendre les packets donc en attendant j'essaie de faire quelque chose d'assez clean sans les packets. J'ai déjà fait "l'AntiReach" mais là je galère un peu sur la détection du Fly malheureusement. J'ai essayé différentes lignes de codes et je n'ai pas trouvé de tutos qui montrais comment régler ce problème. 
J'essaie de faire en sorte que quand un Joueur fly sans l'autorisation "lss.use" cela envoie un message aux staffs, et au bout de quelque fois cela envoie le message avec un x2 x3 et arrivé au x4 normalement cela devrais bannir la personne qui fly sans permission. Mais malheureusement les quatres problèmes que j'ai sont:


Les messages de détections "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly &7!" sont envoyé au Joueur qui est suspecté. 
Les messages sont spammés aulieu d'être envoyé qu'une seule fois.
Cela ne m'affiche que le premier message, c'est à dire que il n'y a pas de x2 x3 ou même le bannissement que j'ai programmé.
Cela m'affiche dans le chat que je reload le skript qu'il y a 9 erreurs ( A cause des tabs qui sont ligne: 15,16,17,18,19,20,21,22 c'est à dire les 8lignes à partir de la 15 sont fausses à causes des tabs, par exemple pour l'avant-dernier celon eux j'ai mis 4tabs au lieu de 7tabs, alors que pour moi cela rentre parfaitement dans le code ). 

Merci d'avoir pris le temps de lire ma demande je vous communique le code ci-dessous, si vous ne pouvez pas m'aider pour ce code, pouvez-vous me conseiller quelque chose d'autre ? Merci beaucoup et bonne journée/soirée à vous

Voici mon code:


on any movement:
    loop all players:
        if loop-player have permission "lss.use":
            set {Notif.alert} to loop-players
        else:
            stop
        if player is flying:
            if {fly.%player%} is true:
                stop
            else:
                set {AntiFly.%player%} to player
                add 1 to {AntiFly.%player%}
                if {AntiFly.%player%} is 1:
                send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly &7!" to {Notif.alert}
                    if {AntiFly.%player%} is greater than 1:
                        if {AntiFly.%player%} is smaller than 2:
                        send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly x2&7!" to {Notif.alert}
                        if {AntiFly.%player%} is greater than 2:
                            if {AntiFly.%player%} is smaller than 3:
                            send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly x3&7!" to {Notif.alert}
                            if {AntiFly.%player%} is greater than 3:
                            make console execute command "/ban %player's ip% Fly [Tentative de Fly]"

Modifié par Volkar

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)
il y a une heure, Volkar a dit :

Version de Minecraft : 1.8.8 (Avec ViaVersion)
Version de Skript : 2.1.2

Addons utilisés: Aucun, mis à part que j'ai des addons skripts en plus.

Type du skript : Detection de Fly

Description du script :

Hey, hier j'ai commencé à créer un AntiCheat sur mon serveur mais malheureusement je n'arrive pas à comprendre les packets donc en attendant j'essaie de faire quelque chose d'assez clean sans les packets. J'ai déjà fait "l'AntiReach" mais là je galère un peu sur la détection du Fly malheureusement. J'ai essayé différentes lignes de codes et je n'ai pas trouvé de tutos qui montrais comment régler ce problème. 
J'essaie de faire en sorte que quand un Joueur fly sans l'autorisation "lss.use" cela envoie un message aux staffs, et au bout de quelque fois cela envoie le message avec un x2 x3 et arrivé au x4 normalement cela devrais bannir la personne qui fly sans permission. Mais malheureusement les quatres problèmes que j'ai sont:


Les messages de détections "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly &7!" sont envoyé au Joueur qui est suspecté. 
Les messages sont spammés aulieu d'être envoyé qu'une seule fois.
Cela ne m'affiche que le premier message, c'est à dire que il n'y a pas de x2 x3 ou même le bannissement que j'ai programmé.
Cela m'affiche dans le chat que je reload le skript qu'il y a 9 erreurs ( A cause des tabs qui sont ligne: 15,16,17,18,19,20,21,22 c'est à dire les 8lignes à partir de la 15 sont fausses à causes des tabs, par exemple pour l'avant-dernier celon eux j'ai mis 4tabs au lieu de 7tabs, alors que pour moi cela rentre parfaitement dans le code ). 

Merci d'avoir pris le temps de lire ma demande je vous communique le code ci-dessous, si vous ne pouvez pas m'aider pour ce code, pouvez-vous me conseiller quelque chose d'autre ? Merci beaucoup et bonne journée/soirée à vous

Voici mon code:


on any movement:
    loop all players:
        if loop-player have permission "lss.use":
            set {Notif.alert} to loop-players
        else:
            stop
        if player is flying:
            if {fly.%player%} is true:
                stop
            else:
                set {AntiFly.%player%} to player
                add 1 to {AntiFly.%player%}
                if {AntiFly.%player%} is 1:
                send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly &7!" to {Notif.alert}
                    if {AntiFly.%player%} is greater than 1:
                        if {AntiFly.%player%} is smaller than 2:
                        send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly x2&7!" to {Notif.alert}
                        if {AntiFly.%player%} is greater than 2:
                            if {AntiFly.%player%} is smaller than 3:
                            send "&8[&c!&8] &7[&dAnti&cCheat&7] &d» &7Le joueur &d%player% &7est suspecté de &cFly x3&7!" to {Notif.alert}
                            if {AntiFly.%player%} is greater than 3:
                            make console execute command "/ban %player's ip% Fly [Tentative de Fly]"

Pourquoi vous vous obstinez à rester sur des versions aussi vielles que le jeu lui-même ?!
Tu es en 1.8, prends celle-ci, t'auras accès aux derniers ajouts comme ça : https://github.com/Matocolotoe/Skript-1.8/releases

Ensuite, faire un "on any move" est déjà HORRIBLE mais alors, ajouter en dessus un "loop all players", c'est essayer de tuer ton serveur que tu fais là ...
Personnellement, j'ai peut-être une solution, malheureusement, elle requiert toujours le "on any move".

on any move:
	if player's gamemode is not creative or spectator:
		# Si tu as un Hub où le Fly est autorisé pour les VIP par exemple, ajoute ton code pour vérifier s'il le Fly est activé ou désactivé.
		if block below player is air:
			set {_LastPosition} to location of player
			wait 5 seconds
			if block below player is air:
				if distance between y-coordinates of {_LastPosition} and y-coordinates of location of player > 3:
					loop all players where [input has permission "AC.Alert"]:
						send "%player% : Fly Possible" to loop-player

C'est assez moche comme code, mais bon, en théorie, ça devrait faire l'affaire, bien-sûr, si tu donnes JumpBoost à tes joueurs en permanence, il risque de se faire détecter en permanence '-'

  • 0
Posté(e)
Il y a 2 heures, Shykuzo a dit :

Pourquoi vous vous obstinez à rester sur des versions aussi vielles que le jeu lui-même ?!
Tu es en 1.8, prends celle-ci, t'auras accès aux derniers ajouts comme ça : https://github.com/Matocolotoe/Skript-1.8/releases

Ensuite, faire un "on any move" est déjà HORRIBLE mais alors, ajouter en dessus un "loop all players", c'est essayer de tuer ton serveur que tu fais là ...
Personnellement, j'ai peut-être une solution, malheureusement, elle requiert toujours le "on any move".


on any move:
	if player's gamemode is not creative or spectator:
		# Si tu as un Hub où le Fly est autorisé pour les VIP par exemple, ajoute ton code pour vérifier s'il le Fly est activé ou désactivé.
		if block below player is air:
			set {_LastPosition} to location of player
			wait 5 seconds
			if block below player is air:
				if distance between y-coordinates of {_LastPosition} and y-coordinates of location of player > 3:
					loop all players where [input has permission "AC.Alert"]:
						send "%player% : Fly Possible" to loop-player

C'est assez moche comme code, mais bon, en théorie, ça devrait faire l'affaire, bien-sûr, si tu donnes JumpBoost à tes joueurs en permanence, il risque de se faire détecter en permanence '-'

Hey, sympa la réponse x') je m'attendais à me faire agresser mais boonn quand même pas à ce point là haha ( je rigole biensûr ). Je ne savais pas que la version de Skript que j'utilise est aussi vieille, en tout cas merci de m'avoir ouvert les yeux je passerais sur la dernière version de Skript 1.8 et merci aussi pour le code c'est sympa de ta part ! Bonne soirée à toi

  • 0
Posté(e)
Il y a 2 heures, Shykuzo a dit :

Pourquoi vous vous obstinez à rester sur des versions aussi vielles que le jeu lui-même ?!
Tu es en 1.8, prends celle-ci, t'auras accès aux derniers ajouts comme ça : https://github.com/Matocolotoe/Skript-1.8/releases

Ensuite, faire un "on any move" est déjà HORRIBLE mais alors, ajouter en dessus un "loop all players", c'est essayer de tuer ton serveur que tu fais là ...
Personnellement, j'ai peut-être une solution, malheureusement, elle requiert toujours le "on any move".


on any move:
	if player's gamemode is not creative or spectator:
		# Si tu as un Hub où le Fly est autorisé pour les VIP par exemple, ajoute ton code pour vérifier s'il le Fly est activé ou désactivé.
		if block below player is air:
			set {_LastPosition} to location of player
			wait 5 seconds
			if block below player is air:
				if distance between y-coordinates of {_LastPosition} and y-coordinates of location of player > 3:
					loop all players where [input has permission "AC.Alert"]:
						send "%player% : Fly Possible" to loop-player

C'est assez moche comme code, mais bon, en théorie, ça devrait faire l'affaire, bien-sûr, si tu donnes JumpBoost à tes joueurs en permanence, il risque de se faire détecter en permanence '-'

Juste j'ai un autre petit problème, j'ai changé de version de Skript comme tu me l'as conseillé, et maintenant plus aucun de mes scripts ne marchent je ne sais pas si c'est normal ? Du coup j'essaie la plus vieille version pour voir si ça marche... Désolé mais je peux pas changeais de version 😞

  • 0
Posté(e)
Il y a 19 heures, Volkar a dit :

Juste j'ai un autre petit problème, j'ai changé de version de Skript comme tu me l'as conseillé, et maintenant plus aucun de mes scripts ne marchent je ne sais pas si c'est normal ? Du coup j'essaie la plus vieille version pour voir si ça marche... Désolé mais je peux pas changeais de version 😞

Les doubles postes sont interdits.

Sinon, ils ne fonctionnent pas car beaucoup de syntaxe ont changées, faut regarder sur SkriptHUB, tu trouveras les nouvelles syntaxes.
Juste, ce n'étais pas mon intention de "t'agresser", juste qu'on voit très souvent des personnes, en particulier, des débutants, utiliser des versions très très très ancienne de Skript alors qu'il existe des versions hyper récente comme la 2.6.3 qui n'a qu'à peine 1 mois.

  • 0
Posté(e) (modifié)
Le 20/08/2022 à 14:50, Shykuzo a dit :

Les doubles postes sont interdits.

Sinon, ils ne fonctionnent pas car beaucoup de syntaxe ont changées, faut regarder sur SkriptHUB, tu trouveras les nouvelles syntaxes.
Juste, ce n'étais pas mon intention de "t'agresser", juste qu'on voit très souvent des personnes, en particulier, des débutants, utiliser des versions très très très ancienne de Skript alors qu'il existe des versions hyper récente comme la 2.6.3 qui n'a qu'à peine 1 mois.

Tkt je m'en doute, et oui je savais que les doubles postes étaient interdit mais malheureusement mon message ne voulais pas s'éditer ( un problème venant de moi sûrement ). Sinon là j'essaie de supprimer quelques addons de Skript en les notant pour voir lequel est entrain de "corrompre" mes fichiers.

EDIT: la ligne "if distance between y-coordinates of {_LastPosition] and y-coordinates of location of player > 3:" ne marche pas. L'erreur me donne " the the y-coordinate of the location of player is not a location"

Modifié par Volkar
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.