Aller au contenu
  • 0

Probleme de tp


Question

Posté(e)

Salut aujourd'hui je vous montre un bout de code qui sert juste a faire comme essentials des warps

 

Le problème est embêtant c'est que je n'ai pas d'erreur et la téléportation à la fin ne ce fait pas.

PS: mais le message juste avant la tp ce fait:

 

Voici mon code: j'ai mis tout le trigger pour que vous compreniez. Le bug ce trouve toute derniere ligne

command /spawn [<text>] [<text>]:
   trigger:
       if arg 1 is not set:
           if {spawn::spawn} is not set:
               send "{@title}Spawn non définis !!!%nl%Veuillez en définir un: &f/spawn set &lspawn"
               stop
           else:
               send "{@title}Téléportation dans {@c1}{@tp.time} &7seconds"
               wait {@tp.time} seconds
               teleport player to {spawn::spawn}
               stop

       if arg 1 is "set":
           if player has the permission "setspawn.use":
               if arg 2 is set:
                   add "%arg-2%|%player's location%" to {spawn::*}
                   send "{@title}{@c1}%arg-2% &7définis en {@c1}%player's location%"
                   stop
               else:
                   send "{@title}Veuillez ajouté le nom de l'endroit."

       if arg 1 is "list":
           send "{@title}Liste des endroits accessibles:"
           loop {spawn::*}:
               set {_data::*} to loop-value split by "|"
               set {_name} to {_data::1}
               set {_coord} to {_data::2}
               send " &8- {@c1}&l%{_name}% &7en: {@c1}%{_coord}%"

       if arg 1 isn't "set" or "list":
           if player has the permission "spawn.%arg-1%.use":
               loop {spawn::*}:
                   set {_data::*} to loop-value split by "|"
                   set {_name} to {_data::1}
                   set {_coord} to {_data::2}
                   if arg 1 is {_name}:
                       send "{@title}Téléportation dans {@c1}{@tp.time} &7seconds vers {@c1}%{_name}%"
                       wait {@tp.time} seconds
                       send "%{_coord}%"
                       teleport player to {_coord}

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Ta variable {_coord} est enregistrée comme du texte, or on ne peut pas tp à du texte. Tu dois trouver un moyen de la reconvertir en location. Tu peux essayer un parse:

teleport player to {_coord} parsed as location

Sinon tu dois trouver un autre moyen pour sauvegarder cette valeur ^^

  • 0
Posté(e)

Sinon tu peux toujours essayer de découper ta variable {_coord} pour récupérer ce qu'il faut (x, y, z, world eventuellement pitch/yaw) puis tu crée une location à partir de ces valeurs. Pour les nombres tu peux les parse avec "parsed as number"

  • 0
Posté(e)

xD autre problème comment enlever un conflit de variable quand on utilise par exemple:

 

{test::%arg-1%} et {test::*}

 

PS: j'ai refabriqué le syst de tp en plus simple et donc moin d'embrouille sauf ce probleme de variables.

Sachant que l'arg-1 peut tres bien faire partit de la liste test vu que c'est le principe meme

 

xD je voit meme pas pk il m emet un conflit de var

  • 0
Posté(e)

Si ça peut t'aider, c'est pas trop ce que t'as fait, mais ça peut te donner un ordre d'idée :)

function delaytp(p: player , l: object):
   send "%{essentials.prefix}% &3Téléportation dans 3 secondes." to {_p}
   send "&3Ne bougez pas..." to {_p}

   set {_locPlayerX1} to {_p}'s x-coordinate
   set {_locPlayerZ1} to {_p}'s z-coordinate
   set {_locPlayerY1} to {_p}'s y-coordinate

   show 100 "portal" particles at location of {_p} for {_p} offset by 1, 1, 1
   send "&33..." to {_p}
   wait 20 tick
   show 300 "portal" particles at location of {_p} for {_p} offset by 1, 1, 1              
   send "&32..." to {_p}
   wait 20 tick
   show 300 "portal" particles at location of {_p} for {_p} offset by 1, 1, 1
   send "&31..." to {_p}
   wait 20 tick
   show 300 "portal" particles at location of {_p} for {_p} offset by 1, 1, 1
   show 15 "lava" particles at location of {_p} for {_p} offset by 1, 0.1, 1

   set {_locPlayerX2} to {_p}'s x-coordinate
   set {_locPlayerZ2} to {_p}'s z-coordinate
   set {_locPlayerY2} to {_p}'s y-coordinate

   if {_locPlayerX1} is equal to {_locPlayerX2}:
       if {_locPlayerZ1} is equal to {_locPlayerZ2}:
           if {_locPlayerY1} is equal to {_locPlayerY2}:
               set {tpback.%{_p}%} to location of {_p}
               send "%{essentials.prefix}%&3 Vous avez été téléporté." to {_p}
               teleport {_p} to {_l}
               stop
   send "%{essentials.prefix}% &cVous avez bougé. Téléportation annulée." to {_p}

 

PS : Appelle la fonction comme ceci : delaytp(joueur, variable_de_location)

PS2 : C'est pour le début, ton délai de tp ^^, pour la variable, fais comme on t'a dit au dessus ça fonctionne normalement ^^"

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