Aller au contenu
  • 0

[Chat] Problème de loop.


Question

Posté(e) (modifié)

Sujet :

Version de minecraft / skript : 1.11.2 / Skript 2.2 Dev29

Type du skript :

[Chat] Problème de loop.

Description du script :

Bonjours à tous, j'ai besoin de votre aide.

Je souhaite faire un systeme lorsque quelqu'un écrit une insulte, j'aimerais que son message soit cancel event et qu'une alerte soit donnée au staff. Voici mon code:

on chat:
   set {_ss::*} to message split at " "
   loop {_ss::*}:
       loop {insultess::*} and {2insultess::*}:
           if loop-value-1 is loop-value-2:
               cancel event
               loop all players:
                   if {grade.MembreStaff.%loop-player%} is true:
                       send "&8&l----------" to loop-player
                       send "{@logos} &4Alerte Modération !" to loop-player
                       send "&8» &a%player% &6utilise un mauvais vocabulaire." to loop-player
                       send "&8» &8(&cMessage contient: &4%message%&8)" to loop-player
                       json("%loop-player%","&8» &2Cliquez pour mute le joueur.||ttp:&4Mute de 1 heure !||cmd:/tempmute %player% 1h Mauvais vocabulaire: (%message%)")
                       send "&8&l----------" to loop-player   
                       stop             
                   else:
                       stop

Le cancel event s'effectue bien.

Dans la variable {insultess::*} and {2insultess::*} il y'a des insultes ^^

Les joueurs du staff possède la variable {grade.MembreStaff.%player%}

Et sachez que j'ai essayé avec les permission= même problème qui est:

Si je suis seul et quand leur le joueur insulte je reçois l'alerte mais une fois que quelq'un d'autre vient sur le serv plus d'alerte quand quelqu'un insulte (même insulte). j'ai essayé avec une variable list, en passant par une autre commande mais rien ne marche je sais juste que ça vient pas du dernier loop (Loop all players) car j'ai cette commande test:

command /testchat:
   trigger:
       if player is op:
           loop all players:
               if loop-player has permission "staff.staff":
                   send "&8&l----------" to loop-player
                   send "{@logos} &4Alerte Modération !" to loop-player
                   send "&8» &aTest1 &6utilise un mauvais vocabulaire." to loop-player
                   send "&8» &8(&4TestCouillon&8)" to loop-player
                   json("%loop-player%","&8» &2Cliquez pour mute le joueur.||ttp:&4Mute de 1 heure ! ||sgt:C'est un test petit malin.")
                   send "&8&l----------" to loop-player

Et l'alerte d'effectue parfaitement.

 

Merci de votre aide et bonne journée.

Modifié par Invité

4 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Sujet :

Version de minecraft / skript : 1.11.2 / Skript 2.2 Dev29

Type du skript :

[Chat] Problème de loop.

Description du script :

Bonjours à tous, j'ai besoin de votre aide.

Je souhaite faire un systeme lorsque quelqu'un écrit une insulte, j'aimerais que son message soit cancel event et qu'une alerte soit donnée au staff. Voici mon code:

on chat:
   set {_ss::*} to message split at " "
   loop {_ss::*}:
       loop {insultess::*} and {2insultess::*}:
           if loop-value-1 is loop-value-2:
               cancel event
               loop all players:
                   if {grade.MembreStaff.%loop-player%} is true:
                       send "&8&l----------" to loop-player
                       send "{@logos} &4Alerte Modération !" to loop-player
                       send "&8» &a%player% &6utilise un mauvais vocabulaire." to loop-player
                       send "&8» &8(&cMessage contient: &4%message%&8)" to loop-player
                       json("%loop-player%","&8» &2Cliquez pour mute le joueur.||ttp:&4Mute de 1 heure !||cmd:/tempmute %player% 1h Mauvais vocabulaire: (%message%)")
                       send "&8&l----------" to loop-player  
                       stop            
                   else:
                       stop

Le cancel event s'effectue bien.

Dans la variable {insultess::*} and {2insultess::*} il y'a des insultes ^^

Les joueurs du staff possède la variable {grade.MembreStaff.%player%}

Et sachez que j'ai essayé avec les permission= même problème qui est:

Si je suis seul et quand leur le joueur insulte je reçois l'alerte mais une fois que quelq'un d'autre vient sur le serv plus d'alerte quand quelqu'un insulte (même insulte). j'ai essayé avec une variable list, en passant par une autre commande mais rien ne marche je sais juste que ça vient pas du dernier loop (Loop all players) car j'ai cette commande test:

command /testchat:
   trigger:
       if player is op:
           loop all players:
               if loop-player has permission "staff.staff":
                   send "&8&l----------" to loop-player
                   send "{@logos} &4Alerte Modération !" to loop-player
                   send "&8» &aTest1 &6utilise un mauvais vocabulaire." to loop-player
                   send "&8» &8(&4TestCouillon&8)" to loop-player
                   json("%loop-player%","&8» &2Cliquez pour mute le joueur.||ttp:&4Mute de 1 heure ! ||sgt:C'est un test petit malin.")
                   send "&8&l----------" to loop-player

Et l'alerte d'effectue parfaitement.

 

Merci de votre aide et bonne journée.

Le deuxième joueur à t'il aussi la permission ?

  • 0
Posté(e) (modifié)
Le deuxième joueur à t'il aussi la permission ?

Nan ^^ Si il a la permission il peut envoyer n'importe quel message sans controle (pas mis dans le code dsl)

Modifié par Invité
  • 0
Posté(e)
Nan ^^ Si il a la permission il peut envoyer n'importe quel message sans controle (pas mis dans le code dsl)

oK j'ai trouvé, c'est car quand tu vérifie si le joueur à la perm, si il ne l'a pas alors ç arréte ton skript (car tu as mis stop)

  • 0
Posté(e) (modifié)
oK j'ai trouvé, c'est car quand tu vérifie si le joueur à la perm, si il ne l'a pas alors ç arréte ton skript (car tu as mis stop)

ça ne change rien, en fait lorsque je reçoit l'alerte et que je deco, puis me reco, l'autre joueur a beau insulter je ne reçois plus rien.

EDIT: Merci @uiytt de m'avoir aider il faillait enlever juste le else: stop :p

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