Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je suis le fondateur d'un serveur Sumo FFA/ Practice et j'essaie de créer un skript de tournois. J'ai longtemps essayé mais je n'y arrive pas, je suis donc ici pour demander de l'aide aux skripteurs.

 

- Lorsque le joueur rejoint on lui donne un livre dans le slot 5 de sa barre d'inventaire rapide nommé "&6Tournament Create", uniquement les joueurs qui ont la permission "tournament.create" peuvent cliquer sur ce livre. Lorsque le joueur clique cela le téléporte dans une "salle d'attente" qu'on peut set avec la commande /queue setspawn. Le tournois doit attendre qu'il y ait 3 joueurs pour commencer, une fois qu'il y a 3 joueurs, attendre 60 secondes et lancer la partie (il peut y avoir jusqu'a 12 joueurs).

 

- Les joueurs sont ensuite envoyés dans les gradins d'une arène (commande pour set le point de spawn des gradins /waitfight setspawn).

 

- Ensuite, les joueurs sont envoyés aléatoirement dans l'arène sumo (seulement 2 joueurs dans l'arène). Le joueur qui perd est disqualifié et est renvoyé au spawn (variable du spawn: {spawn}) celui qui gagne reste dans les gradins. Le tournois continue jusqu'au moment où il ne reste un seul joueur.

 

-Tous les messages devront être en Anglais (ou je les changerait comme vous voulez).

 

Je sais que ce skript est plutôt dur à réaliser mais je sais que vous pouvez le faire.

Je peux "rémunérer" de maximum 5€ en fonction du travail fourni.

 

Merci d'avance, 4ve.

Posté(e)

options:
   ypos: 10
join:
   set slot 5 of player to book named "§6Tournament Create" with lore "§7Right-Click"
click with book:
   if name of tool is "§6Tournament Create":
       cancel event
       if {creator} is not set:
           lore of tool is "§7Right-Click"
           player has permission "tournament.create"
           set {_s} to 60
           set {creator} to "%sender%"
           while {_s} is not 0:
               if {_f} is set:
                   delete {_f}
               else if {_s} is 60 or 30 or 10 or 5:
                   loop all players:
                       send "§6Tournament (§eSumo§6) will start in few seconds, minimum %{_s}% seconds.%nl%§b/tournament join§e to join tournament" to loop-player
               if size of {tournament::*} is bigger or equal to 3:
                   remove 1 from {_s}
               else:
                   set {_s} to 60
                   set {_f} to true
               wait a second
           loop {tournament::*}:
               set {_copy::%loop-index%} to "%loop-value%"
               teleport loop-index parsed as player to {spectatingroom}
           set {start} to true
           while size of {tournament::*} is bigger than 1:
               loop {tournament::*}:
                   set {_copy::%loop-index%} to "%loop-value%"
               set {_player1} to a random element of {_copy::*}
               set {_player1} parsed as player's display name to "§a%{_player1}%"
               delete {_copy::%{_player1}%}
               set {_player2} to a random element of {_copy::*}
               set {_player2} parsed as player's display name to "§c%{_player2}%"
               set {_copy::%{_player1}%} to "%{_player1}%"
               loop all players:
                   if {tournament::%loop-player%} is set:
                       if "%loop-player%" is not "%{_player1}%":
                           if "%loop-player%" is not "%{_player2}%":
                               send "§6Picked players:§e %{_player1}%§6,§e %{_player2}%" to loop-player
                           else:
                               send loop-player title "§cPicked !"
                               clear loop-player's inventory
                               teleport loop-player to {tournamentpostion.2}
                       else:
                           send loop-player title "§cPicked !"
                           clear loop-player's inventory
                           teleport loop-player to {tournamentpostion.1}
               set {_statut} to true
               while {_statut} is set:
                   if "%{_player1}%" parsed as offline player is online:
                       if "%{_player2}%" parsed as offline player is online:
                           if y-coordinate of "%{_player1}%" parsed as player is bigger than {@ypos}:
                               if y-coordinate of "%{_player2}%" parsed as player is bigger than {@ypos}:
                                   add 1 to {_time}
                                   wait 1 second
                               else:
                                   delete {_statut}
                                   delete {_copy::%{_player2}%}
                                   set {_m} to "§bElimined player(s):§c %{_player2}%"
                           else:
                               delete {_statut}
                               delete {_copy::%{_player1}%}
                               set {_m} to "§bElimined player(s):§c %{_player1}%"
                       else:
                           delete {_statut}
                           delete {_copy::%{_player2}%}
                           set {_m} to "§bElimined player(s):§c %{_player2}%"
                   else:
                       delete {_statut}
                       delete {_copy::%{_player1}%}
                       set {_m} to "§bEliminated player(s):§c %{_player1}%"
               if "%{_player1}%" parsed as offline player is offline:
                   delete {_copy::%{_player1}%}
               if "%{_player2}%" parsed as offline player is offline:
                   delete {_copy::%{_player2}%}
               loop {tournament::*}:
                   if {_copy::%loop-index%} is not set:
                       clear {tournament::%loop-index%}
                       teleport loop-index parsed as player to {spawn}
               loop all players:
                   if {tournament::%loop-player%} is set:
                       send "%{_m}%" to loop-player
               delete {_m}
               delete {_player1}
               delete {_player2}
           delete {creator}
           delete {start}
           if size of {tournament::*} is not 0:
               loop {tournament::*}:
                   set {_winner} to "%{tournament::%loop-index%}%"
           else:
               stop
           loop all players:
               send "§6Tournament is now ended, winner is §a%{_winner}%" to loop-player
           clear {tournament::*}
       else:
           send "§6Tournament will start, sorry." to sender
   else if name of tool is "§6Tournament info":
       cancel event
       lore of tool is "§7Right-Click"
       loop {tournament::*}:
           if {_t} is not set:
               set {_t} to "§6Player(s) [§e%size of {tournament::*}%/12§6]:§e %{tournament::%loop-index%}%"
           else:
               set {_t} to "%{_t}%§6,§e %{tournament::%loop-index%}%"
       send "§6Tournament's creator:§e %{creator}%%nl%%{_t}%" to sender
quit:
   {tournament::%player%} is set:
       clear {tournament::%player%}
click with redstone torch:
   name of tool is "§cLeave tournament":
       cancel event
       if {tournament::%player%} is set:
           clear player's inventory
           wait 3 ticks
           # remet ton inventaire ici 'set slot <slot> of player to <item> named "<text>" with lore "<text>"
           clear {tournament::%player%}
           teleport player to {spawn}
command /queue <text>:
   permission: tournament.create
   trigger:
       if arg is "setspawn":
           send "§6Tournament Sumo's waiting room is now set where you are." to sender
           set {waitingroom} to position of sender
       else:
           send "§cCorrect usage: /queue setspawn" to sender
command /waitfight <text>:
   permission: tournament.create
   trigger:
       if arg is "setspawn":
           send "§6Tournament Sumo's spectating room is now set where you are." to sender
           set {spectatingroom} to position of sender
       else:
           send "§cCorrect usage: /waitfight setspawn" to sender
command /tournament <text> [<number>]:
   trigger:
       arg 2 is not set:
           arg 1 is "join":
               {start} is not set
               {creator} is set
               {tournament::%sender%} is not set:
                   size of {tournament::*} is smaller than 12
                   set {tournament::%sender%} to "%sender%"
                   loop all players:
                       {tournament::%loop-player%} is set
                       send "§3%sender%§b joins tournament§3 (%size of {tournament::*}%/12)" to loop-player
                   clear sender's inventory
                   wait 3 ticks
                   set slot 4 of sender to book named "§6Tournament info" with lore "§7Right-Click"
                   set slot 8 of sender to redstone torch named "§cLeave tournament"
                   teleport player to {waitingroom}
       arg 1 is "setspawn":
           player has permission "tournament.create":
               arg 2 is 1 or 2:
                   set {tournamentpostion.%arg 2%} to position of sender
                   send "§6Tournament Sumo's position number %arg 2% is now set where you are." to sender
               else:
                   send "§cCorrect usage: /tournament setspawn 1/2"

Il se peut que j'ai terminé, si tu veux préciser certaines choses viens sur ce teamspeak:

ts.hadside.fr

 

Un double while c'est pas tous les jours, si ?

  • J'aime 2
×
×
  • 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.