Flash303mc Posté(e) le 10 décembre 2021 Posté(e) le 10 décembre 2021 Version de Minecraft : 1.8.9 Version de Skript : 2.2-dev27 Type du skript : /vanish spéciale Description du script : Bonjour, j'avais coder un /vanish pour mon serveur mais je voudrais savoir comment faire pour que les modérateur qui son vanish voient les autre modérateur vanish?
Shykuzo Posté(e) le 10 décembre 2021 Posté(e) le 10 décembre 2021 Il y a 3 heures, Flash303mc a dit : Version de Minecraft : 1.8.9 Version de Skript : 2.2-dev27 Type du skript : /vanish spéciale Description du script : Bonjour, j'avais coder un /vanish pour mon serveur mais je voudrais savoir comment faire pour que les modérateur qui son vanish voient les autre modérateur vanish? command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" hide player from all players loop {Vanish::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value from loop-player # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop
Flash303mc Posté(e) le 10 décembre 2021 Auteur Posté(e) le 10 décembre 2021 Il y a 3 heures, Shykuzo a dit : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" hide player from all players loop {Vanish::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value from loop-player # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" hide player from all players loop {Vanish::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-value-2 # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop ne fonctionne pas
LeCraftDeOuf Posté(e) le 11 décembre 2021 Posté(e) le 11 décembre 2021 Il y a 9 heures, Flash303mc a dit : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" hide player from all players loop {Vanish::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-value-2 # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop ne fonctionne pas Quesqui ne fonctionne pas ? Erreur code ? La permission a mettre au modo est "ta.permission" dans ce code, es que c'est bien le cas ?
Flash303mc Posté(e) le 11 décembre 2021 Auteur Posté(e) le 11 décembre 2021 Il y a 12 heures, LeCraftDeOuf a dit : Quesqui ne fonctionne pas ? Erreur code ? La permission a mettre au modo est "ta.permission" dans ce code, es que c'est bien le cas ? les modérateurs je ce voient pas entre eux
Shykuzo Posté(e) le 11 décembre 2021 Posté(e) le 11 décembre 2021 il y a 9 minutes, Flash303mc a dit : les modérateurs je ce voient pas entre eux Ils ont la permissions que tu as mises au moins ?
Flash303mc Posté(e) le 14 décembre 2021 Auteur Posté(e) le 14 décembre 2021 Le 11/12/2021 à 16:07, Shykuzo a dit : Ils ont la permissions que tu as mises au moins ? oui je suis op avec les 2 compte
Shykuzo Posté(e) le 15 décembre 2021 Posté(e) le 15 décembre 2021 Il y a 11 heures, Flash303mc a dit : oui je suis op avec les 2 compte Bizarre, c'est censé fonctionné, j'avais fais sa sur un de mes serveurs ... Alors, essaie sa : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" add player to {VanishedPlayers::*} hide player from all players loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value from loop-player # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player # Si cela se produit, a part néttoyé la variable, il n'y a rien a faire :/ reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop
Flash303mc Posté(e) le 15 décembre 2021 Auteur Posté(e) le 15 décembre 2021 Il y a 7 heures, Shykuzo a dit : Bizarre, c'est censé fonctionné, j'avais fais sa sur un de mes serveurs ... Alors, essaie sa : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" add player to {VanishedPlayers::*} hide player from all players loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value from loop-player # Ou : reveal loop-value-1 from loop-value-2 stop else: delete {Vanish::%player%} if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player # Si cela se produit, a part néttoyé la variable, il n'y a rien a faire :/ reveal player from all players stop else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop A chaque foi j'ai l'érreure send "&4Une erreur est survenue lors de votre réapparition ..." to player
Shykuzo Posté(e) le 16 décembre 2021 Posté(e) le 16 décembre 2021 Il y a 20 heures, Flash303mc a dit : A chaque foi j'ai l'érreure send "&4Une erreur est survenue lors de votre réapparition ..." to player Bizarre ...
LeCraftDeOuf Posté(e) le 16 décembre 2021 Posté(e) le 16 décembre 2021 Le 15/12/2021 à 15:45, Flash303mc a dit : A chaque foi j'ai l'érreure send "&4Une erreur est survenue lors de votre réapparition ..." to player command /vanish: trigger: if player has permission "ta.permission": loop {player_Vanish::*}: loop-value is player set {_Already_Vanish} to true stop loop {_Already_Vanish} is true: reveal player from all players remove player from {player_Vanish::*} send "&cVanish OFF" else: add player to {player_Vanish::*} hide player from all players loop all players: if loop-player has permission "ta.permission": reveal player from loop-player send "&6Vanish ON" else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop Tien, un code propre et court, dis moi s'y sa ne fonctionne pas, j'ai tester en solo ^^ Sinon si tu veut garder celui du haut tien : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" add player to {VanishedPlayers::*} hide player from all players send "Vanish" loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-player stop else: send "Devanish" delete {Vanish::%player%} if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player reveal player from all players stop Les 2 sont fonctionnel 🙂 Mais le premier plus opti 😉 Good Night
Shykuzo Posté(e) le 17 décembre 2021 Posté(e) le 17 décembre 2021 (modifié) Il y a 10 heures, LeCraftDeOuf a dit : command /vanish: trigger: if player has permission "ta.permission": loop {player_Vanish::*}: loop-value is player set {_Already_Vanish} to true stop loop {_Already_Vanish} is true: reveal player from all players remove player from {player_Vanish::*} send "&cVanish OFF" else: add player to {player_Vanish::*} hide player from all players loop all players: if loop-player has permission "ta.permission": reveal player from loop-player send "&6Vanish ON" else: send "&4Erreur: &cVos permissions sont insuffisantes !" to player stop Tien, un code propre et court, dis moi s'y sa ne fonctionne pas, j'ai tester en solo ^^ Sinon si tu veut garder celui du haut tien : command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" add player to {VanishedPlayers::*} hide player from all players send "Vanish" loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-player stop else: send "Devanish" delete {Vanish::%player%} if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player reveal player from all players stop Les 2 sont fonctionnel 🙂 Mais le premier plus opti 😉 Good Night Déjà, dans ton code, il y a un soucis, la variable {_Already_Vanish} n'est jamais supprimée donc, est en permanence sur "true" et redéfinie à chaque fois sur cette même valeur et en plus, il est pas hyper optimisé d'utiliser un boolean dans une variable ... Mon code n'est peut-être pas le plus optimisé mais il est complet et fonctionne en temps normal car c'est le code que j'utilise lorsque j'essaie de faire la même chose. J'aimerais juste préciser que ton code fais exactement le même chose que le mien, juste, la façon de faire qu'est différente. Juste pour terminer, je trouve ton code vachement étrange, j'ai pris du temps à comprendre son fonctionnement et pourtant, ça fait longtemps que je Skript, s'el est débutant, ça risque de ne pas l'aider d'avoir un code aussi "compliqué" 😕 Le 15/12/2021 à 15:45, Flash303mc a dit : A chaque foi j'ai l'érreure send "&4Une erreur est survenue lors de votre réapparition ..." to player Finalement, je pense que ce n'est rien, j'ai regardé mon code et je pense juste que comme il y a pas de "stop", il t'affiches ce message, tu peux remplacé : if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player Par : if {VanishedPlayers::*} doesn't contain player: send "&4Une erreur est survenue lors de votre réapparition ..." to player else: remove player from {VanishedPlayers::*} Ou alors, tu peux carrément supprimer la condition et juste garder le "remove player from {VanishedPlayers::*}" 🙂 Au passage, ce bout de code là : loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-player Peut encore être un peu optimisé, voici : loop all players: if {VanishedPlayers::*} contain loop-player: reveal loop-player from {VanishedPlayers::*} Voilà, ça devrait fonctionner. Modifié le 17 décembre 2021 par Shykuzo
LeCraftDeOuf Posté(e) le 17 décembre 2021 Posté(e) le 17 décembre 2021 Il y a 8 heures, Shykuzo a dit : Déjà, dans ton code, il y a un soucis, la variable {_Already_Vanish} n'est jamais supprimée donc, est en permanence sur "true" et redéfinie à chaque fois sur cette même valeur et en plus, il est pas hyper optimisé d'utiliser un boolean dans une variable ... Mon code n'est peut-être pas le plus optimisé mais il est complet et fonctionne en temps normal car c'est le code que j'utilise lorsque j'essaie de faire la même chose. J'aimerais juste préciser que ton code fais exactement le même chose que le mien, juste, la façon de faire qu'est différente. Juste pour terminer, je trouve ton code vachement étrange, j'ai pris du temps à comprendre son fonctionnement et pourtant, ça fait longtemps que je Skript, s'el est débutant, ça risque de ne pas l'aider d'avoir un code aussi "compliqué" 😕 Finalement, je pense que ce n'est rien, j'ai regardé mon code et je pense juste que comme il y a pas de "stop", il t'affiches ce message, tu peux remplacé : if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player Par : if {VanishedPlayers::*} doesn't contain player: send "&4Une erreur est survenue lors de votre réapparition ..." to player else: remove player from {VanishedPlayers::*} Ou alors, tu peux carrément supprimer la condition et juste garder le "remove player from {VanishedPlayers::*}" 🙂 Au passage, ce bout de code là : loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-player Peut encore être un peu optimisé, voici : loop all players: if {VanishedPlayers::*} contain loop-player: reveal loop-player from {VanishedPlayers::*} Voilà, ça devrait fonctionner. Euh, bah enfaite {_Already_Vanish} est une variables temporaire donc j'ai pas besoin de la clear h24 ^^ Mais bon. Après, je trouve pas mon code si compliquer que sa, y a juste un if et un else... Sa fais bientôt 5 ans que je développe skript, mon code contient uniquement une seule variable liste qui elle même contient uniquement des simples pseudo de joueurs en vanish, je vois pas comment faire plus optimiser que sa ^^ Si tu as du mal avec le code voici le code avec quelques amélioration et avec des commentaire : option: Permission: ta.permission Permission_Message: &4Erreur: &cVos permissions sont insuffisantes ! Vanish_On: &6Vanish ON Vanish_Off: &cVanish OFF command /vanish: #Création de la commande permission: {@Permission} #Permission que le joueur doit avoir. permission message: {@Permission_Message} #Message si le joueur n'a pas la permission. trigger: loop {player_Vanish::*}: #Loop de tous les joueurs en vanish. loop-value is player #On vérifie si le joueur est dans la liste des vanish. set {_Already_Vanish} to true #Si oui, ont met une variable temporaire sur "true". stop loop #Ont stop le loop parceque ont a pas besoin d'allez plus loin. #Quand le loop est fini, ont regarde... {_Already_Vanish} is true: #SI la variable temporaire a été défini sur "true". reveal player from all players #Si oui, le joueur est en vanish. Donc ont le remet visible pour tous le monde. remove player from {player_Vanish::*} #Ont retire le joueur de la liste des vanish. send "{@Vanish_Off}" #Je pense que tu sais se que c'est un send. else: #SI la variable temporaire n'est pas défini sur "true" cela veut dire que le joueur n'est pas dans la liste des vanish. add player to {player_Vanish::*} #Ont ajoute le joueur a la liste des vanish. hide player from all players #Ont rend invisible le joueur pour tous le monde. loop all players: #Ont loop tous les joueurs du serveur. if loop-player has permission "{@Permission}": #Ont check si le loop-player a la permission "{@Permission}". reveal player from loop-player #Ont rend le joueur visible au joueurs ayant la permission "{@Permission}" send "{@Vanish_On}" #Je pense que tu sais se que c'est un send.
Shykuzo Posté(e) le 17 décembre 2021 Posté(e) le 17 décembre 2021 Il y a 3 heures, LeCraftDeOuf a dit : Euh, bah enfaite {_Already_Vanish} est une variables temporaire donc j'ai pas besoin de la clear h24 ^^ Mais bon. Après, je trouve pas mon code si compliquer que sa, y a juste un if et un else... Sa fais bientôt 5 ans que je développe skript, mon code contient uniquement une seule variable liste qui elle même contient uniquement des simples pseudo de joueurs en vanish, je vois pas comment faire plus optimiser que sa ^^ Si tu as du mal avec le code voici le code avec quelques amélioration et avec des commentaire : option: Permission: ta.permission Permission_Message: &4Erreur: &cVos permissions sont insuffisantes ! Vanish_On: &6Vanish ON Vanish_Off: &cVanish OFF command /vanish: #Création de la commande permission: {@Permission} #Permission que le joueur doit avoir. permission message: {@Permission_Message} #Message si le joueur n'a pas la permission. trigger: loop {player_Vanish::*}: #Loop de tous les joueurs en vanish. loop-value is player #On vérifie si le joueur est dans la liste des vanish. set {_Already_Vanish} to true #Si oui, ont met une variable temporaire sur "true". stop loop #Ont stop le loop parceque ont a pas besoin d'allez plus loin. #Quand le loop est fini, ont regarde... {_Already_Vanish} is true: #SI la variable temporaire a été défini sur "true". reveal player from all players #Si oui, le joueur est en vanish. Donc ont le remet visible pour tous le monde. remove player from {player_Vanish::*} #Ont retire le joueur de la liste des vanish. send "{@Vanish_Off}" #Je pense que tu sais se que c'est un send. else: #SI la variable temporaire n'est pas défini sur "true" cela veut dire que le joueur n'est pas dans la liste des vanish. add player to {player_Vanish::*} #Ont ajoute le joueur a la liste des vanish. hide player from all players #Ont rend invisible le joueur pour tous le monde. loop all players: #Ont loop tous les joueurs du serveur. if loop-player has permission "{@Permission}": #Ont check si le loop-player a la permission "{@Permission}". reveal player from loop-player #Ont rend le joueur visible au joueurs ayant la permission "{@Permission}" send "{@Vanish_On}" #Je pense que tu sais se que c'est un send. Moi, ça va, je l'ai compris le code, c'est juste inhabituel pour moi de voir un code comme sa. Pour la variable, effectivement, j'avais pas fais gaffe. Pour l'optimisation, je sais que j'ai encore beaucoup à voir cependant, je n'ai aucune idée de ce que je peux faire de plus dans mon code, il y a rien de pas très optimisé dedans, surtout que j'ai corrigé la double boucle et à part les boucles, il n'y a rien de pas optimisé.
Flash303mc Posté(e) le 18 décembre 2021 Auteur Posté(e) le 18 décembre 2021 Le 17/12/2021 à 09:07, Shykuzo a dit : Déjà, dans ton code, il y a un soucis, la variable {_Already_Vanish} n'est jamais supprimée donc, est en permanence sur "true" et redéfinie à chaque fois sur cette même valeur et en plus, il est pas hyper optimisé d'utiliser un boolean dans une variable ... Mon code n'est peut-être pas le plus optimisé mais il est complet et fonctionne en temps normal car c'est le code que j'utilise lorsque j'essaie de faire la même chose. J'aimerais juste préciser que ton code fais exactement le même chose que le mien, juste, la façon de faire qu'est différente. Juste pour terminer, je trouve ton code vachement étrange, j'ai pris du temps à comprendre son fonctionnement et pourtant, ça fait longtemps que je Skript, s'el est débutant, ça risque de ne pas l'aider d'avoir un code aussi "compliqué" 😕 Finalement, je pense que ce n'est rien, j'ai regardé mon code et je pense juste que comme il y a pas de "stop", il t'affiches ce message, tu peux remplacé : if {VanishedPlayers::*} contain player: remove player from {VanishedPlayers::*} else: send "&4Une erreur est survenue lors de votre réapparition ..." to player Par : if {VanishedPlayers::*} doesn't contain player: send "&4Une erreur est survenue lors de votre réapparition ..." to player else: remove player from {VanishedPlayers::*} Ou alors, tu peux carrément supprimer la condition et juste garder le "remove player from {VanishedPlayers::*}" 🙂 Au passage, ce bout de code là : loop {VanishedPlayers::*}: loop all players: if loop-player has permission "ta.permission": reveal loop-value-1 from loop-player Peut encore être un peu optimisé, voici : loop all players: if {VanishedPlayers::*} contain loop-player: reveal loop-player from {VanishedPlayers::*} Voilà, ça devrait fonctionner. Toujours pas ... les modos ne ce voient toujours pas en vanish...
LeCraftDeOuf Posté(e) le 18 décembre 2021 Posté(e) le 18 décembre 2021 Il y a 5 heures, Flash303mc a dit : Toujours pas ... les modos ne ce voient toujours pas en vanish... Quelle code a tu utiliser ? Peut tu faire voir les permissions des utilisateurs qui test ? Pas d'erreurs dans la console ? Dans le /sk reload rien d'anormal?
Flash303mc Posté(e) le 19 décembre 2021 Auteur Posté(e) le 19 décembre 2021 Il y a 9 heures, LeCraftDeOuf a dit : Quelle code a tu utiliser ? Peut tu faire voir les permissions des utilisateurs qui test ? Pas d'erreurs dans la console ? Dans le /sk reload rien d'anormal? Celui de shykuzo et les 2 joueurs son op 0 erreurs
LeCraftDeOuf Posté(e) le 19 décembre 2021 Posté(e) le 19 décembre 2021 Il y a 4 heures, Flash303mc a dit : Celui de shykuzo et les 2 joueurs son op 0 erreurs command /vanish: trigger: if player has permission "ta.permission": if {Vanish::%player%} is not set: set {Vanish::%player%} to "true" add player to {VanishedPlayers::*} hide player from all players send "Vanish" loop all players: if loop-player has permission "ta.permission": reveal player from loop-player stop else: send "Devanish" delete {Vanish::%player%} if {VanishedPlayers::*} doesn't contain player: send "&4Une erreur est survenue lors de votre réapparition ..." to player else: remove player from {VanishedPlayers::*} reveal player from all players stop Tu peut essayer ceci 😉 Sa devrai allez
Joriis Posté(e) le 4 mars 2022 Posté(e) le 4 mars 2022 Le sujet a été résolu. Il a donc été verrouillé. Cordialement, l'équipe.
Messages recommandés