Aller au contenu
  • 0

Conditions et sets (Loop Value)


Question

Posté(e)

Howdy les skripteurs ! J'aimerai savoir comment faire pour faire un loop d'une variable liste qui contient de des blocs, de faire des conditions avec celles si, ainsi que pouvoir set les variables.

 

 
command /printmoneyadd:
   permission: *
   trigger:
       loop {printer::*}:
           if {printerEncre.%loop-value%} >= 1:
               add 10 to {printerMoney.%loop-value%}

 

Je n'ai aucune erreur, juste le skript refuse de fonctionner

5 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Pense à utiliser le broadcast pour déterminer le problème:

command /printmoneyadd:
   permission: *
   trigger:
       loop {printer::*}:
           broadcast "<yellow>value: %loop-value% V1: %{printerEncre.%loop-value%}% V2: %{printerMoney.%loop-value%}%"
           # Il faut aussi s'assurer que les variable ci-dessous sont bien interprété comme des nombre et non pas comme un texte
           broadcast "<cyan>%{printerEncre.%loop-value%} +100% %{printerMoney.%loop-value%} +100%"
           if {printerEncre.%loop-value%} >= 1:
               add 10 to {printerMoney.%loop-value%}

  • 0
Posté(e)
Pense à utiliser le broadcast pour déterminer le problème:

command /printmoneyadd:
   permission: *
   trigger:
       loop {printer::*}:
           broadcast "<yellow>value: %loop-value% V1: %{printerEncre.%loop-value%}% V2: %{printerMoney.%loop-value%}%"
           # Il faut aussi s'assurer que les variable ci-dessous sont bien interprété comme des nombre et non pas comme un texte
           broadcast "<cyan>%{printerEncre.%loop-value%} +100% %{printerMoney.%loop-value%} +100%"
           if {printerEncre.%loop-value%} >= 1:
               add 10 to {printerMoney.%loop-value%}

 

Qu'est ce qu'est v1 et v2 ?

  • 0
Posté(e)

V1 et V2 c'était pour "Variable",

Il n'y a pas d'erreur de syntax dans ton code, le problème doit donc venir de tes variables qui sont mal utilisé.

 

Donc il nous faut soit le code COMPLET, soit tu arrive à déduire où est le problème à l'aide du broadcast.

en faite il faut que tu imagine qu'elle est le texte qui doit être affiché en cas de fonctionnement correct de ton skript afin de comparer avec ce qui fait que actuellement ton skript ne fonctionne pas

EXEMPLE :

command /test1:
   trigger:
       set {_player.monaie} to 42
       loop 5 times:
           wait 1 second
           set {_v.%loop-number%} to "%loop-number%"
           add 100 to {_v.%loop-number%}
           add %{_v.%loop-number%}% to {_player.monaie}

 

Avec cette exemple on souhaite que le joueur reçoive 101€ puis une seconde plus tard 102€, puis une seconde plus tard... jusqu'à 105€

Or ce code ne marche pas !

pourquoi ? Parce que {_v.%loop-number%} est interprété comme un texte et donc il n'est pas possible de lui additionner une valeur numérique, comment le vérifier ? avec un broadcast par exemple :

command /test1:
   trigger:
       set {_player.monaie} to 42
       loop 5 times:
           wait 1 second
           set {_v.%loop-number%} to "%loop-number%"
           broadcast "étape 1: %{_v.%loop-number%}%"
           add 100 to {_v.%loop-number%}
           broadcast "étape 2: %{_v.%loop-number%}%"
           add %{_v.%loop-number%}% to {_player.monaie}
           broadcast "étape 3: %{_player.monaie}%"

 

tu te rendra compte que l'étape 2 n'a pas ajouté 100€ comme on lui avait demandé de le faire, une des solution pour résoudre ce genre de problème pourait être d'utiliser cette effet :

set {_v.%loop-number%} to "%loop-number%" parsed as number

Qui va dire à skript que la variable doit être lu comme un nombre et non comme un texte

 

PS: merci de ne pas chipoter sur l'exemple que j'ai donné il s'agit d'un EXEMPLE

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