Aller au contenu
  • 0

Téléportation non fonctionnelle et give.


Question

Posté(e)

Bonsoir,

En ce moment je suis entrain de créer un Mini Jeu pour mon serveur. Il est presque terminer mais il me reste deux bug génant.

De un, des fois, les joueurs sont téléportés au même point de spawn, ce qui est génant.

De deux, les outils ne sont give qu'à un seul des trois joueurs.

Pouvez vous m'aider à corriger ces deux problèmes ?

Merci :D

 

options:
   logo: &8[&9FastBreak&8]

variables:
   {fb.slot} = 1

command /fb <text>:
   trigger:
       if argument 1 is "join":
           if {fb.%player%.join} is true:
               send "{@logo} &fVous êtes déja en jeu !"
               stop
           if {fb.start} is true:
               send "{@logo} &fPartie en cours."
               stop
           if {fb.slots} is 3:
               send "{@logo} &fLa partie est complète."
               stop
           teleport player to {fb.spectate}
           wait 1 second
           broadcast "{@logo} &f%player% a rejoint le jeu &a(%{fb.slot}%/3)" in "FastBreak"
           set {fb.%player%.join} to true
           add 1 to {fb.slot}
           if {fb.slot} is greater than 2:
               broadcast "{@logo} &fTéléportation dans 10 secondes..." in "FastBreak"
               wait 10 seconds
               broadcast "{@logo} &aTéléportation !" in "FastBreak"
               set {fb.start} to true
               loop all players:
                   if {fb.%loop-player%.join} is true:
                       set {_random} to a random integer between 1 and 3
                       set {fb.%loop-player%.placed} to true
                       if {_random} is 1:
                           teleport loop-player to {fb.spawn.1}
                       if {_random} is 2:
                           teleport loop-player to {fb.spawn.2}
                       if {_random} is 3:
                           teleport loop-player to {fb.spawn.3}       
               if {fb.%player%.join} is true:
                   if {fb.%player%.placed} is true:
                       broadcast "{@logo} &fDépart dans 15 secondes..." in "FastBreak"
                       wait 5 seconds
                       broadcast "{@logo} &fDépart dans 10 secondes..." in "FastBreak"
                       wait 5 seconds
                       broadcast "{@logo} &fDépart dans 5 secondes..." in "FastBreak"
                       wait 1 second
                       broadcast "{@logo} &fDépart dans 4 secondes..." in "FastBreak"
                       wait 1 second
                       broadcast "{@logo} &fDépart dans 3 secondes..." in "FastBreak"
                       wait 1 second
                       broadcast "{@logo} &fDépart dans 2 secondes..." in "FastBreak"
                       wait 1 second
                       broadcast "{@logo} &fDépart dans 1 secondes..." in "FastBreak"
                       wait 1 second
                       broadcast "{@logo} &aBonne chance !" in "FastBreak"       
                       wait 1 tick
                       give player a stone pickaxe of unbreaking 3 named "&f&lLa Pioche"
                       give player a stone axe of unbreaking 3 named "&f&lLa Hache"
                       give player a stone shovel of unbreaking 3 named "&f&lLa Pelle"
       if argument 1 is "leave":    
           if {fb.%player%.join} is true:
               if {fb.start} is true:
                   send "{@logo} &fLa partie a déja commencée !"
                   stop
               else:
                   teleport player to {fb.hub}
                   send "{@logo} &fVous avez quitté le jeu."
                   broadcast "{@logo} &f%player% a quitté le jeu &a(%{fb.slot}%/3)" in "FastBreak"
                   set {fb.%player%.join} to false
                   remove 1 from {fb.slot}
       if argument 1 is "reload":
           set {fb.slot} to 1
           set {fb.%player%.join} to false
           set {fb.start} to false
           send "{@logo} &fJeu redemarré"
       if argument 1 is "sethub":
           set {fb.hub} to location of player
           send "{@logo} &fHub du jeu mis en place."
       if argument 1 is "setspectate":
           set {fb.spectate} to location of player
           send "{@logo} &fTribune des spectateurs mise en place."
       if argument 1 is "spectate":
           if {fb.start} is true:
               send "{@logo} &fVous êtes déja en jeu !"
               stop
           else:
               teleport player to {fb.spectate}
               send "{@logo} &fVous pouvez à present assister à la partie."

command /fb-setpos <text>:
   trigger:
       set {fb.spawn.%arg-1%} to location of player
       send "{@logo} &fSpawn %arg-1% placé."

on break:
   player is in world "FastBreak"
   if event-block is stone:
       if player's tool is a stone pickaxe:
           stop
       else:
           cancel event
   if event-block is plank:
       if player's tool is a stone axe:
           stop
       else:
           cancel event
   if event-block is dirt:
       if player's tool is a stone shovel:
           stop
       else:
           cancel event
   if event-block is block of emerald:
       if player's tool is a stone pickaxe:
           loop all players:
               if {fb.%loop-player%.join} is true:
                   teleport loop-player to {fb.hub}
                   set {fb.slot} to 1
                   set {fb.%loop-player%.join} to false
                   set {fb.start} to false
                   make console execute command "/clear %loop-player%"
       else:
           cancel event
       wait 1 tick
       broadcast "{@logo} &a%player% &fa gagné la partie !" in "MiniJeux"
   else:
       cancel event

8 réponses à cette question

Messages recommandés

  • 0
Posté(e)
De un, des fois, les joueurs sont téléportés au même point de spawn, ce qui est génant.

C'est à cause de ta "tp aléatoire", vu que c'est un nombre aléatoire il y a 1/3 que le joueur soit TP au même point, je ne sais pas si tu comprends :/

  • 0
Posté(e)
Merci pour ta réponse rapide. Oui je comprend le problème, mais maintenant, j'aimerai savoir comment le régler ^^

Je pense que tu donne un point en fonction du moment ou le joueur rejoint, en gros si c'est le premier joueur il va au premier point, le deuxième au deuxième point etc :p

  • 0
Posté(e)

Moi je veux bien t'aider, mais essayes de comprendre que je n'ai pas le temps de lire tout ton code et de chercher les erreurs, donc je vais t'aider si tu mets QUE les lignes où il y a des erreurs, et avec la syntaxe LUA dans la balise CODE, merci ! ^^

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