Aller au contenu
  • 0

Anti-Insultes


Question

Posté(e)

Bonjour,

Pourquoi ce code ne marche t-il pas ?

on chat:
   loop {insultes::*}:
       if message contains loop-value:
           loop all players:
               if loop-value-2 has permission "MODO":
                   send "%player% said %loop-value-1% !" to loop-value-2

7 réponses à cette question

Messages recommandés

  • 0
Posté(e)

wtf mec je vais te traduir ton skript, faut te relire :

 

Dans le chat:
   dans toutes les values de la liste {insultes::*}:
       si le message contient toutes les values:
           Parmis tout les joueurs:
               Si ?? ont la permissions "MODO":
                   envoi au joueur "%player% dit ?? !" à ??

 

revoie ton loop-value-2 car il ne s'agit pas de toutes les values. Il faut que tu dise :

 

Parmis toutes les values de  ma liste
   Si le message du joueur contient une des value de la liste {insultes::*}
       si ?? a la permission "MODO"...

 

Tout les "??" sont des choses que je ne comprend pas, des choses que tu as voulu faire mais qui n'a aucune logique et qui ne veulent rien dire. Donc revoie les aussi.

 

Dernière chose : fait des recherches approfondis avant de poser une queston stp. Là en loccurance, tu aurais pu t'aider de skript déjà créer pour résoudre ton problème (https://skript-mc.fr/forum/resources/categories/gestion-de-chat.5/)

 

Espérant n'avoir pas trop été méchant et espérant t'avoir aidé

  • 0
Posté(e)

C'est toi qui comprends pas @AlexLew, c'est tout à fait cohérent ce qu'il a fait huh. Il envoie un message à tous les modérateurs quand un joueur poste une insulte.

 

Quand X poste un message :
   Pour chaque mot de la liste des insultes:
       Si le message de X contient le mot :
           Pour chaque joueur :
               Si celui-ci a la permission "MODO":
                   envoyer "X a dit *le mot* !" au fameux joueur qui a la permission

 

@Azer_Flaash, faut vraiment que tu revoies tes demandes, parce que c'est pas une explication ça.

  • 0
Posté(e)

J'ai mieux comrpris ce que tu demandais.

Bon, essaye de cette manière, si ca fonctionne pas, dit le moi et je chercherais demain.

 

on chat:
   loop {insultes::*}:
       if message contains loop-value:
       loop all players:
           if loop-player has permission "MODO":
               send "%player% said %loop-value% !" to loop-player

  • 0
Posté(e)

Ca ne marche pas, pourquoi ?

Dans le code

on chat:
   loop {insultes::*}:
       if message contains loop-value:
           loop all players:
               if loop-player has permission "MODO":
                   send "%player% said %loop-value% !" to loop-player

à la ligne " send "%player...... %loop-value%

Skript ne peux pas savoir de quelle loop tu parle vu qu'il y en a plusieurs, voila l'utilité de mettre "loop-value-2"

(Voici le message d'erreur de skript : There are multiple loop that match loop-value. Use loop-value-1/2/3 ect. to specify wich loop's value you want. )

Le problème c'est que même en rajoutant le bon loop-value-1, en postant un message dans le chat rien ne se passe

on chat:
   loop {insultes::*}:
       if message contains loop-value:
           loop all players:
               if loop-player has permission "MODO":
                   send "%player% said %loop-value-1% !" to loop-player

 

Peut-être que ça vient de moi :/ Si non j'aurai besoins d'aide ^^

  • 0
Posté(e)

on chat:
   loop {insultes::*}:
       if message contains loop-value:
           cancel event
           send "Insultes interdites !!!" to player
           loop all players:
               if loop-player has permission "MODO":
                   send "%player% said %loop-value-1% !" to loop-player
                   stop
           stop
       stop

 

Il manque le cancel event :)

  • 0
Posté(e)

Malheuresement, ça ne marche pas non plus, la seul façon de le faire est :

on chat:
   if message contains "insulte1", "insulte2", "insulte3" or "insulte4":
       cancel event
       send "&c&l[Anti-Insultes] &cIl est interdit de dire des insultes ! (&b%message%&c)" to player
       loop all players:
           if loop-player has permission "MODO":
               send "&c&l[Anti-Insultes] &9%player% &cà dit l'insulte &c'&b%message%&c' !" to loop-player
               stop

  • 0
Posté(e)

Plus opti :

 

chat:
   loop {insultes::*}:
       message contains loop-value
       {_yes} is not true
       set {_yes} to true
   {_yes} is true
   cancel event
   loop players:
       loop-player has permission "your.permission"
       send "Your message !" to loop-player

×
×
  • 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.