Aller au contenu
  • 0

Can't understand this condition sur un système de tp


Question

Posté(e)

Bonjour à tous !

J'aurais besoin de l'aide des scripteurs.

Je vous explique mon problème:

Il y a une partie du code du script que je code (la commande /trv) qui ne fonctionne pas. Quand je reload mon script, il m'indique:

can't understand this condition: ' if {Point.%player's uuid%.{_nombre}} not exists:'

 

Je sais qu'il y a aussi cette erreur avec ce code

                        else:     
                           teleport player to {Point.%player's uuid%.{_nombre}.coordonnée}
                           wait {Point.%player's uuid%.{_nombre}.time}

 

Je pense qu'il peut y avoir d'autre erreur, mais je ne les verrais pas tant que ces deux là ne seront pas réglé !

 

Voici le code:

[spoiler=Code]

command /p <int> <int>:
   description: Enregistre un point
   usage: /p <Numéro du point> <Temps en secondes>
   trigger:
       set {Point.%player's uuid%.%arg 1%} to argument 1
       set {Point.%player's uuid%.%arg 1%::time} to argument 2
       set {Point.%player's uuid%.%arg 1%::coordonnée} to player's location
       send "&6MachiReal &7&l| &7Le point &an°%arg 1% &7à bien été enregistré au coordonnée %location% et au temps %arg 2% secondes" to player

command /traveling <text>:
   description: Lance un traveling
   usage: /traveling <start/stop>
   trigger:
       if arg 1 is "start":
           if {Point.%player's uuid%.1} or {Point.%player's uuid%.2} is not set:
               send "&6MachiReal &7&l| &cErreur: Il faut &4au minimum &aun point 1 et un point 2"
           else:
               set {_localisationplayer} to player's location
               set {_nombre} to 0
               loop players:
                   add 1 to {_nombre}
                   if {Point.%player's uuid%.{_nombre}} not exists:
                       teleport player to {_localisationplayer}
                       send "&6MachiReal &7&l| &7Traveling terminé !"
                       stop
                       else:      
                           teleport player to {Point.%player's uuid%.{_nombre}::coordonnée}
                           wait {Point.%player's uuid%.{_nombre}::time}
       else if arg 1 is "stop":
           teleport player to {_localisationplayer}
           stop
       else:
           send "6MachiReal &7&l| &cErreur: Veuillez taper /traveling <start/stop>"

 

 

 

Une dernière question: est-il possible de créer une commande /pclear qui supprimerai toutes les variables du joueurs ?

 

Je vous remercie pour votre aide !

Messages recommandés

  • 0
Posté(e)

Une erreur d'espaces s'est infiltrée. Le re-voilà:

command /p <int> <int>:
   description: Enregistre un point
   usage: /p <Numéro du point> <Temps en secondes>
   trigger:
       set {Point.%player's uuid%.%arg 1%} to argument 1
       set {Point.%player's uuid%.%arg 1%::time} to argument 2
       set {Point.%player's uuid%.%arg 1%::coordonnée} to player's location
       send "&7Le point &an°%arg 1% &7à bien été enregistré au coordonnée %location% et au temps %arg 2% secondes" to player

command /traveling <text>:
   usage: /trv <start/stop>
   trigger:
       set {localisation.player.%player%} to player's location
       if arg 1 is "start":
           if {Point.%player's uuid%.1} or {Point.%player's uuid%.2} is not set:
               send "&cErreur: Il faut &4au minimum &aun point 1 et un point 2"
           else:
               set {_nombre} to 0
               add 1 to {_nombre}
               if {Point.%player's uuid%.%{_nombre}%} is not set:
                   teleport player to {localisation.player.%player%}
                   send "&7Terminé !"
                   stop
               else:
                   loop {_nombre} times:   
                       teleport player to {Point.%player's uuid%.%{_nombre}%::coordonnée}
                       wait {Point.%player's uuid%.%{_nombre}%::time}
       else if arg 1 is "stop":
           teleport player to {localisation.player.%player%}

  • 0
Posté(e)
Ah. Ca m'étonne quand même quand même que je sois bien tp au premier mais pas au second

Qu'est-e qui t'étonne ? Que tu sois téléporté au premier mais pas au 2ème ? PARCE QUE J'AI TROUVÉ !

command /p <int> <int>:
   description: Enregistre un point
   usage: /p <Numéro du point> <Temps en secondes>
   trigger:
       set {Point.%player's uuid%.%arg 1%} to argument 1
       set {Point.%player's uuid%.%arg 1%::time} to argument 2
       set {Point.%player's uuid%.%arg 1%::coordonnée} to player's location
       send "&7Le point &an°%arg 1% &7à bien été enregistré au coordonnée %location% et au temps %arg 2% secondes" to player

command /traveling <text>:
   usage: /trv <start/stop>
   trigger:
       set {localisation.player.%player%} to player's location
       if arg 1 is "start":
           if {Point.%player's uuid%.1} or {Point.%player's uuid%.2} is not set:
               send "&cErreur: Il faut &4au minimum &aun point 1 et un point 2"
           else:
               set {_nombre} to 0
               add 1 to {_nombre}
               if {Point.%player's uuid%.%{_nombre}%} is not set:
                   teleport player to {localisation.player.%player%}
                   send "&7Terminé !"
                   stop
               else:
                   loop {_nombre} times:  
                       add 1 to {_nombre}
                       teleport player to {Point.%player's uuid%.%{_nombre}%::coordonnée}
                       wait {Point.%player's uuid%.%{_nombre}%::time}
       else if arg 1 is "stop":
           teleport player to {localisation.player.%player%}

Non-testé mais je suis sûr qu'il fonctionne !

  • 0
Posté(e)

P'tit erreur de ma part encore:

command /p <int> <int>:
   description: Enregistre un point
   usage: /p <Numéro du point> <Temps en secondes>
   trigger:
       set {Point.%player's uuid%.%arg 1%} to argument 1
       set {Point.%player's uuid%.%arg 1%::time} to argument 2
       set {Point.%player's uuid%.%arg 1%::coordonnée} to player's location
       send "&7Le point &an°%arg 1% &7à bien été enregistré au coordonnée %location% et au temps %arg 2% secondes" to player

command /traveling <text>:
   usage: /trv <start/stop>
   trigger:
       set {localisation.player.%player%} to player's location
       if arg 1 is "start":
           if {Point.%player's uuid%.1} or {Point.%player's uuid%.2} is not set:
               send "&cErreur: Il faut &4au minimum &aun point 1 et un point 2"
           else:
               set {_nombre} to 0
               add 1 to {_nombre}
               if {Point.%player's uuid%.%{_nombre}%} is not set:
                   teleport player to {localisation.player.%player%}
                   send "&7Terminé !"
                   stop
               else:
                   loop {_nombre} times: 
                       teleport player to {Point.%player's uuid%.%{_nombre}%::coordonnée}
                       add 1 to {_nombre}
                       wait {Point.%player's uuid%.%{_nombre}%::time}
       else if arg 1 is "stop":
           teleport player to {localisation.player.%player%}

  • 0
Posté(e)

Comme Tutur la si bien fait corriger :

wait {_test} ne marche que si {_test} est une variable de type timespan,

on utilise donc :

set {_time} to 5
set {_test} to "%{_time}% seconds" parsed as timespan
wait {_test}

 

"Désolé de faire le mec lourd en reprenant ce qui a déjà était fait mais c'est pour montrer d'où venait un des problème à ceux qui n'ont pas suivi/compris (je parle des novices qui parcourt le forum hein..)"

 

Private joke : Hé bé Tutur , pas capable de faire un "if player is member of region at target block:" mais pas de problème pour un "parsed as timespan" .... héhé ... pas drôle je sais ...

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