Aller au contenu
  • 0

Actualiser un scoreboard quand une variable change...


Question

Posté(e)

Bonjour à tous, je me tourne vers vous car je cherche un moyen d'actualiser mon scoreboard, fait avec script quand la variable de ce scoreboard change. Voici un exemple : je set la variable {Test.%player%} à 100 puis j'enlève 10 à cette variable, il m'en reste donc 90. Ce que je cherche, c'est d'actualiser le scoreboard uniquement quand la variable est changé.

 

En attendant d'une réponse, je vous souhaite de passer une bonne fin d'année.

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Je vois pas ce qui te pose problème. Tu peux juste mettre ton scoreboard une fois quand le joueur se co, puis mettre le code qui sert à le modifier à la suite du code où tu changes ta variable. Et pour optimiser tout ça, tu peux utiliser une fonction.

  • 0
Posté(e)

Voici le code :

Variables:
   {Spellsmana.%player%} = 0
   {UseSort.%player%} = 0

options:
   Prefix: &5&l[&d&lSpells&5&l]
   ActivateMsg: Vous avez activé vos manas
   ActivateMsg2: Vous avez déjà activé vos manas
   NoPermission: &c>> Vous n'avez pas la permission !
   SpellThunder: &aFoudre²
   SpellFire: &6Feu²

On first join:
   set {Spellsmana.%player%} to 0
   set {UseSort.%player%} to 0

#---------------------------------------------------------------------------
#Comande pour activer les manas    :

Command /activate:
   permission: activateSpells.sk
   permission message: &c>> &r{@Prefix} {@ActivateMsg2}
   trigger:
       if {spellsactivate.%player%} is not set:
           set {spellsmana.%player%} to 100
           execute console command "/manudelp %player% activateSpells.sk"
           send " &c>> &r{@Prefix} {@ActivateMsg}" to player
       if {spellsactivate.mana.%player%} is set:
           stop trigger

#----------------------------------------------------------------------------
#Commande pour afficher le scoreboard:

Command /scoremana:
   trigger:
       display board named "&e&lStatistiques de vos sorts" to player
       make score "&d&lManas: &a%{spellsmana.%player%}%" in board of player to 2
       make score "&6&lsorts: &a%{UseSort.%player%}%" in board of player to 1
       move display of player to sidebar

#----------------------------------------------------------------------------
#Commande pour rafraichir le scoreboard :

every 30 seconds:
       make all players execute command "/scoremana"


#----------------------------------------------------------------------------
#Commande pour activer les manas :

On join:
   if player has permission "activateSpells.sk":
       execute console command "/activate"
   else:
       stop


#----------------------------------------------------------------------------  

#Début des sorts :

#----------------------------------------------------------------------------
#Le sort Foudre : Afflige des dégats à une entité ou à un joueur :

Command /thunder:
   permission: thunderSpells.sk
   permission message:{@Prefix} {@NoPermission}
   trigger:
       give 1 stick named "{@SpellThunder}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever" to player

On rightclick:
   player is holding a stick named "{@SpellThunder}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever":
       player has permission "thunderSpells.sk":
           if {spellsmana.%player%} is greater than or equal to 20:
               strike lightning at targeted entity or player
               remove 20 from {spellsmana.%player%}
               add 1 to {UseSort.%player%}
               send "{@Prefix} &eIl vous reste %{spellsmana.%player%}% points de mana" to player
           else:
               send "{@Prefix} &c>> Vous n'avez pas assez de mana" to player
       else:
           send "{@Prefix} {@NoPermission}" to player

on leftclick:
   player is holding a stick named "{@SpellThunder}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever":
       player has permission "thunderSpells.sk":
           remove 1 stick named "{@SpellThunder}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever" from player
       else:
           send "{@Prefix} {@NoPermission}" to player

#----------------------------------------------------------------------------
#Le sort feu : brule vos ennemies :

Command /fire:
   permission: fireSpells.sk
   permission message: {@Prefix} {@NoPermission}
   trigger:
       give 1 stick named "{@SpellFire}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever" to player

On rightclick:
   player is holding a stick named "{@SpellFire}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever":
       player has permission "fireSpells.sk":
           if {spellsmana.%player%} is greater than or equal to 20:
               shoot a fireball
               wait 1 tick
               show mob spawner flames at targeted entity
               apply instant damage 5 to target entity for 2 seconds
               remove 20 from {spellsmana.%player%}
               add 1 to {UseSort.%player%}
               send "{@Prefix} il vous reste %{spellsmana.%player%}% points de mana" to player
           else:
               send "{@Prefix} &c>> Vous n'avez pas assez de mana" to player
       else:
           send "{@NoPermission}" to player

On leftclick:
   player is holding a stick named "{@SpellFire}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever":
       player has permission "fireSpells.sk":
           remove 1 stick named "{@SpellFire}" with lore "&eClique droit pour lancer le sort ||Clique gauche pour l'enlever" from player
       else:
           send "{@NoPermission}" to player

 

 

Edit : J'ai finalement trouvé il suffit de mettre l'instruction "execute player command "/scoremana" apres le "add 1 to {UseSort.%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.