Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Je créer se sujet dans l'optique que quelqu'un puisse me réalisé ce petit skript.

Version MC: 1.12.2

Version Skript: 2.2dev27

 

Ce skript consiste en une fonction ou commande (n'importe), de répartir automatiquement les joueurs dans 2 équipes différentes.
Si 10 joueurs sont sur le serveur, le skript devra donc mettre 5 joueurs dans un équipe bleu et les 5 autres dans l'équipe rouge.

En revanche si 10 joueurs sont sur le serveur, le skript devra alors mettre 6 joueurs dans l'équipes bleu et 5 dans l'équipes rouge (ou inversement)

 

Merci par avance.

Posté(e)

Salut,

Voici ce que j'utilise (à toi d'adapter ton code / de l'intégrer à ton skript) Il réalise entièrement ce que tu demandes 🙂

{team.red} = Equipe Rouge

{team.blue} = Equipe bleue

#Function pour définir le joueur dans la team bleu ou rouge

function SetPlayerColor(p: text, color: text):
	set {_p} to "%{_p}%" parsed as player
	wait 0.5 tick
	{_color} is "red":
		if {color.%{_p}%} is "red":
			send "{@prefix} &bVous êtes déjà dans l'équipe &cRouge" to {_p}
			stop
		else:
			if {color.%{_p}%} is "blue":
				remove 1 from {team.blue}
				wait 0.1 tick
				set {color.%{_p}%} to "red"
				add 1 to {team.red}
				set {_p} tab name to "&c%{_p}%"
				set {equipe.%{_p}%} to true
				set {mj.%{_p}%} to "Dedans"
				make console execute command "/nte player %{_p}% prefix &c"
				wait 0.1 tick
				send "{@prefix} &bVous rejoignez l'équipe &cRouge &b!" to {_p}
				stop
			if {team.red} >= 50:
				send "{@prefix} &bL'équipe &cRouge &best complète." to {_p}
				stop
			else:
				if {team.red} > {team.blue}:
					send "{@prefix} &bL'équipe &cRouge &best complète !" to {_p}
					if {color.%{_p}%} is "red":
						remove 1 from {team.red}
					wait 0.1 tick
					set {color.%{_p}%} to "blue"
					add 1 to {team.blue}
					set {_p} tab name to "&9%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					make console execute command "/nte player %{_p}% prefix &9"
					wait 0.1 tick
					send "{@prefix} &bVous rejoignez l'équipe &9Bleue &b!" to {_p}
					stop
				if {team.red} < {team.blue}:
					if {color.%{_p}%} is "blue":
						remove 1 from {team.blue}
					wait 0.1 tick
					set {color.%{_p}%} to "red"
					add 1 to {team.red}
					set {_p} tab name to "&c%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					make console execute command "/nte player %{_p}% prefix &c"
					wait 0.1 tick
					send "{@prefix} &bVous rejoignez l'équipe &cRouge &b!" to {_p}
					stop
				if {team.blue} = {team.red}:
					if {color.%{_p}%} is "blue":
						message "{@prefix} &bL'équipe &cRouge &best &ccomplète&b." to {_p}
						stop
					wait 0.1 tick
					set {color.%{_p}%} to "red"
					add 1 to {team.red}
					set {_p} tab name to "&c%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					make console execute command "/nte player %{_p}% prefix &c"
					wait 0.1 tick
					send "{@prefix} &bVous rejoignez l'équipe &cRouge &b!" to {_p}
					stop

	{_color} is "blue":
		if {color.%{_p}%} is "blue":
			send "{@prefix} &bVous êtes déjà dans l'équipe &9Bleue" to {_p}
			stop
		else:
			if {color.%{_p}%} is "red":
				remove 1 from {team.red}
				wait 0.1 tick
				set {color.%{_p}%} to "blue"
				add 1 to {team.blue}
				set {_p} tab name to "&9%{_p}%"
				set {equipe.%{_p}%} to true
				set {mj.%{_p}%} to "Dedans"
				make console execute command "/nte player %{_p}% prefix &9"
				wait 0.1 tick
				send "{@prefix} &bVous rejoignez l'équipe &9Bleue &b!" to {_p}
				stop
			if {team.blue} >= 50:
				send "{@prefix} &bL'équipe &9Bleue &best complète." to {_p}
				stop
			else:
				if {team.blue} > {team.red}:
					send "{@prefix} &bL'équipe &9Bleue &best complète !" to {_p}
					if {color.%{_p}%} is "blue":
						remove 1 from {team.blue}
					wait 0.1 tick
					set {color.%{_p}%} to "red"
					add 1 to {team.red}
					set {_p} tab name to "&c%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					wait 0.1 tick
					make console execute command "/nte player %{_p}% prefix &c"
					send "{@prefix} &bVous rejoignez l'équipe &cRouge &b!" to {_p}
					stop
				if {team.blue} < {team.red}:
					if {color.%{_p}%} is "red":
						remove 1 from {team.red}
					wait 0.1 tick
					set {color.%{_p}%} to "blue"
					add 1 to {team.blue}
					set {_p} tab name to "&9%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					make console execute command "/nte player %{_p}% prefix &9"
					wait 0.1 tick
					send "{@prefix} &bVous rejoignez l'équipe &9Bleue &b!" to {_p}
					stop
				if {team.blue} = {team.red}:
					if {color.%{_p}%} is "red":
						message "{@prefix} &bL'équipe &9Bleue &best &ccomplète&b." to {_p}
						stop
					wait 0.1 tick
					set {color.%{_p}%} to "blue"
					add 1 to {team.blue}
					set {_p} tab name to "&9%{_p}%"
					set {equipe.%{_p}%} to true
					set {mj.%{_p}%} to "Dedans"
					make console execute command "/nte player %{_p}% prefix &9"
					wait 0.1 tick
					send "{@prefix} &bVous rejoignez l'équipe &9Bleue &b!" to {_p}
					stop



#Système pour répartir les joueurs lors du lancement de la partie

					loop all players:
						if {team.blue} > {team.red}:
							wait 2 ticks
							if {team.red} < {team.blue}:
								SetPlayerColor("%loop-player%", "red")
						if {team.red} > {team.blue}:
							wait 2 ticks
							if {team.blue} < {team.red}:
								SetPlayerColor("%loop-player%", "blue")

 

Posté(e)

Salut.

J'ai fait un petit script permettant la répartition des joueurs dans les équipes rouge et bleue 🤨. Les variables sont :

  • {team.red::*} : contient les joueurs de l'équipe rouge.
  • {team.blue::*} : contient les joueurs de l'équipe bleue.
  • {team.%player%} : définit l'équipe d'un joueur. Soit c'est "red", soit c'est "blue".

J'ai ajouté une commande "/informations" qui donne le nombre de joueurs dans chaque équipe ainsi que les joueurs de chaque équipe.

Comment ça marche ? À chaque fois qu'un joueur rejoint le serveur, il est répartit dans une équipe. S'il y a plus de joueurs dans l'équipe rouge, le joueur ira dans l'équipe bleue. S'il y a plus de joueurs dans l'équipe bleue, le joueur ira dans l'équipe rouge. Si les deux équipes ont le même nombre de joueurs, le joueur ira dans une équipe au hasard.

Lorsqu'un joueur quitte le serveur, il quitte aussi son équipe. Voici le code :

command /informations:
	trigger:
		send "&7Nombre de joueurs dans l'équipe rouge : &c%size of {team.red::*}%&7."
		send "&7Nombre de joueurs dans l'équipe bleue : &9%size of {team.blue::*}%&7."
		if size of {team.red::*} is not 0:
			send "&7Les joueurs de l'équipe rouge sont :"
			loop {team.red::*}:
				send "&a- %loop-value%"
		if size of {team.blue::*} is not 0:
			send "&7Les joueurs de l'équipe bleue sont :"
			loop {team.blue::*}:
				send "&a- %loop-value%"
		if sender is a player:
			if {team.%player%} is set:
				if {team.%player%} is "red":
					send "&7Tu es dans l'équipe &crouge&7."
				else if {team.%player%} is "blue":
					send "&7Tu es dans l'équipe &9bleue&7."

on join:
	if {team.%player%} is not set:
		set {_size.red} to size of {team.red::*}
		set {_size.blue} to size of {team.blue::*}
		if {_size.red} > {_size.blue}:
			set {team.%player%} to "blue"
			add player to {team.blue::*}
		else if {_size.red} < {_size.blue}:
			set {team.%player%} to "red"
			add player to {team.red::*}
		else if {_size.red} = {_size.blue}:
			chance of 50%:
				set {team.%player%} to "blue"
				add player to {team.blue::*}
			else:
				set {team.%player%} to "red"
				add player to {team.red::*}

on quit:
	if {team.%player%} is set:
		set {_team} to {team.%player%}
		remove player from {team.%{_team}%::*}
		clear {team.%player%}

on chat:
	if {team.%player%} is set:
		if {team.%player%} is "red":
			set player's display name to "&cRouge %player%"
		else if {team.%player%} is "blue":
			set player's display name to "&9Bleu %player%"

 

  • Merci 2
Posté(e)

Merci beaucoup je test ça 😉

 

Tu pourrais mettre ce skript dans #snippets  sur le discord de skript-mc, ca aiderai pas mal de personnes je pense !

  • Joriis a verrouillé ce sujet
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.