Aller au contenu
  • 0

Variable dans une condtion


Question

Posté(e)

Bonjour,

Je suis en train de créer un script mini-jeux, mais j'ai un problème au niveau des vies.

En effet, j'aimerai que quand un joueur meurt, il perde une vide. Il est sensé avoir 5 vies au début de la partie.

Quand il meurt, je voudrais que :

Il pert une vie

- Si son nombre de mort est plus petit que 5:

il est tp dans l'arène.

- Sinon:

il est mis en gamemode 3.

 

Deuxième problème :

J'aimerai que quand un joueur respawn, il soit tp de facon aléatoire entre 4 points différents.

Donc si il meurt, il est tp soit à un point 1, 2, 3, ou 4.

 

Merci d'avance :D

9 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonsoir, voila je code de ce que tu demandes :

on respawn:
   if {lifes.%UUID of player%} is smaller than 5:
       set {_i} to a random number between 1 and 4
       wait 0.5 ticks
       if {_i} is 1:
           teleport the player to {arene1.%server%}
       if {_i} is 2:
           teleport the player to {arene2.%server%}
       if {_i} is 3:
           teleport the player to {arene3.%server%}
       if {_i} is 4:
           teleport the player to {arene4.%server%}
   else:
       execute console command "/gamemode 3 %player%"
  • J'aime 1
  • 0
Posté(e)

Bonjour, merci de m'avoir répondu si vite, mais j'ai essayé de modifié un peu le code que vous m'avez donné pour qu'il réponde exactement à mes besoins. Mais ca ne marche pas :/ : Les 4 messages s'affichent en meme temps et non pas un seul aléatoire comme je le voudrais

variables:
   {morts.%player%} = 0
command /morts:
   trigger:
       message "&3Morts: &b%{morts.%player%}%"
command /mortsreload:
   trigger:
       set {morts.%player%} to 0
       message "&3Nombre de morts remis à 0"      
on death:
   add 1 to {morts.%player%}
on respawn:
   if {morts.%player%} is smaller than 5:
       set {_i} to a random number between 1 and 4
       wait 0.5 ticks
       if {_i} is 1:
           message "Un"
       if {_i} is 2:
           message "deux"
       if {_i} is 3:
           message "trois"
       if {_i} is 4:
           message "quatre"
   else:
       execute console command "/gamemode 3 %player%"

  • 0
Posté(e)

J'avais oublié de préciser, il faut ajouter un "stop" au code. Comme ceci :

variables:
   {morts.%player%} = 0
command /morts:
   trigger:
       message "&3Morts: &b%{morts.%player%}%"
command /mortsreload:
   trigger:
       set {morts.%player%} to 0
       message "&3Nombre de morts remis à 0"     
on death:
   add 1 to {morts.%player%}
on respawn:
   if {morts.%player%} is smaller than 5:
       set {_i} to a random number between 1 and 4
       wait 0.5 ticks
       if {_i} is 1:
           message "Un"
           stop
       if {_i} is 2:
           message "deux"
           stop
       if {_i} is 3:
           message "trois"
           stop
       if {_i} is 4:
           message "quatre"
           stop
   else:
       execute console command "/gamemode 3 %player%"
  • J'aime 1
  • 0
Posté(e)

Merci beaucoup pour votre aide mais je ne comprends pas pourquoi ca ne marche toujours pas :/

Au bout de 5 morts, je suis bien mis en gamemode 3 mais pendant les 4 premières aucun message s'affiche.

Si ce n'est pas possible de résoudre ce problème ce n'est pas grave j'essaierai de trouver une alternative mais bon..

Bonne soirée

  • 0
Posté(e)

Holà , c'est normal que le code ne marche pas parce que {_i} peut être égal à un nombre décimal comme 3.99 par exemple, il faut donc l'arrondir. Utilise "set {_i} to a round random number between 1 and 4"

  • J'aime 1
  • 0
Posté(e)
Holà , c'est normal que le code ne marche pas parce que {_i} peut être égal à un nombre décimal comme 3.99 par exemple, il faut donc l'arrondir. Utilise "set {_i} to a round random number between 1 and 4"

Non, {_i} peut etre decimal ue si on fait un " random INTERGER ", donc c'est bon.

  • 0
Posté(e)
Non, {_i} peut etre decimal ue si on fait un " random INTERGER ", donc c'est bon.

Test dans le chat : !send "%random number between 1 and 4%" , il te balance un nombre à virgule.

avec un !send "%random integer between 1 and 4%" , il te balance 2/3/4 mais pas le 1.

et pour conslure : !send "%random integer between 0.9 and 4%" est pareil que !send "%round random number between 1 and 4%" c'est à dire qu'il te balance 1/2/3/4 .

Je n'ai pas testé le code en entier , seulement cette partie que je viens de tester. Mais c'est déjà un problème de résolu.

  • J'aime 1
  • 0
Posté(e)
Test dans le chat : !send "%random number between 1 and 4%" , il te balance un nombre à virgule.

avec un !send "%random integer between 1 and 4%" , il te balance 2/3/4 mais pas le 1.

et pour conslure : !send "%random integer between 0.9 and 4%" est pareil que !send "%round random number between 1 and 4%" c'est à dire qu'il te balance 1/2/3/4 .

Je n'ai pas testé le code en entier , seulement cette partie que je viens de tester. Mais c'est déjà un problème de résolu.

Bonjour, j'ai testé le :

command /random:
   trigger:
       loop 50 times:
           send "%random integer between 1 and 4%"

Et ça envoie 1/2/3/4.

 

On attend toujours une réponse de l'auteur @Switch

  • 0
Posté(e)

Bonsoir, merci beaucoup pour toutes vos réponses. Je n'ai pas du l'occasion d'accéder à mon serveur aujourd'hui donc je test vos codes demain. Par contre j'ai entendu parlé d'add on et de version de Skript donc je voulais savoir si il fallait en installer pour que vos codes marchent

. Je vous remercie grandement pour votre aide ;)

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