Aller au contenu

[Base Skript] Skript de parties (join/leave/start)


Messages recommandés

Posté(e)

Version de minecraft / skript : 1.8.9

Type du skript : Base de Skript à rajouter dans des skripts futurs.

Description du script :

 

Bonjour/Bonsoir,

 

J'aurais besoin d'un bout de skript à rajouter dans le mien, qui permetterai de créer des événements on join et on leave, pour que quand on se connecte ça:

 

- Rajoute un joueur au jeu

- Affiche un message avec le (%joueurs actuels/8)

- Qu'a partir d'un certain nombre de joueur, il faudrait que ça lance un compte à rebours de 30 secondes quand la moitiée (4 joueurs) est atteinte, et un compte à rebours de 10 secondes quand la partie est complète (8 joueurs).

 

 

Il faudrait que le skript se termine pas que je puisse rajouter le code du jeu (futur).

 

Commandes éventuelles avec les permissions :

Je n'ai pas besoin de commandes particulières.

 

Autres précisions:

 

Si besoin, je peut installer des addons, j'en ai déjà pas mal mais j'en ai trop pour vous les lister ici, si jamais besoin de la liste demandez moi en message privé, ou en répondant ici.

 

Merci de votre aide et bonne journée/soirée.

Posté(e) (modifié)

Hum, je n'ai pas testé mais il n'y a pas d'erreur et je pense pas qu'il y ait besoin d'add-on :

options:
   max_players: 8
   minimum_players: 4
   first_timer: 30
   second_timer: 10

on join:
   if {game.start} is true:
       kick player due to "Partie commencée"
       stop
   if {game::*} is set:
       if size of {game::*} is equal to {@max_players}:
           kick player due to "Partie pleine"
           stop
   if number of all players is 1:
       delete {game::*}
       add player to {game::*}
       send "%player% a rejoint la partie (%size of {game::*}%/{@max_players}" to all players
   else:
       add player to {game::*}
       send "%player% a rejoint la partie (%size of {game::*}%/{@max_players}" to all players

   if size of {game::*} is equal to {@minimum_players}:
       if {game.timer} is not set:
           send "La partie va commencer dans {@first_timer} secondes." to all players
           set {game.timer} to {@first_timer}
   else if size of {game::*} is equal to {@max_players}:
       if {game.timer} > {@second_timer}:
           set {game.timer} to {@second_timer}
           send "La partie va commencer dans {@second_timer} secondes."

on quit:
   remove player from {game::*}
   if {game.start} is true:
       send "%player% a quitté le jeu." to all players
   else if size of {game::*} is not equal to 0:
       send "%player% a quitté la partie (%size of {game::*}%/{@max_players}" to all players

every 1 second:
   if size of {game::*} >= {@minimum_players}:
       if {game.timer} is set:
           if {game.timer} > 10:
               remove 1 from {game.timer}
           else if {game.timer} >= 1:
               remove 1 from {game.timer}
               send "La partie va commencer dans %{game.timer}% secondes !" to all players
           else if {game.timer} = 0:
               send "La partie commence !" to all players
               delete {game.timer}
               set {game.start} to true
#                loop {game::*}:
#                    teleport loop-value to #endroit où le jeu commence
   else:
       delete {game.timer}

 

J'ai ajouté quelques options :

- quand un joueur rejoint quand le jeu a commencé il se fait kick

- quand un joueur rejoint quand la partie est pleine il se fait kick

- l'option first_timer en haut c'est le temps en secondes avant que le jeu commence quand le nombre minimum de joueurs est atteint, et second_timer c'est le temps en secondes avant que le jeu commence quand le nombre maximum de joueur est atteint

 

Faudra delete {game.start} quand la partie sera terminée

 

Si tu veux des précisions ou autres dis moi

Modifié par Lemrigue
  • Merci 1
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.