Mr_Kofte Posté(e) le 2 avril 2023 Posté(e) le 2 avril 2023 Version de Minecraft : 1.16.5 Version de Skript : 2.6 Addons utilisés: SkQuery, WildSkript Type du skript : Admin chat Description du script : Salut l'équipe ! Je viens vers vous, car je souhaite faire un admin tchat avec une variable définie. Je n'arrive pas à faire un loop correct pour vérifier que le joueur ait bien la variable activée J'ai cherché sur internet et je trouve souvent ça : Citation loop-player has not permission "test.test" Et moi je veux juste vérifier si mon joueur parmi tous les joueurs a cette variable : set {staffchat.%uuid of player%} to true Et ensuite dans le on chat envoyer UNIQUEMENT le message du joueur ayant la variable set à TOUS LES JOUEURS ayant cette même variable set. si quelqu'un peut m'aider je vous remercie par avance... En effet les loops ne sont pas trop mon fort.
0 mimi59660 Posté(e) le 3 avril 2023 Posté(e) le 3 avril 2023 Il y a 21 heures, Mr_Kofte a dit : Version de Minecraft : 1.16.5 Version de Skript : 2.6 Addons utilisés: SkQuery, WildSkript Type du skript : Admin chat Description du script : Salut l'équipe ! Je viens vers vous, car je souhaite faire un admin tchat avec une variable définie. Je n'arrive pas à faire un loop correct pour vérifier que le joueur ait bien la variable activée J'ai cherché sur internet et je trouve souvent ça : Et moi je veux juste vérifier si mon joueur parmi tous les joueurs a cette variable : set {staffchat.%uuid of player%} to true Et ensuite dans le on chat envoyer UNIQUEMENT le message du joueur ayant la variable set à TOUS LES JOUEURS ayant cette même variable set. si quelqu'un peut m'aider je vous remercie par avance... En effet les loops ne sont pas trop mon fort. salut, si tu veux vérifier que la variable du joueur soit set sur "true" ou "false" tu dois le faire pour chaque joueur c'est à dire que dans la boucle tu dois remplacer le %uuid of player% par %uuid of loop-player% (si tu veux un exemple ça doit te donner ça : loop all players: if {staffchat.%uuid of loop-player%} = true: <la suite de ton code>
0 Mr_Kofte Posté(e) le 3 avril 2023 Auteur Posté(e) le 3 avril 2023 Salut je te remercie, Et comment envoyer donc dans le tchat un message écrit uniquement par les joueurs ayant cette permission et que les autres n'ayant pas la permission ne puisse pas voir le message ?
0 mimi59660 Posté(e) le 4 avril 2023 Posté(e) le 4 avril 2023 Il y a 23 heures, Mr_Kofte a dit : Salut je te remercie, Et comment envoyer donc dans le tchat un message écrit uniquement par les joueurs ayant cette permission et que les autres n'ayant pas la permission ne puisse pas voir le message ? c'est la boucle loop-player. Dans la boucle tu écris le code permettant d'envoyer le message à un joueur à condition qu'il a la permission requise : loop all players: if loop-player has permission "test.test": send "message de test" to loop-player
0 Mr_Kofte Posté(e) le 4 avril 2023 Auteur Posté(e) le 4 avril 2023 Justement c'est là que ça coince je veux que la permission soit ça : {staffchat.%uuid of loop-player%} et donc ne pas utiliser has permission
0 mimi59660 Posté(e) le 5 avril 2023 Posté(e) le 5 avril 2023 (modifié) Le 04/04/2023 à 21:55, Mr_Kofte a dit : Justement c'est là que ça coince je veux que la permission soit ça : {staffchat.%uuid of loop-player%} et donc ne pas utiliser has permission c'est simple, dans ton loop tu met la ligne suivante: if {staffchat.%uuid of loop-player%} = true: send "%message%" to loop-player bien évidemment tu dois être dans un évènement on chat. Modifié le 5 avril 2023 par mimi59660
0 Mr_Kofte Posté(e) le 6 avril 2023 Auteur Posté(e) le 6 avril 2023 (modifié) Salut, merci cela fonctionne ; En revanche, j'aimerai comprendre comment faire : Pour que les autres mecs ayant des permissions autres puisse aussi parler sur le tchat général : loop all players: if {staffchat.%uuid of loop-player%} is set: cancel event send "Admin: %message%" to loop-player else: if {adminrank.%uuid of player%} is "Gestion Loup": if {aduty.%player%} is true: set the chat format to "&c[&6&l&o%{adminrank.%uuid of player%}%&c] &e&o%player% &7: %message%" else: set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%" En gros je veux que juste les mecs qui ont le staff de true = envoie un message uniquement aux mecs qui ont la variable sur true ET que les gens classiques n'ayant pas la variable sur true puisse quand même parler... Voici en tout mon chat : on chat: replace all "&" in message with "§" if {tempmute.%uuid of player%} is true: set {_tempmute} to {time.tempmute.%uuid of player%} remove difference between now and {start.tempmute.%uuid of player%} from {_tempmute} if difference between now and {start.tempmute.%uuid of player%} is less than {time.tempmute.%uuid of player%}: cancel event send "&6[Mute] &fVous êtes réduit au silence pendant &c%{_tempmute}%" to player #wait {_tempmute} else: send "&6[Mute] &fVous pouvez de nouveau parler %player% !" delete {tempmute.%uuid of player%} delete {time.tempmute.%uuid of player%} delete {now.tempmute.%uuid of player%} stop if {tempjail.%uuid of player%} is true: #set {_test} to difference between now and {start.tempjail.%uuid of player%} set {_mute} to {time.tempjail.%uuid of player%} remove difference between now and {start.tempjail.%uuid of player%} from {_mute} if difference between now and {start.tempjail.%uuid of player%} is less than {time.tempjail.%uuid of player%}: cancel event replace "second" with "seconde" in {_mute} replace "hour" with "heure(s)" in {_mute} replace "day" with "jours" in {_mute} send "&6[Mute] &fVous êtes réduit au silence pendant &c%{_mute}%" to player else: send "&6[Mute] &fVous pouvez de nouveau parler %player% !" delete {tempjail.%uuid of player%} delete {time.tempjail.%uuid of player%} delete {now.tempjail.%uuid of player%} stop if {adminrank.%uuid of player%} is "Garde_loup": if {aduty.%player%} is true: set the chat format to "&c[&3&l&o%{adminrank.%uuid of player%}%&c] &b&o%player% &7: %message%" else: set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%" if {adminrank.%uuid of player%} is "Développeur": if {aduty.%player%} is true: set the chat format to "&c[&b&l&o%{adminrank.%uuid of player%}%&c] &b&o%player% &7: %message%" else: set the chat format to "&c[&9&l&oDév&c] &9&o%player% &7: %message%" if {adminrank.%uuid of player%} is "Héros": if {gduty.%player%} is true: set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%" else: set the chat format to "(Aventurier) %player% : %message%" loop all players: if {staffchat.%uuid of loop-player%} is set: cancel event send "Admin: %message%" to loop-player else: if {adminrank.%uuid of player%} is "Gestion Loup": if {aduty.%player%} is true: set the chat format to "&c[&6&l&o%{adminrank.%uuid of player%}%&c] &e&o%player% &7: %message%" else: set the chat format to "&c[&9&l&oHéros&c] &9&o%player% &7: %message%" Je n'arrête pas d'essayer différente forme et je ne comprends pas la mécanique... Modifié le 6 avril 2023 par Mr_Kofte
0 Mr_Kofte Posté(e) le 10 avril 2023 Auteur Posté(e) le 10 avril 2023 Ok j'ai trouvé la solution que je vous partage ici : if {adminrank.%uuid of player%} is "Gestion Loup" or "Garde_loup" or "Héros" or "Développeur": loop all players: if {staffchat.%uuid of loop-player%} is true: if message contains "!": cancel event send "&c[Admin]: %message%" to loop-player else if {staffchat.%uuid of loop-player%} is not set: if message contains "!": stop RESOLU
0 Yghore Posté(e) le 10 juin 2023 Posté(e) le 10 juin 2023 Le sujet a été résolu partiellement. Il a donc été verrouillé. Cordialement, l'équipe.
Question
Mr_Kofte
Version de Minecraft : 1.16.5
Version de Skript : 2.6
Addons utilisés: SkQuery, WildSkript
Type du skript : Admin chat
Description du script :
Salut l'équipe !
Je viens vers vous, car je souhaite faire un admin tchat avec une variable définie.
Je n'arrive pas à faire un loop correct pour vérifier que le joueur ait bien la variable activée
J'ai cherché sur internet et je trouve souvent ça :
Et moi je veux juste vérifier si mon joueur parmi tous les joueurs a cette variable :
Et ensuite dans le on chat envoyer UNIQUEMENT le message du joueur ayant la variable set à TOUS LES JOUEURS ayant cette même variable set.
si quelqu'un peut m'aider je vous remercie par avance...
En effet les loops ne sont pas trop mon fort.
8 réponses à cette question
Messages recommandés