Aller au contenu
Shykuzo

[Scoreboard] Créer un scoreboard (Auto-Actualisation + Clignote pas)

Qu'avez-vous pensé de ce tutoriel ?  

6 membres ont voté

  1. 1. Qu'avez-vous pensé de ce tutoriel ?

    • Excellent tutoriel !
      3
    • Bon Tutoriel !
      3
    • Mauvais Tutoriel !
      0
  2. 2. Connaissiez-vous cet add-on avant ce tutoriel ?

    • Oui
      3
    • J'en ai entendu parlé
      1
    • Non
      2
  3. 3. Seriez-vous intéressé par un tutoriel sur les fonctions ?

    • Oui
      3
    • Peut-être
      2
    • Non
      1


Messages recommandés

Posté : (modifié)

Tutoriel #1

Créer un scoreboard qui s'auto-actualise sans clignotement et qui ne cause pas de latence.

 

| Présentation

Ce tutoriel s'adresse surtout aux personnes débutant en Skript ainsi qu'à ceux qui utilise encore SkRayFall pour faire leurs Scoreboard.

Dans ce tutoriel, nous verrons comment utiliser l'add-on "SkBee" qui est, pour moi, l'un des meilleurs.

| Lien Utiles

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 - 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

| Tutoriel

En premier temps, je vais vous donner un exemple de code afin d'y avoir toutes les lignes utiles, après, nous décortiquerons chaque ligne afin de vous expliquer ce à quoi elles servent.

Citation

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Ça peut avoir l'air compliqué mais ne vous en faites pas, c'est simple comme bonjour !

 

Pour commencer, nous avons cette ligne :

Citation

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Le premier mot, "function", indique à Skript que ce qui suit est un fonction.

"DisplayScoreboard", c'est le nom de cette fonction, vous pouvez y mettre ce que vous voulez.

"User" et "World", ce sont des arguments, plus précisément, c'est le nom de nos argument, vous pouvez les nommé comme vous voulez.

"player" et "text", ce sont le type de ces arguments, "player" désignant un joueur et "text" un mot, une phrase, du texte en gros.

 

Ensuite, nous avons ces 2 lignes :

Citation

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

La première ligne dit à Skript de nettoyer le Scoreboard du joueur, c'est très utile lorsque que vous avez plusieurs Scoreboard sur votre serveur pour différent jeux.

La seconde ligne dit à Skript d'activer le Scoreboard du joueur, sans celle-ci, vous pouvez faire ce que vous voulez mais votre Scoreboard ne s'affichera pas.

 

Après, nous avons ce gros bloc de code :

Citation

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Le "if {_World} = "Lobby":", ce n'est qu'une condition ayant comme tâche de vérifier si la variable "{_World}" contient "Lobby", si la variable ne contient pas "Lobby", le code suivant cette condition ne s'effectuera pas.

Le "if scoreboard of {_User} is on:", c'est une autre condition ayant comme tâche de vérifier si le Scoreboard du joueur est activé, encore une fois, si ce n'est pas le cas, le code suivant ne s'effectuera pas.

Le "while {_User} is in world "Lobby":", c'est aussi une condition mais sous une autre forme, en gros, en traduisant mot-à-mot, ça veut dire "pendant que {_User} est dans le monde "Lobby"", ce qui veut dire que tant que le joueur contenu dans la variable "{_User}" est dans le monde "Lobby", le code qui suit sera effectué constamment, c'est une boucle mais infinie pas comme le "loop":

Le "set title of {_User}'s scoreboard to "&b&lScoreboard"", dit à Skript de mettre comme titre au Scoreboard "&b&lScoreboard", le titre, c'est ce qui est affiché tout en haut du Scoreboard.

Les autres lignes "set line (nombre) of {_User}'s scoreboard to "..."", elles servent juste à faire comme pour le titre, sauf que c'est pour chaque ligne du Scoreboard.

Le "wait 1 second", dit juste à Skript d'attendre 1 seconde avant de repasser dans la boucle, il est très important, cela ne sera à rien que votre Scoreboard s'actualise touts les ticks, cela ne fera que laguer votre serveur et sans cette ligne, votre Scoreboard s'actualisera tellement souvent que votre serveur crashera !

 

Pour finir, nous avons ces lignes :

Citation

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Rien de très compliqué, en gros, lorsque le joueur se connecte, on appelle la fonction "DisplayScoreboard" créer précédemment et on passe en argument, le joueur et le monde du joueur.

 

Voilà, c'était très simple n'est-ce pas ?

Ce tutoriel est désormais terminé, j'espère que celui-ci vous a plu, si c'est le cas, n'hésitez pas à laisser un petit commentaire et si vous avez un problème, de même, un petit commentaire et je vous aiderais si je le peux.

Modifié par Shykuzo

Partager ce message


Lien à poster
Partager sur d’autres sites

Le scoreboard clignote à chaque fois que la function se fait, enlevez le "clear {_User}'s scoreboard" dans la function et mettez le quand le joueur rejoint le serveur, puis votre scoreboard ne va pas clignoter.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 22 heures, Deglamby a dit :

Le scoreboard clignote à chaque fois que la function se fait, enlevez le "clear {_User}'s scoreboard" dans la function et mettez le quand le joueur rejoint le serveur, puis votre scoreboard ne va pas clignoter.

Bizarre, pour moi, cela ne clignote pas, ton serveur est à 20TPS contant ? Car sinon, cela ne vient pas du Skript mais du manque de puissance de ton serveur.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 53 minutes, crazynessie a dit :

 

erreurscript.png

Met "player's world" entre guillemets donc :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 22 heures, iGlacial a dit :

J'ai un problème quand j'update mon grade le scoreboard disparait 

Ça m'aide beaucoup '-'

Quel est ton code ?
As-tu une erreur ?
Utilises-tu un système de rang personnalisé ou un plugin ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 02/05/2022 à 19:34, Shykuzo a dit :

Ça m'aide beaucoup '-'

Quel est ton code ?
As-tu une erreur ?
Utilises-tu un système de rang personnalisé ou un plugin ?

function DisplayScoreboard(User: player, World: text😞
    clear {_User}'s scoreboard
    toggle scoreboard of {_User} on
 
    if {_World} = "World":
        if scoreboard of {_User} is on:
            while {_User} is in world "World":
                set title of {_User}'s scoreboard to "&b&lHyriaCraft"
                set line 13 of {_User}'s scoreboard to "&1 "
                set line 12 of {_User}'s scoreboard to "&d&lProfils"
                set line 11 of {_User}'s scoreboard to " &7Compte : %{_User}%"
                set line 10 of {_User}'s scoreboard to " &7Garde : %{grade.tab.%{_User}%}%"
                set line 9 of {_User}'s scoreboard to "&2 "
                set line 8 of {_User}'s scoreboard to "&d&lArgent"
                set line 7 of {_User}'s scoreboard to " &7Coins : &c%{coins::%{_User}%}% &d*"
                set line 6 of {_User}'s scoreboard to " &7Rumble : &c%{ultracoins.%{_User}%}% &b*"
                set line 5 of {_User}'s scoreboard to "&2   "
                set line 4 of {_User}'s scoreboard to "&d&lServeur"
                set line 3 of {_User}'s scoreboard to " &7Conecté &7: &f%amount of all players%"
                set line 2 of {_User}'s scoreboard to "&2   "
                set line 1 of {_User}'s scoreboard to "&e&lplay.hyriacraft.fr"
                wait 1 second
 
on join:
    DisplayScoreboard(player, "%player's world%")


0 Erreur rang personnalisé (skript)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 7 heures, iGlacial a dit :
function DisplayScoreboard(User: player, World: text😞
    clear {_User}'s scoreboard
    toggle scoreboard of {_User} on
 
    if {_World} = "World":
        if scoreboard of {_User} is on:
            while {_User} is in world "World":
                set title of {_User}'s scoreboard to "&b&lHyriaCraft"
                set line 13 of {_User}'s scoreboard to "&1 "
                set line 12 of {_User}'s scoreboard to "&d&lProfils"
                set line 11 of {_User}'s scoreboard to " &7Compte : %{_User}%"
                set line 10 of {_User}'s scoreboard to " &7Garde : %{grade.tab.%{_User}%}%"
                set line 9 of {_User}'s scoreboard to "&2 "
                set line 8 of {_User}'s scoreboard to "&d&lArgent"
                set line 7 of {_User}'s scoreboard to " &7Coins : &c%{coins::%{_User}%}% &d*"
                set line 6 of {_User}'s scoreboard to " &7Rumble : &c%{ultracoins.%{_User}%}% &b*"
                set line 5 of {_User}'s scoreboard to "&2   "
                set line 4 of {_User}'s scoreboard to "&d&lServeur"
                set line 3 of {_User}'s scoreboard to " &7Conecté &7: &f%amount of all players%"
                set line 2 of {_User}'s scoreboard to "&2   "
                set line 1 of {_User}'s scoreboard to "&e&lplay.hyriacraft.fr"
                wait 1 second
 
on join:
    DisplayScoreboard(player, "%player's world%")


0 Erreur rang personnalisé (skript)

Si le nom de ton rang est trop long, il se peut qu'il ne s'affiche pas, si ton problème vient de là, je ne peux absolument pas t'aider, il faudrait que tu réduises le nom de ton rang.
(Exemple : Administrateur -> Admin)

Désolé de ne pas pouvoir trop t'aider, ça fait un moment que j'ai pas touché à Skript et je n'ai plus fais de scoreboard depuis ce tutoriel 😕
Cependant, mise à part ce soucis de longueur du nom du rang, je ne connais aucun autre problème pouvant causer ça ...

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, Shykuzo a dit :

Si le nom de ton rang est trop long, il se peut qu'il ne s'affiche pas, si ton problème vient de là, je ne peux absolument pas t'aider, il faudrait que tu réduises le nom de ton rang.
(Exemple : Administrateur -> Admin)

Désolé de ne pas pouvoir trop t'aider, ça fait un moment que j'ai pas touché à Skript et je n'ai plus fais de scoreboard depuis ce tutoriel 😕
Cependant, mise à part ce soucis de longueur du nom du rang, je ne connais aucun autre problème pouvant causer ça ...

Ca ne marche toujours pas 😞 pas grave si ta 0 idée 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, Shykuzo a dit :

Si le nom de ton rang est trop long, il se peut qu'il ne s'affiche pas, si ton problème vient de là, je ne peux absolument pas t'aider, il faudrait que tu réduises le nom de ton rang.
(Exemple : Administrateur -> Admin)

Désolé de ne pas pouvoir trop t'aider, ça fait un moment que j'ai pas touché à Skript et je n'ai plus fais de scoreboard depuis ce tutoriel 😕
Cependant, mise à part ce soucis de longueur du nom du rang, je ne connais aucun autre problème pouvant causer ça ...

C'est ca mon code de grade 


 

options:
    prefix: &6Grade &8»
   
    GUI: ON#     OFF pour le désactiver /!\ NE PAS LAISSEZ D'ESPACE EN LE HASHTAG ET LE 'ON' OU LE 'OFF'
   
    perm: grade.use #Permission de la commande | Etre Opérateur du serveur suffit.
    permmsg: &cTu n'as pas la permission ! #message en cas ou le joueur n'aurai pas la permission.
   
    Lore: %nl%&7Clique &fGauche &7pour définir le grade de &e%arg 1% &7en# Description des items dans le GUI | Pour sautez des lignes dans la description (lore) utilisez ' || '
   
    Done: &6Grade &8» &7Vous êtes maintenant &e%arg 2% &7sur le serveur.
    Doneplayer: &6Grade &8» &7Vous avez défini le grade de &d%arg 1% &7en &e%arg 2%&7.
   
    usage: &fCommande &c&o/grade <Joueur> &7&o(<Grade> --> Si le GUI n'est pas activer.)


 
command /grade [<offlineplayer>] [<text>]:
    trigger:
        if executor is player:
            set {_arg} to arg 1
            if {grade.tab.%player%} is "&c&lFondateur&c&l" or "&cAdmin&c":
                if arg 1 is set:
                    if "{@GUI}" is "ON":
                        create a new gui with virtual chest inventory named "&7Grade &e%arg 1%" with 5 rows:
                            make gui slot 0 with light blue stained glass pane
 
                            make gui slot 11 with book named "&4&lFondateur" with lore "{@Lore} &4&lFondateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Fondateur"
                            make gui slot 12 with book named "&4Admin" with lore "{@Lore} &4Admin&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Admin"
                            make gui slot 13 with book named "&5Super Modérateur" with lore "{@Lore} &5Super Modérateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% SuperModerateur"
                            make gui slot 14 with book named "&9Modérateur" with lore "{@Lore} &9Modérateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Moderateur"
                            make gui slot 15 with book named "&2Helper" with lore "{@Lore} &2Helper&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Helper"
 
                            make gui slot 29 with book named "&6Youtubeur" with lore "{@Lore} &6Youtubeur&6.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Youtubeur "
                            make gui slot 30 with book named "&cLégende+" with lore "{@Lore} &cLégende+&c.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Legende+"
                            make gui slot 31 with book named "&aLégende" with lore "{@Lore} &aLégende&a.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Legende"
                            make gui slot 32 with book named "&bVIP+" with lore "{@Lore} &bVIP+&b.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% VIP+"
                            make gui slot 33 with book named "&eVIP" with lore "{@Lore} &eVIP&e.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% VIP"
                        open the last gui for the player
                        stop
                    if "{@GUI}" is "OFF":
                        if arg 2 is set:
                            make player execute command "/§pgrade %arg 1% %arg 2%"
                            stop
                        else:
                            message "{@usage}"
                            stop
                    else:
                        message "&cMauvaise configuration du Skript ! &eGUI doit être défini sur ON ou OFF."
                        stop
                else:
                    message "{@usage}"
                    stop
            else:
                message "&7Vous n'avez pas la permission"


 
command /§pgrade [<offlineplayer>] [<text>]:
    trigger:
        if arg 1 is set:
            if arg 2 is set:
                if arg 2 is "Fondateur":
                    set {grade.%arg 1%} to "Fondateur"
                    set {grade.tab.%arg 1%} to "&c&lFondateur&c&l"
                    make server execute command "/tag %arg 1% &c&lFondateur&c&l"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Admin":
                    set {grade.%arg 1%} to "Admin"
                    set {grade.tab.%arg 1%} to "&cAdmin&c"
                    make server execute command "/tag %arg 1% &cAdmin&c"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "SuperModerateur":
                    set {grade.%arg 1%} to "SuperModerateur"
                    set {grade.tab.%arg 1%} to "&6SuperMod&6"
                    make server execute command "/tag %arg 1% &6SuperMod&6"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Moderateur":
                    set {grade.%arg 1%} to "Moderateur"
                    set {grade.tab.%arg 1%} to "&9Mod&9"
                    make server execute command "/tag %arg 1% &9Mod&9"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Helper":
                    set {grade.%arg 1%} to "Helper"
                    set {grade.tab.%arg 1%} to "&2Helper&2"
                    make server execute command "/tag %arg 1% &2Helper&2"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
               
                if arg 2 is "Youtubeur":
                    set {grade.%arg 1%} to "Youtubeur"
                    set {grade.tab.%arg 1%} to "&6Youtubeur&6"
                    make server execute command "/tag %arg 1% &6Youtubeur&6"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Legende+":
                    set {grade.%arg 1%} to "Légende+"
                    set {grade.tab.%arg 1%} to "&cLégende+&c"
                    make server execute command "/tag %arg 1% &cLégende+&c"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Legende":
                    set {grade.%arg 1%} to "Légende"
                    set {grade.tab.%arg 1%} to "&aLégende&a"
                    make server execute command "/tag %arg 1% &aLégende&a"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "VIP+":
                    set {grade.%arg 1%} to "VIP+"
                    set {grade.tab.%arg 1%} to "&bVIP+&b"
                    make server execute command "/tag %arg 1% &bVIP+&b"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "VIP":
                    set {grade.%arg 1%} to "VIP"
                    set {grade.tab.%arg 1%} to "&eVIP&e"
                    make server execute command "/tag %arg 1% &eVIP&e"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Joueur":
                    set {grade.%arg 1%} to "Joueur"
                    set {grade.tab.%arg 1%} to "&7Joueur&7"
                    make server execute command "/tag %arg 1% &7Joueur&7"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                set arg 1 tab name to "%{grade.tab.%arg 1%}% %arg 1%"
                stop
            else:
                message "{@usage}"
                stop
        else:
            message "{@usage}"
on first join:
    make server execute command "/§pgrade %player% Joueur"
on join:
    if {grade.%player%} is set:
        set player tab name to "%{grade.tab.%player%}% %player%"
        stop



 
on first join:
    make server execute command "/tag %player% &7Joueur&7"
on join:
    if {nametag.%player%} is set:
        make server execute command "/tag %player% %{nametag.%player%}%"
        wait 1 tick
    else:
        send "%{nametag.%player%}% %player% &7a rejoind le serveurs !"
 
command /tag [<player>] [<text>] [<text>]:
    trigger:
        if arg 1 isn't set:
            send "&cTu dois choisir un joueur !" to player
            stop
        else:
            if arg 2 isn't set:
                send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1%" to player
                send "&3Suffix de %arg 1%: %getted suffix in tag of arg 1%" to player
                stop
            else:
                if arg 3 isn't set:
                    clear {nametag.%player%}
                    set {nametag.%player%} to arg 2
                    replace all "&" in {nametag.%player%} with "§"
                    modify the arg 1's tag to prefix "%{nametag.%player%}%" and suffix ""
                    hide arg 1 from player
                    send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1%"
                    reveal arg 1 to player
                    stop
                if arg 3 is set:
                    modify the arg 1's tag to prefix "%arg 2%" and suffix "%arg 3%"
                    send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1% &b/ &3Suffix de %arg 1%: %getted suffix in tag of arg 1%"
                    stop

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, iGlacial a dit :

C'est ca mon code de grade 


 

options:
    prefix: &6Grade &8»
   
    GUI: ON#     OFF pour le désactiver /!\ NE PAS LAISSEZ D'ESPACE EN LE HASHTAG ET LE 'ON' OU LE 'OFF'
   
    perm: grade.use #Permission de la commande | Etre Opérateur du serveur suffit.
    permmsg: &cTu n'as pas la permission ! #message en cas ou le joueur n'aurai pas la permission.
   
    Lore: %nl%&7Clique &fGauche &7pour définir le grade de &e%arg 1% &7en# Description des items dans le GUI | Pour sautez des lignes dans la description (lore) utilisez ' || '
   
    Done: &6Grade &8» &7Vous êtes maintenant &e%arg 2% &7sur le serveur.
    Doneplayer: &6Grade &8» &7Vous avez défini le grade de &d%arg 1% &7en &e%arg 2%&7.
   
    usage: &fCommande &c&o/grade <Joueur> &7&o(<Grade> --> Si le GUI n'est pas activer.)


 
command /grade [<offlineplayer>] [<text>]:
    trigger:
        if executor is player:
            set {_arg} to arg 1
            if {grade.tab.%player%} is "&c&lFondateur&c&l" or "&cAdmin&c":
                if arg 1 is set:
                    if "{@GUI}" is "ON":
                        create a new gui with virtual chest inventory named "&7Grade &e%arg 1%" with 5 rows:
                            make gui slot 0 with light blue stained glass pane
 
                            make gui slot 11 with book named "&4&lFondateur" with lore "{@Lore} &4&lFondateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Fondateur"
                            make gui slot 12 with book named "&4Admin" with lore "{@Lore} &4Admin&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Admin"
                            make gui slot 13 with book named "&5Super Modérateur" with lore "{@Lore} &5Super Modérateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% SuperModerateur"
                            make gui slot 14 with book named "&9Modérateur" with lore "{@Lore} &9Modérateur&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Moderateur"
                            make gui slot 15 with book named "&2Helper" with lore "{@Lore} &2Helper&7.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Helper"
 
                            make gui slot 29 with book named "&6Youtubeur" with lore "{@Lore} &6Youtubeur&6.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Youtubeur "
                            make gui slot 30 with book named "&cLégende+" with lore "{@Lore} &cLégende+&c.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Legende+"
                            make gui slot 31 with book named "&aLégende" with lore "{@Lore} &aLégende&a.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% Legende"
                            make gui slot 32 with book named "&bVIP+" with lore "{@Lore} &bVIP+&b.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% VIP+"
                            make gui slot 33 with book named "&eVIP" with lore "{@Lore} &eVIP&e.":
                                close player's inventory
                                make player execute command "/§pgrade %{_arg}% VIP"
                        open the last gui for the player
                        stop
                    if "{@GUI}" is "OFF":
                        if arg 2 is set:
                            make player execute command "/§pgrade %arg 1% %arg 2%"
                            stop
                        else:
                            message "{@usage}"
                            stop
                    else:
                        message "&cMauvaise configuration du Skript ! &eGUI doit être défini sur ON ou OFF."
                        stop
                else:
                    message "{@usage}"
                    stop
            else:
                message "&7Vous n'avez pas la permission"


 
command /§pgrade [<offlineplayer>] [<text>]:
    trigger:
        if arg 1 is set:
            if arg 2 is set:
                if arg 2 is "Fondateur":
                    set {grade.%arg 1%} to "Fondateur"
                    set {grade.tab.%arg 1%} to "&c&lFondateur&c&l"
                    make server execute command "/tag %arg 1% &c&lFondateur&c&l"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Admin":
                    set {grade.%arg 1%} to "Admin"
                    set {grade.tab.%arg 1%} to "&cAdmin&c"
                    make server execute command "/tag %arg 1% &cAdmin&c"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "SuperModerateur":
                    set {grade.%arg 1%} to "SuperModerateur"
                    set {grade.tab.%arg 1%} to "&6SuperMod&6"
                    make server execute command "/tag %arg 1% &6SuperMod&6"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Moderateur":
                    set {grade.%arg 1%} to "Moderateur"
                    set {grade.tab.%arg 1%} to "&9Mod&9"
                    make server execute command "/tag %arg 1% &9Mod&9"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Helper":
                    set {grade.%arg 1%} to "Helper"
                    set {grade.tab.%arg 1%} to "&2Helper&2"
                    make server execute command "/tag %arg 1% &2Helper&2"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
               
                if arg 2 is "Youtubeur":
                    set {grade.%arg 1%} to "Youtubeur"
                    set {grade.tab.%arg 1%} to "&6Youtubeur&6"
                    make server execute command "/tag %arg 1% &6Youtubeur&6"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Legende+":
                    set {grade.%arg 1%} to "Légende+"
                    set {grade.tab.%arg 1%} to "&cLégende+&c"
                    make server execute command "/tag %arg 1% &cLégende+&c"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Legende":
                    set {grade.%arg 1%} to "Légende"
                    set {grade.tab.%arg 1%} to "&aLégende&a"
                    make server execute command "/tag %arg 1% &aLégende&a"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "VIP+":
                    set {grade.%arg 1%} to "VIP+"
                    set {grade.tab.%arg 1%} to "&bVIP+&b"
                    make server execute command "/tag %arg 1% &bVIP+&b"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "VIP":
                    set {grade.%arg 1%} to "VIP"
                    set {grade.tab.%arg 1%} to "&eVIP&e"
                    make server execute command "/tag %arg 1% &eVIP&e"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                if arg 2 is "Joueur":
                    set {grade.%arg 1%} to "Joueur"
                    set {grade.tab.%arg 1%} to "&7Joueur&7"
                    make server execute command "/tag %arg 1% &7Joueur&7"
                    send "{@Done}" to arg 1
                    send "{@Doneplayer}" to player
                set arg 1 tab name to "%{grade.tab.%arg 1%}% %arg 1%"
                stop
            else:
                message "{@usage}"
                stop
        else:
            message "{@usage}"
on first join:
    make server execute command "/§pgrade %player% Joueur"
on join:
    if {grade.%player%} is set:
        set player tab name to "%{grade.tab.%player%}% %player%"
        stop



 
on first join:
    make server execute command "/tag %player% &7Joueur&7"
on join:
    if {nametag.%player%} is set:
        make server execute command "/tag %player% %{nametag.%player%}%"
        wait 1 tick
    else:
        send "%{nametag.%player%}% %player% &7a rejoind le serveurs !"
 
command /tag [<player>] [<text>] [<text>]:
    trigger:
        if arg 1 isn't set:
            send "&cTu dois choisir un joueur !" to player
            stop
        else:
            if arg 2 isn't set:
                send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1%" to player
                send "&3Suffix de %arg 1%: %getted suffix in tag of arg 1%" to player
                stop
            else:
                if arg 3 isn't set:
                    clear {nametag.%player%}
                    set {nametag.%player%} to arg 2
                    replace all "&" in {nametag.%player%} with "§"
                    modify the arg 1's tag to prefix "%{nametag.%player%}%" and suffix ""
                    hide arg 1 from player
                    send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1%"
                    reveal arg 1 to player
                    stop
                if arg 3 is set:
                    modify the arg 1's tag to prefix "%arg 2%" and suffix "%arg 3%"
                    send "&3Préfix de %arg 1%: %getted prefix in tag of arg 1% &b/ &3Suffix de %arg 1%: %getted suffix in tag of arg 1%"
                    stop

Pas hyper optimisé ton système de rang 😕
En plus, tu devrais utiliser des variables listes pour ce genre de chose, c'est plus facile à supprimer et à gérer.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

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