Aller au contenu

[Jeu] Skywars


Messages recommandés

Posté(e)

Bonjour à tous skripteur de france.

 

Version minecraft: 1.8

 

Type de skript: Jeu

 

Skywars: Jeu principalement à 8. Chaque joueur atterit sur une ile differente avec un coffre pour rejoindre l'île du milieu. Ainsi le dernier survivant gagne la partie.

 

J'ai commencé un code skywars. J'ai fais en sorte que les parties sont composées de 8 joueurs, et j'ai créer une commande permettant de faire varier le nombre d'îles.

 

J'ai tout codé sauf l'algorithme qui permet de téléporter chaque joueur sur une île différente et le lancement de la partie automatique. Pourriez vous m'aider je vous mets mon code en spoiler il est un peu long.[spoiler=Code]

 

rightclick on sign:
   if line 1 of clicked block is "skywars":
       set line 1 of clicked block to "&9[&fSkyWars&9]"
       send player title "&9Pour choisir la partie:" with subtitle "&e-Ecris le dans le chat"
       set {chat.%player%} to true
   else if line 1 of clicked block is "&9[&fSkyWars&9]":
       if line 2 of clicked block is set:
           set {line2} to line 2 of clicked block
           make player execute command "/skywars party %{line2}%"
command /setpos <integer>:
   trigger:
       set {pos} to player's location
       set {ra} to arg 1
       send "&cLa position pour l'auto-actualisation des panneaux vient d'être posé en %{pos}% sur un rayon de %{ra}%" to player

every 1 second:
   loop all blocks in radius {ra} of location of {pos}:
       set {l2} to the line 2 of loop-block
       if {ingame.%{l2}%} is not set:
           set {ingame.%{l2}%} to 0
       set line 3 of loop-block to "&f%{ingame.%{l2}%}%/8"
on load:
   set {i} to 1
   loop 1000 times:
       set {ingame.%{i}%} to 0
       add 1 to {i}
   set {i} to 1
   loop 1000 times:
       clear {list.%{i}%::*}
       add 1 to {i}
   loop all players:
       clear {wait.%loop-player%}
       reveal all players to loop-player      
command /skywars [<text>] [<integer>]:
   executable by: players and console
   description: Commandes du skywars
   trigger:
       if arg 1 is "party":
           if arg 2 is set:
               if {wait.%player%} is not set:
                   if {ingame.%arg 2%} < 8:
                       add 1 to {ingame.%arg 2%}
                       add player to {list.%arg 2%::*}
                       set {wait.%player%} to "%arg 2%"
                       teleport player to {waitmatch}
                       wait 3 ticks
                       set slot 0 of player to paper named "&eMembre de la partie"
                       set slot 8 of player to bed named "&7Quitter la partie"
                       hide player to all players
                       hide all players to player
                       loop all players:
                           if {wait.%player%} = {wait.%loop-player%}:
                               send "&c%player% &7a rejoint la partie &c%{ingame.%arg 2%}%/8" to loop-player
                               reveal player to loop-player
                               reveal loop-player to player
                               stop
                   else:
                       send "Cette partie est déjà complète" to player
               if arg 2 is not {wait.%player%}:
                   if {ingame.%arg 2%} < 8:
                       remove 1 from {ingame.%{wait.%player%}%}
                       remove player from {list.%{wait.%player%}%::*}
                       add 1 to {ingame.%arg 2%}
                       add player to {list.%arg 2%::*}
                       set {wait.%player%} to "%arg 2%"
                       teleport player to {waitmatch}
                       clear player's inventory
                       wait 3 ticks
                       set slot 0 of player to paper named "&eMembre de la partie"
                       set slot 8 of player to bed named "&7Quitter la partie"
                       hide player to all players
                       hide all players to player
                       loop all players:
                           if {wait.%player%} = {wait.%loop-player%}:
                               send "&c%player% &7a rejoint la partie &c%{ingame.%arg 2%}%/8" to loop-player
                               reveal player to loop-player
                               reveal loop-player to player
                               stop
                   else:
                       send "Cette partie est déjà complète" to player
       if arg 1 is "teamlist":
           if {wait.%player%} is set:
               open chest with 3 rows to player
               wait 3 ticks
               set {slot} to 0
               set {l} to size of {list.%{wait.%player%}%::*}
               loop {list.%{wait.%player%}%::*}:
                   set {_l} to loop-value
                   format slot {slot} of player with skull of {_l} named "&e%loop-value%" to close
                   add 1 to {slot}
       if arg 1 is "leave":
           if {wait.%player%} is set:
               remove 1 from {ingame.%{wait.%player%}%}
               remove player from {list.%{wait.%player%}%::*}
               clear {wait.%player%}
               clear player's inventory
               reveal all players to player
               reveal player to all players
               loop all players:
                   if {wait.%loop-player%} is set:
                       hide loop-player to player
                       hide player to loop-player
       if arg 1 is "startparty":
           if {ingame.%{wait.%player%}%} = 8:
               set {h1} to a random element of {list.%{wait.%player%}%::*}
               if {max} is set:
                   set {h2} to a random integer between 1 and {max}
               else:
                   set {max} to 0
               teleport {h1} to {isle.%{wait.%player%}%.%{h2}%}
command /setpoint <integer> <integer>:
   description: Saisir la position d'une ile d'une partie
   trigger:
       set {isle.%arg 1%.%arg 2%} to player's location
       send "&eVous venez de saisir le point de spawn &6n°%arg 1% &ede la partie &6%arg 2%."          
command /maxisles [<integer>]:
   description: Définir le nombre maximum d'îles
   trigger:
       if arg 1 is set:
           set {max} to arg 1
           send "&7Le nombre maximum d'îles par partie est de %{max}%"
       else:
           set {max} to 8
           send "&7Le nombre de d'îles par partie vient d'être remis à default: %{max}%"


on tab completer for "/skywars":
   add "party" to completions
   add "teamlist" to completions
   add "leave" to completions
   add "startparty" to completions                      
#Le point d'attente avant le lancement de la partie
command /setwait:
   permission: op
   trigger:
       set {waitmatch} to player's location
       send "&cLe point d'attente a été définie en %{waitmatch}%"          
on rightclick with paper:
   name of tool is "&eMembre de la partie"
   {wait.%player%} is set:
       make player execute command "/skywars teamlist"  
on rightclick with bed:
   name of tool is "&7Quitter la partie"
   cancel event
   {wait.%player%} is set:
       make player execute command "/skywars leave"          
on chat:
   if {chat.%player%} is true:
       clear {chat.%player%}
       set line 2 of target block to "%message%"

Merci à ceux qui tenteront de m'aider bonne soirée.

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