Aller au contenu

[Chat] Skript pour mettre en couleurs les membres du staff


Messages recommandés

Posté(e)

Version de minecraft : 1.12

Version du plugin skript : 2.2

 

Type du skript : Skript pour le chat

 

Description du script :

Bonjour à tous !

Je souhaiterais un skript qui mettrait en couleur les noms du staff écrit dans le chat.

J'ai déjà ce skript là :

 

on chat:
   if message contains "pseudo":
       replace "pseudo" with "&6pseudo&f" in the message

 

Sauf qu'il faudrait changer à chaque rank/derank d'un membre du staff. J'aimerais donc associer une couleur par grade. Par exemple, quand un joueur appelle un modérateur dans le tchat, son pseudo (celui du modérateur) est mis en couleur. Pour ça je peux ajouter une permission si besoin ou sinon le prefix correspond à [Modérateur].

 

Merci d'avance !

Posté(e)

Bonsoir, j'ai fais un rapide code pour toi ! Voici.

 

Tu peut choisir quelle couleurs mettre directement dans les options ! : Pour la couleur du staff dans le tchat.

 

options:
   ColoredOfDisplaynameStaff: &6

on chat:
   loop {ListOfTheStaff::*}:
       if "%message%" contains "%loop-value%":
           replace "%loop-value%" with "{@ColoredOfDisplaynameStaff}%loop-value%&r" in message

command /Staff [<text>] [<player>]:
   permission: Staff
   permission message: Permission message.
   trigger:
       if arg 1 is "add":
           if arg 2 is set:
               loop {ListOfTheStaff::*}:
                   if loop-value is arg 2:
                       set {_T.%player%} to true
               if {_T.%player%} is true:
                   send "%arg 2% est déjà inscrit en tant que staff."
                   stop
               else:
                   add arg 2 to {ListOfTheStaff::*}
                   send "%arg 2% viens d'être ajouté parmis les staffs."
                   stop
           else:
               send "&7/staff add <player>"
               stop
       else if arg 1 is "remove":
           if arg 2 is set:
               loop {ListOfTheStaff::*}:
                   if loop-value is arg 2:
                       set {_T.%player%} to true
               if {_T.%player%} is true:
                   remove arg 2 from {ListOfTheStaff::*}
                   send "%arg 2% à étais retirer des staffs."
                   stop
               else:
                   send "%arg 2% ne fais pas partie des staffs."
                   stop
           else:
               send "&7/staff remove <player>"
               stop
       else if arg 1 is "list":
           send "La listes des staffs :"
           if {ListOfTheStaff::*} is set:
               loop {ListOfTheStaff::*}:
                   send "&8-> &7%loop-value% &8<-"
           else:
               send "&7Aucun"
           stop   
       else:
           send "/staff <add|remove> <player>"
           send "/staff list"

  • J'aime 1
Posté(e)

Merci beaucoup pour ta réponse mais cela veut dire que je dois rajouter et enlever les membres du staff à chaque rank/derank non ?

N'y aurait-il pas moyen de faire en sorte que ce soit actif pour les modos, guides,... Grâce à une perm ou leur prefix ? Comme ça dès qu'un joueur est rank il a directement son pseudo écrit en couleur dans le tchat.

 

Merci encore quand même !

Posté(e)

Est-ce que cela ne suffirait-il pas ?

on chat:
   loop all players:
       if message contains "%loop-player%":
           set {grade.%loop-player%} to colored loop-player's prefix
           replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%" in the message

  • J'aime 1
Posté(e)
Est-ce que cela ne suffirait-il pas ?

on chat:
   loop all players:
       if message contains "%loop-player%":
           set {grade.%loop-player%} to colored loop-player's prefix
           replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%" in the message

La même si tu cite un joueur simple sa marchera

  • J'aime 1
Posté(e) (modifié)

Ben il suffit de rajouter une ligne qui vérifie que ce n'est pas le grade Joueur ou autre...

on chat:
   loop all players:
       if message contains "%loop-player%":
           set {grade.%loop-player%} to colored loop-player's prefix
           if {grade.%loop-player%} is "&bJoueur" or "&aUnGradePasDuStaff": #Remplace ce qu'il y a entre "" par les grades avec les bonnes couleurs qui ne doivent pas être cités
               stop
           else:
               replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%&r" in the message # ne pas oublier le &r pour pas avoir de la couleur dans tout le message ^^

Modifié par Onitsag
  • J'aime 1
Posté(e)
Ben il suffit de rajouter une ligne qui vérifie que ce n'est pas le grade Joueur ou autre...

on chat:
   loop all players:
       if message contains "%loop-player%":
           set {grade.%loop-player%} to colored loop-player's prefix
           if {grade.%loop-player%} is "&bJoueur" or "&aUnGradePasDuStaff":
               stop
           else:
               replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%" in the message

 

Merci pour ta réponse, je vais tester ça demain ;) Qu'en pense-tu @LeCraftDeOuf ?

Posté(e)

J'ai testé le code, pour moi aucun problème, j'ai modifié un p'tit truc donc voila:

on chat:
   loop all players:
       if message contains "%loop-player%":
           set {grade.%loop-player%} to colored loop-player's prefix
           if {grade.%loop-player%} isn't "&9Joueur &3➤ &9": #Remplace ce qu'il y a entre "" par les grades avec les bonnes couleurs qui ne doivent pas être cités
               replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%&r" in the message

https://image.noelshack.com/fichiers/2018/19/3/1525817357-2018-05-09-00-07-41.png

  • J'aime 1
Posté(e)

Essaye sa :

options:
   ColoredOfDisplaynameStaff: &6
   permission: Staff

on chat:
   loop all players:
       "%message%" contains "%loop-player%"
       if loop-player has permission "{@permission}":
           replace "%loop-player%" with "{@ColoredOfDisplaynameStaff}%loop-player%&r" in message

Sa devrai fonctionner, j'ai pas pu tester je dev 2000000000 choses à la fois là :p

  • J'aime 1
Posté(e)

Bonjour @Valentyn72

 

Si c'est bon, passe en résolue.

 

Pour ce qui est de l'erreur essaye ceci :

 

on chat:
   loop all players:
       message contains "%loop-player%"
       set {grade.%loop-player%} to colored prefix of loop-player
       {grade.%loop-player%} isn't "&9Joueur &3➤ &9"
       replace "%loop-player%" with "%{grade.%loop-player%}%%loop-player%&r" in the message

  • J'aime 1
Posté(e) (modifié)

Ah aussi, si un modo se mets en /vanish avec essentials, c'est possible d'enlever la couleur ? Voilà le code adapté pour mon serveur :

options:
   ColoredOfDisplaynameStaff: &c
   permission: couleurmodo

on chat:
   loop all players:
       "%message%" contains "%loop-player%"
       if loop-player has permission "{@permission}":
           replace "%loop-player%" with "{@ColoredOfDisplaynameStaff}%loop-player%&r" in message

Modifié par Invité
Posté(e) (modifié)
Ah aussi, si un modo se mets en /vanish avec essentials, c'est possible d'enlever la couleur ? Voilà le code adapté pour mon serveur :

options:
   ColoredOfDisplaynameStaff: &c
   permission: couleurmodo

on chat:
   loop all players:
       "%message%" contains "%loop-player%"
       if loop-player has permission "{@permission}":
           replace "%loop-player%" with "{@ColoredOfDisplaynameStaff}%loop-player%&r" in message

Jessaye de te faire sa

 

options:
   ColoredOfDisplaynameStaff: &c
   permission: couleurmodo

on chat:
   loop all players:
       "%message%" contains "%loop-player%"
       if loop-player has permission "{@permission}":
           loop all active potions on loop-player:
               if loop-value-2 is "INVISIBILITY 1":
                   stop
           replace "%loop-player%" with "{@ColoredOfDisplaynameStaff}%loop-player%&r" in message                

Modifié par LeCraftDeOuf
  • J'aime 1
Posté(e)
Jessaye de te faire sa

 

options:
   ColoredOfDisplaynameStaff: &c
   permission: couleurmodo

on chat:
   loop all players:
       "%message%" contains "%loop-player%"
       if loop-player has permission "{@permission}":
           loop all active potions on loop-player:
               if loop-value-2 is "INVISIBILITY 1":
                   stop
           replace "%loop-player%" with "{@ColoredOfDisplaynameStaff}%loop-player%&r" in message                

 

Merci, j'ai juste une erreur : http://prntscr.com/jfmu8e

Posté(e) (modifié)

Alors j'ai essayé avec for @kimidu1609 voici ce que cela me dit : https://prnt.sc/jginn5

loop all active potions for loop-player:

J'ai aussi essayé avec des %% @LeCraftDeOuf et ça me mets ça : https://prnt.sc/jgisyj

loop all active potions for %loop-player%:

 

Message Fusionné

 

Je ne sais pas comment faire mais si on rajoute la condition :

Si loop-player a l'effet invisibilité
        cancel event

Est-ce que ça pourrait marcher ?

Modifié par Rush2Fer
Posté(e)
Je ne sais pas comment faire mais si on rajoute la condition :

Si loop-player a l'effet invisibilité
        cancel event

Est-ce que ça pourrait marcher ?

En anglais ce serait mieux « If loop-player has invisibility effect » ? Je ne crois que ça existe

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.