Aller au contenu

Question

Posté(e)

Version de Minecraft : 1.16.5
Version de Skript2.6-beta3

Addons utilisés: RandomSK, Skellet, Skunity, TuSke

Type du skript : Skript Loup Garou de thiercelieux

Description du script : Un skript Loup-Garou avec assignation de rôles aléatoirement

Bonjour/bonsoir, je fais une demande aujourd'hui car j'ai un petit soucis avec mes rôles aléatoires. Enfaite j'ai assigner les rôles aux joueurs mais parfois on se retrouve sans rôle je ne comprend pas pourquoi je vous montre ce que j'ai fait j'espère que vous pourrez m'aider

function lg_StartGame():
	set {_roles::*} to {lg::roles::*}
	loop {lg.players::*}:
		set {_role} to a random element out of {_roles::*}
		set {lg::roles::%{_role}%} to loop-value
		remove {_role} from {_roles::*}

 

Cordialement,

LEZIKO

11 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour, 

Effectivement c'est le skript que je t'avais donné la dernière fois. De mon côté tous marche parfaitement. 

Ton problème pourrait être dû un trop grand nombre de joueur par rapport aux nombre de rôles. Pourrais tu donner le reste du skript ou tu ajoutes les rôles dans la varaible stp 

{lg::roles::*}
  • 0
Posté(e)

Bonjour,

Effectivement c'était dans la continuité de mon Loup-Garou que j'avais bien avancé et je pensais que c'était réglé mais jsp pk ça ne veut pas mais pas  de soucis je t'envoi ça et merci pour ton aide 🙂

#Loup garou type fantabobworld
#roles: sorcière, loup-garous, Loup-Garou alpha, prêtre, villageois, chasseur, voyante, cupidon, petite fille, le maire

on load:
	set {lg.maxplayers} to 10
	set {lg.minplayers} to 1
	set {lg.statue} to false


options:
	p: &7[LG] &8&l»&r
	timer_before_starting: 10
	start_in_message: &2La partie commence dans &6%{_time}% &2seconde%{_pluriel}%&e.


command /lg [<text>]:
	trigger:
		if arg 1 is "join":
			if {lg.statue} is false:
				lg_join(player)
			else:
				send "{@p} &cLa partie est déjà en cours !" to player
		else if arg 1 is "leave":
			lg_leave(player)
		else if arg 1 is not set:
			send "&7&m----------------------------------------------"
			send "&2/lg &ajoin &7| Permet de rejoindre une partie"
			send "&2/lg &aleave &7| Permet de quitter la partie"
			send "&7&m----------------------------------------------"

command /alg [<text>] [<text>]:
	permission: admin.loupgarou
	permission message: "&cTu n'as pas la permission de faire cette action !" to player
	trigger:
		if arg 1 is "setwaitlobby":
			set {alg.setwaitlobby} to player's location
			send "{@p} &aTu as ajouté le lobby du lg !" to player
		else if arg 1 is "delwaitlobby":
			delete {alg.setwaitlobby}
			send "{@p} &aTu as supprimé le lobby d'attente" to player
		else if arg 1 is "setspawnspec":
			set {alg.setspawnspec} to player's location
			send "{@p} &aTu as ajouté le spawn de spectateur" to player
		else if arg 1 is "delspawnspec":
			delete {alg.setspawnspec}
			send "{@p} &aTu as supprimé le spawn des spectateurs" to player
		else if arg 1 is "addspawn":
			if arg 2 is set:
				add player's location to {locations::*}
				send "{@p} &aSpawn &b%arg 2% &aajouté" to player
		else if arg 1 is "resetspawn":
			clear {locations::*}
			send "{@p} &aSpawns supprimés" to player
		else if arg 1 is "debug":
			clear {lg.players::*}
			send "{@p} &adebug" to player

		else:
			send "&7&m----------------------------------------------"
			send "&2/alg &asetwaitlobby &7| Permet de set une salle d'attente"
			send "&2/alg &asetspawnspec &7| Permet de set le spawn de spectateur"
			send "&2/alg &asetspawn &7| Permet de set le spawn des joueurs"
			send "&2/alg &aresetspawn &7| Permet de reset tous les spawns"
			send "&2/alg &adelwaitlobby &7| Permet de supprimer la salle d'attente"
			send "&2/alg &adelspawnspec &7| Permet de supprimer le spawn des spectateurs"
			send "&2/alg &adebug &7| Permet de debug"
			send "&7&m----------------------------------------------"


function lg_join(p: player):
	lg_load()
	if {lg.statue} is false:
		if {lg.maxplayers} > size of {lg.players::*}:
			if {lg.players::*} does not contain {_p}:
				add {_p} to {lg.players::*}
				send "{@p} &a%{_p}% &ea rejoint la partie ! &7(&e%size of {lg.players::*}%&7/&6%{lg.maxplayers}%&7)" to {lg.players::*}
				teleport {_p} to {alg.setwaitlobby}
				clear {_p}'s inventory
				set {_p}'s flight mode to false
				set {_p}'s gamemode to adventure
				if {_p} has permission "lg.admin":
					set slot 8 of {_p} to barrier named "&cQuitter la partie &7(Clique-droit)"
				if size of {lg.players::*} = {lg.minplayers}:
					set {_time} to {@timer_before_starting}
					while size of {lg.players::*} >= {lg.minplayers}:
						if {_time} = 30, 15, 10, 5, 4, 3, 2 or 1:
							play sound "ENTITY_VILLAGER_HURT" at volume 20 at pitch 1 to {lg.players::*}
							set {_pluriel} to "s"
							if {_time} = 1:
								play sound "ENTITY_VILLAGER_DEATH" at volume 10 at pitch 1 to {lg.players::*}
								set {_pluriel} to ""
							send "{@p} {@start_in_message}" to {lg.players::*}
						if {_time} = 5, 4, 3, 2 or 1:
							send title "&c%{_time}%" with subtitle "&6seconde%{_pluriel}%" to {lg.players::*} for 0 second
						if {_time} = 0:
							clear inventory of {lg.players::*}
							heal {lg.players::*}
							apply blindness 250 to {lg.players::*} for 999 days
							apply jump boost 250 to {lg.players::*} for 999 days
							apply slowness 250 to {lg.players::*} for 999 days
							wait 10 ticks
							lg_load()
							set {_lg.locations::*} to {locations::*}
							loop {lg.players::*}:
								set {_spawn} to a random element out of {_lg.locations::*}
								teleport loop-value to {_spawn}
								remove {_spawn} from {_lg.locations::*}
							set {lg.statue} to true
							lg_StartGame()
							stop
						else:
							remove 1 from {_time}
							wait 1 second
					send "{@p} &cIl n'y a pas assez de joueurs." to {lg.players::*}
			else:
				send "{@p} &cVous êtes déjà dans la partie." to {_p}
		else:
			send "{@p} &cLa partie est pleine." to {_p}
	else:
		send "{@p} &cLa partie a déjà commencé." to {_p}

function lg_leave(p: player):
	if {lg.statue} is false:
		if {lg.players::*} contains {_p}:
			remove {_p} from {lg.players::*}
			send "{@p} &c%{_p}% &ea quitté la partie ! &7(&e%size of {lg.players::*}%&7/&e%{lg.maxplayers}%&7)" to {lg.players::*}
			send "{@p} &cVous avez quitté la partie !" to {_p}
			make console execute command "/effect clear %{_p}%"
			teleport {_p} to {hub}
			lg_reset()
	else if {lg.statue} is true:
		if {lg.players::*} contains {_p}:
			make console execute command "/effect clear %{_p}%"
			teleport {_p} to {hub}
			remove {_p} from {lg.players::*}
			send "{@p} &4%{_p}% &ca quitté la partie." to {lg.players::*}
			if size of {lg.players::*} = 1:
				make console execute command "/effect clear %{_p}%"
				teleport {lg.players::*} to {hub}
				teleport {lg.spectators::*} to {hub}
				set {lg.players::*}'s gamemode to adventure
				set {lg.spectators::*}'s gamemode to adventure
				set {lg.statue} to false
				clear {lg.players::*}
				clear {lg.spectators::*}
				lg_reset()
			if size of {lg.players::*} = 0:
				make console execute command "/effect clear %{_p}%"
				set {lg.statue} to false
				set {lg.cupidon} to false
				clear {lg::players::*}
				clear {lg::roles::*}
				lg_reset()
			send "{@p} &cVous avez quitté la partie." to {_p}
		else:
			send "{@p} &cVous n'êtes pas dans la partie !" to {_p}


function lg_reset():
	clear {lg.players::*}
	clear {lg::roles::*}
	clear {lg.morts::*}
	clear {lg.spectators::*}
	clear {lg.spawn.un}
	clear {lg.spawn.deux}
	clear {lg.spawn.trois}
	clear {lg.spawn.quatre}
	clear {lg.spawn.cinq}
	clear {lg.spawn.six}
	clear {lg.spawn.sept}
	clear {lg.spawn.huit}
	clear {lg.spawn.neuf}
	clear {lg.spawn.dix}

function lg_load():
	add "cupidon" to {lg::roles::*}
	add "voyante" to {lg::roles::*}
	add "loup1" to {lg::roles::*}
	add "loup2" to {lg::roles::*}
	add "petitefille" to {lg::roles::*}
	add "chasseur" to {lg::roles::*}
	add "docteur" to {lg::roles::*}
	add "sorciere" to {lg::roles::*}
	set {cupidon.statue} to false
	set {voyante.statue} to false
	set {loup.statue} to false
	set {chasseur.statue} to false


function lg_morts(p: player):
	if {lg.morts::*} contains {_p}:
		strike lightning at {lg.morts::*}
		set {_p}'s gamemode to spectator
		set slot 0 of {_p}'s inventory to 1 compass named "&7Spectateur"
		set slot 8 of {_p}'s inventory to 1 barrier named "&cQuitter la partie &7(Clique-droit)"
		remove {_p} from {lg.players::*}
		remove {_p} from {lg.morts::*}

on quit:
	lg_leave(player)

on right click with barrier:
	if player's world is "lg":
		lg_leave(player)

on disconnect:
	lg_leave(player)

on walk on gold block:
	if player's world is "lg":
		loop all players in radius 15 around the event-block:
			if loop-player is not player:
				send "{@p} &7Maison de &b%loop-player%" to player

on command "/hub":
	lg_leave(player)


on chat:
	if {lg.players::*}'s world is "lg":
		if {night.statue} is true:
			cancel event


function lg_StartGame():
	set {_roles::*} to {lg::roles::*}
	loop {lg.players::*}:
		set {_role} to a random element out of {_roles::*}
		set {lg::roles::%{_role}%} to loop-value
		remove {_role} from {_roles::*}
	send title "&aTu es &bCupidon" with subtitle "&6Gagne avec le village" to {lg::roles::cupidon} for 2.5 seconds
	set {lg.spawn.un} to {lg::roles::cupidon}'s location
	send title "&aTu es &5Voyante" with subtitle "&6Gagne avec le village" to {lg::roles::voyante} for 2.5 seconds
	set {lg.spawn.deux} to {lg::roles::voyante}'s location
	send title "&aTu es &cLoup-Garou" with subtitle "&4Gagne avec les Loups" to {lg::roles::loup1} for 2.5 seconds
	set {lg.spawn.trois} to {lg::roles::loupun}'s location
	send title "&aTu es &cLoup-Garou" with subtitle "&4Gagne avec les Loups" to {lg::roles::loup2} for 2.5 seconds
	set {lg.spawn.quatre} to {lg::roles::loupdeux}'s location
	send title "&aTu es &3Petite fille" with subtitle "&6Gagne avec le village" to {lg::roles::petitefille} for 2.5 seconds
	set {lg.spawn.cinq} to {lg::roles::petitefille}'s location
	send title "&aTu es &2Chasseur" with subtitle "&6Gagne avec le village" to {lg::roles::chasseur} for 2.5 seconds
	set {lg.spawn.six} to {lg::roles::chasseur}'s location
	send title "&aTu es &9Docteur" with subtitle "&6Gagne avec le village" to {lg::roles::docteur} for 2.5 seconds
	set {lg.spawn.sept} to {lg::roles::docteur}'s location
	send title "&aTu es &eSorcière" with subtitle "&6Gagne avec le village" to {lg::roles::sorcière} for 2.5 seconds
	set {lg.spawn.huit} to {lg::roles::sorcière}'s location
	set {night.statue} to true
	play sound "ambient.weather.lightning.impact" at volume 10 at pitch 1 to {lg.players::*}
	wait 10 seconds
	lg_cupidon()
	wait 20 seconds
	lg_voyante()
	wait 20 seconds
	lg_loups()
	lg_petitefille()
on world change:
	if player's world is "lg":
		if {night.statue} is true:
			set time of the world "lg" to 02:00
		else if {night.statue} is false:
			set time of the world "lg" to 12:00

function lg_cupidon():
	if {lg.statue} is true:
		set {cupidon.statue} to true
		if {cupidon.statue} is true:
			send "{@p} &aC'est autour de &bCupidon &aqui va choisir deux amants" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::cupidon}%"
			send "{@p} &aTu as &c1:30 minutes &apour jouer ton tour" to {lg::roles::cupidon}
			wait 19 seconds
			apply blindness 250 to {lg::roles::cupidon} for 999 days
			apply jump boost 250 to {lg::roles::cupidon} for 999 days
			apply slowness 250 to {lg::roles::cupidon} for 999 days
			wait 1 second
			teleport {lg::roles::cupidon} to {lg.spawn.un}
			send "{@p} &aTon tour est &cterminé" to {lg::roles::cupidon}
			set {cupidon.statue} to false
on right click on player:
	if {cupidon.statue} is true:
		add clicked entity to {_lgcouple::*}
		send "{@p} &6Tu as séléctionné(e) &c%clicked entity% &6pour être en couple" to {lg::roles::cupidon}
	else if size of {_lgcouple::*} > 2:
		send "{@p} &cTu as déjà mis le nombre maximum de joueurs dans un couple" to {lg::roles::cupidon}
	else if size of {_lgcouple::*} = 2:
		send "{@p} &bTu es en couple avec %2nd element of {_lgcouple::*}%" to 1st element of {_lgcouple::*}
		send "{@p} &bTu es en couple avec %1st element of {_lgcouple::*}%" to 2nd element of {_lgcouple::*}


function lg_voyante():
	if {lg.statue} is true:
		set {voyante.statue} to true
		if {voyante.statue} is true:
			send "{@p} &aC'est autour de la &5Voyante &aqui va regarder la personnalité d'un joueur" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::voyante}%"
			send "{@p} &aTu as &c1:30 minutes &apour jouer ton tour" to {lg::roles::voyante}
			wait 19 seconds
			apply blindness 250 to {lg::roles::voyante} for 999 days
			apply jump boost 250 to {lg::roles::voyante} for 999 days
			apply slowness 250 to {lg::roles::voyante} for 999 days
			wait 10 ticks
			teleport {lg::roles::voyante} to {lg.spawn.deux}
			send "{@p} &aTon tour est &cterminé" to {lg::roles::voyante}
			set {voyante.statue} to false
on right click on player:
	if {voyante.statue} is true:
		if {lg::roles::cupidon} contains clicked entity:
			send "{@p} &6Le joueur &b%clicked entity% &6est &bCupidon" to {lg::roles::voyante}
		else if {lg::roles::loups} contains clicked entity:
			send "{@p} &6Le joueur &b%clicked entity% &6est &cLoup-Garou" to {lg::roles::voyante}
		else if {lg::roles::petitefille} contains clicked entity:
			send "{@p} &6Le joueur &b%clicked entity% &6est &3Petite Fille" to {lg::roles::voyante}
		else if {lg::roles::chasseur} contains clicked entity:
			send "{@p} &6Le joueur &b%clicked entity% &6est &2Chasseur" to {lg::roles::voyante}
		else if {lg::roles::docteur} contains clicked entity:
			send "{@p} &6Le joueur &b%clicked entity% &6est &9Docteur" to {lg::roles::voyante}



function lg_loups():
	if {lg.statue} is true:
		set {loup.statue} to true
		if {loup.statue} is true:
			send "{@p} &aC'est autour des &cLoups-Garous &aqui vont faire une &cvictime &ace soir" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::loupun}%"
			make console execute command "/effect clear %{lg::roles::loupdeux}%"
			send "{@p} &aTu as &c1:30 minutes &apour faire une &cvictime" to {lg::roles::loupun}
			send "{@p} &aTu as &c1:30 minutes &apour faire une &cvictime" to {lg::roles::loupdeux}
			wait 19 seconds
			apply blindness 250 to {lg::roles::loupun} for 999 days
			apply jump boost 250 to {lg::roles::loupun} for 999 days
			apply slowness 250 to {lg::roles::loupun} for 999 days
			apply blindness 250 to {lg::roles::loupdeux} for 999 days
			apply jump boost 250 to {lg::roles::loupdeux} for 999 days
			apply slowness 250 to {lg::roles::loupdeux} for 999 days
			wait 1 second
			teleport {lg::roles::loupun} to {lg.spawn.trois}
			teleport {lg::roles::loupdeux} to {lg.spawn.quatre}
			send "{@p} &aVotre tour est &cterminé" to {lg::roles::loupun}
			send "{@p} &aVotre tour est &cterminé" to {lg::roles::loupdeux}
			set {loup.statue} to false
on rightclick on player:
	if {loup.statue} is true:
		set {_vote} to 0
		add 1 to {_vote}
		add {_vote} to clicked entity
		send "{@p} &aTu souhaite éliminer &c%clicked entity%" to player
	if {lg::roles::loupun} = 1:
		if {lg::roles::loupdeux} = 1:
			if {_vote} = 1:
				lg_morts(player)
	else if {lg::roles::loupun} = 2:
		if {lg::roles::loupun} = 2:
			if {_vote} = 2:
				lg_morts(player)
	else:
		send "{@p} &4Les &cLoups-Garous &4ne se sont pas mis d'accord" to {lg.players::*}


function lg_petitefille():
	if {lg.statue} is true:
		if {loup.statue} is true:
			make console execute command "/effect clear %{lg::roles::petitefille}%"
			if {loup.statue} is false:
				apply blindness 250 to {lg::roles::petitefille} for 999 days
				apply jump boost 250 to {lg::roles::petitefille} for 999 days
				apply slowness 250 to {lg::roles::petitefille} for 999 days
				teleport {lg::roles::petitefille} to {lg.spawn.cinq}
				send "{@p} &aTon tour est &cterminé" to {lg::roles::petitefille}

function lg_chasseur(p: player):
	if {lg.statue} is true:
		if {chasseur.statue} is true:
			if {lg.morts::*} contains {lg::roles::chasseur}:
				send "{@p} &aLe chasseur possède une dernière &cballe" to {lg.players::*}
				set slot 1 of {lg::roles::chasseur}'s inventory to 1 crossbow named "&bFusil"
on right click with crossbow:
	if player's world is "lg":
		if {lg::roles::chasseur} contains player:


command /tester:
	trigger:
		set {_slot} to 0
		loop all players:
			set {_p} to loop-player
			open chest with 5 rows named "&bJoueur" to player
			format slot {_slot} of player with {_p}'s skull named "&b%loop-player%" to close then run [execute command "/kill %player%"]
			add 1 to {_slot}

Merci encore,                                                                                                                                                                                                                                                                                                                         LEZIKO

  • 0
Posté(e) (modifié)
il y a 13 minutes, LEZIKO a dit :

Bonjour,

Effectivement c'était dans la continuité de mon Loup-Garou que j'avais bien avancé et je pensais que c'était réglé mais jsp pk ça ne veut pas mais pas  de soucis je t'envoi ça et merci pour ton aide 🙂

Merci encore,                                                                                                                                                                                                                                                                                                                         LEZIKO

Tant mieux hésite pas à me mp sur ce forum ou a faire un nouveau poste pour d'autres problèmes. 🙂

 

 

 

Modifié par zarco70
  • 0
Posté(e)
il y a 1 minute, LEZIKO a dit :

Ah et dcp tu n'aurais pas une idée d'où le problème pourrait-il provenir ?

Ha ok j'avais pas compris ton message je croyais que tu avais trouvé le problème bon du coup je vais voir ton skript et regler le problème

  • 0
Posté(e)

Alors j'ai test plusieurs fois enfaite j'ai remplacé {lg.maxplayer} par 8 comme ça comme y'a que 8 rôles ça devrait mieux fonctionner donc j'ai suivi ce que t'as dit et pour l'instant plus de problème donc je pense que c'est réglé après faudra continuer mais j'ai test une dizaine de fois et j'ai toujours eu un rôle aléatoire

 

Merci beaucoup

  • 0
Posté(e) (modifié)

J'ai trouvé quelque chose non cohérent:

Ici dans ta fonction load on peut voir qu'il y a uniquement 8 roles dans la liste

function lg_load():
	clear {lg::roles::*}
	add "cupidon" to {lg::roles::*}
	add "voyante" to {lg::roles::*}
	add "loup1" to {lg::roles::*}
	add "loup2" to {lg::roles::*}
	add "petitefille" to {lg::roles::*}
	add "chasseur" to {lg::roles::*}
	add "docteur" to {lg::roles::*}
	add "sorciere" to {lg::roles::*}
	set {cupidon.statue} to false
	set {voyante.statue} to false
	set {loup.statue} to false
	set {chasseur.statue} to false

or dans ton on load on peut voir que le nombre de joueur max est fixé à 10

on load:
	set {lg.maxplayers} to 10
	set {lg.minplayers} to 1
	set {lg.statue} to false

C'est-à-dire que sur les 10 joueurs de la partie, deux joueurs n'auront pas de rôles. 

 

Edit; ha j'ai envoyé ce message en même temps que le tiens et on a trouvé la même erreur sa devrais marcher maintenant 

Modifié par zarco70
  • 0
Posté(e)

effectivement mais ça reste gâce à ton premier message sur ton hypothèse que ce soit le nombre de joueurs en tout cas je ne serais comment te remercier mais merci énormément

LEZIKO

 

  • 0
Posté(e)
à l’instant, LEZIKO a dit :

effectivement mais ça reste gâce à ton premier message sur ton hypothèse que ce soit le nombre de joueurs en tout cas je ne serais comment te remercier mais merci énormément

LEZIKO

 

Derien  🙂

 

  • 0
Posté(e)

Bonsoir,

je reviens  vers vous car je pensais le problème réglé mais je crois qu'il y a un seul rôle qui n'a rien jsp pk ça fait ça j'ai tout essayé je peux remettre le nouveau code mis à jour car la je bug depuis quelques jours:

#Loup garou type fantabobworld
#roles: sorcière, loup-garous, Loup-Garou alpha, prêtre, villageois, chasseur, voyante, cupidon, petite fille, le maire

on load:
	set {lg.maxplayers} to 9
	set {lg.minplayers} to 3
	set {lg.statue} to false


options:
	p: &7[LG] &8&l»&r
	timer_before_starting: 10
	start_in_message: &2La partie commence dans &6%{_time}% &2seconde%{_pluriel}%&e.


command /lg [<text>]:
	trigger:
		if arg 1 is "join":
			if {lg.statue} is false:
				lg_join(player)
			else:
				send "{@p} &cLa partie est déjà en cours !" to player
		else if arg 1 is "leave":
			lg_leave(player)
		else if arg 1 is not set:
			send "&7&m----------------------------------------------"
			send "&2/lg &ajoin &7| Permet de rejoindre une partie"
			send "&2/lg &aleave &7| Permet de quitter la partie"
			send "&7&m----------------------------------------------"

command /alg [<text>] [<integer>]:
	permission: admin.loupgarou
	permission message: &cTu n'as pas la permission de faire cette action !
	trigger:
		if arg 1 is "setwaitlobby":
			set {alg.setwaitlobby} to player's location
			send "{@p} &aTu as ajouté le lobby du lg !" to player
		else if arg 1 is "delwaitlobby":
			delete {alg.setwaitlobby}
			send "{@p} &aTu as supprimé le lobby d'attente" to player
		else if arg 1 is "setspawnspec":
			set {alg.setspawnspec} to player's location
			send "{@p} &aTu as ajouté le spawn de spectateur" to player
		else if arg 1 is "delspawnspec":
			delete {alg.setspawnspec}
			send "{@p} &aTu as supprimé le spawn des spectateurs" to player
		else if arg 1 is "addspawn":
			if arg 2 is set:
				add player's location to {locations::*}
				send "{@p} &aSpawn &b%arg 2% &aajouté" to player
		else if arg 1 is "resetspawn":
			clear {locations::*}
			send "{@p} &aSpawns supprimés" to player
		else if arg 1 is "debug":
			clear {lg.players::*}
			lg_reset()
			send "{@p} &adebug" to player

		else:
			send "&7&m----------------------------------------------"
			send "&2/alg &asetwaitlobby &7| Permet de set une salle d'attente"
			send "&2/alg &asetspawnspec &7| Permet de set le spawn de spectateur"
			send "&2/alg &asetspawn &7| Permet de set le spawn des joueurs"
			send "&2/alg &aresetspawn &7| Permet de reset tous les spawns"
			send "&2/alg &adelwaitlobby &7| Permet de supprimer la salle d'attente"
			send "&2/alg &adelspawnspec &7| Permet de supprimer le spawn des spectateurs"
			send "&2/alg &adebug &7| Permet de debug"
			send "&7&m----------------------------------------------"


function lg_join(p: player):
	lg_load()
	if {lg.statue} is false:
		if {lg.maxplayers} > size of {lg.players::*}:
			if {lg.players::*} does not contain {_p}:
				add {_p} to {lg.players::*}
				send "{@p} &a%{_p}% &ea rejoint la partie ! &7(&e%size of {lg.players::*}%&7/&6%{lg.maxplayers}%&7)" to {lg.players::*}
				teleport {_p} to {alg.setwaitlobby}
				clear {_p}'s inventory
				set {_p}'s flight mode to false
				set {_p}'s gamemode to adventure
				set slot 8 of {_p} to barrier named "&cQuitter la partie &7(Clique-droit)"
				if size of {lg.players::*} = {lg.minplayers}:
					set {_time} to {@timer_before_starting}
					while size of {lg.players::*} >= {lg.minplayers}:
						if {_time} = 30, 15, 10, 5, 4, 3, 2 or 1:
							play sound "dragons" with volume 20 and pitch 2 at {lg.players::*}
							set {_pluriel} to "s"
							if {_time} = 1:
								play sound "entity.experience_orb.pickup" with volume 20 and pitch 1 at {lg.players::*}
								set {_pluriel} to ""
							send "{@p} {@start_in_message}" to {lg.players::*}
						if {_time} = 10, 5, 4, 3, 2 or 1:
							send title "&c%{_time}%" with subtitle "&6seconde%{_pluriel}%" to {lg.players::*} for 1 second
						if {_time} = 0:
							lg_load()
							clear inventory of {lg.players::*}
							heal {lg.players::*}
							apply blindness 255 to {lg.players::*} for 999 days
							apply jump boost 250 to {lg.players::*} for 999 days
							apply slowness 255 to {lg.players::*} for 999 days
							wait 10 ticks
							set {_lg.locations::*} to {locations::*}
							loop {lg.players::*}:
								set {_spawn} to a random element out of {_lg.locations::*}
								teleport loop-value to {_spawn}
								remove {_spawn} from {_lg.locations::*}
							set {lg.statue} to true
							lg_StartGame()
							stop
						else:
							remove 1 from {_time}
							wait 1 second
					send "{@p} &cIl n'y a pas assez de joueurs." to {lg.players::*}
			else:
				send "{@p} &cVous êtes déjà dans la partie." to {_p}
		else:
			send "{@p} &cLa partie est pleine." to {_p}
	else:
		send "{@p} &cLa partie a déjà commencé." to {_p}

function lg_leave(p: player):
	if {lg.statue} is false:
		if {lg.players::*} contains {_p}:
			remove {_p} from {lg.players::*}
			send "{@p} &c%{_p}% &ea quitté la partie ! &7(&e%size of {lg.players::*}%&7/&e%{lg.maxplayers}%&7)" to {lg.players::*}
			send "{@p} &cVous avez quitté la partie !" to {_p}
			make console execute command "/effect clear %{_p}%"
			teleport {_p} to {hub}
	else if {lg.statue} is true:
		if {lg.players::*} contains {_p}:
			make console execute command "/effect clear %{_p}%"
			teleport {_p} to {hub}
			remove {_p} from {lg.players::*}
			send "{@p} &4%{_p}% &ca quitté la partie." to {lg.players::*}
			if size of {lg.players::*} = 1:
				make console execute command "/effect clear %{lg.players::*}%"
				teleport {lg.players::*} to {hub}
				teleport {lg.spectators::*} to {hub}
				set {lg.players::*}'s gamemode to adventure
				set {lg.spectators::*}'s gamemode to adventure
				set {lg.statue} to false
				clear {lg.players::*}
				clear {lg.spectators::*}
				lg_reset()
			if size of {lg.players::*} = 0:
				make console execute command "/effect clear %{_p}%"
				set {lg.statue} to false
				set {lg.cupidon} to false
				clear {lg::players::*}
				clear {lg::roles::*}
			send "{@p} &cVous avez quitté la partie." to {_p}
		else:
			send "{@p} &cVous n'êtes pas dans la partie !" to {_p}


function lg_reset():
	clear {lgcouple::*}
	clear {lg.players::*}
	clear {lg::roles::*}
	clear {lg.morts::*}
	clear {lg.spectators::*}
	clear {lg.spawn.un}
	clear {lg.spawn.deux}
	clear {lg.spawn.trois}
	clear {lg.spawn.quatre}
	clear {lg.spawn.cinq}
	clear {lg.spawn.six}
	clear {lg.spawn.sept}
	clear {lg.spawn.huit}
	clear {lg.spawn.neuf}
	clear {lg.spawn.dix}

function lg_load():
	add "cupidon" to {lg::roles::*}
	add "voyante" to {lg::roles::*}
	add "loupun" to {lg::roles::*}
	add "loupun" to {lg::roles::*}
	add "petitefille" to {lg::roles::*}
	add "chasseur" to {lg::roles::*}
	add "docteur" to {lg::roles::*}
	add "sorciere" to {lg::roles::*}
	add "villageois" to {lg::roles::*}



function lg_morts(p: player):
	if {lg.statue} is true:
		if {lg.morts::*} contains {_p}:
			strike lightning at {lg.morts::*}
			set {_p}'s gamemode to spectator
			set slot 0 of {_p}'s inventory to 1 compass named "&7Spectateur"
			set slot 8 of {_p}'s inventory to 1 barrier named "&cQuitter la partie &7(Clique-droit)"
			remove {_p} from {lg.players::*}
			loop all players:
				if {lg.morts::*} contains loop-player:
					if distance between loop-player and {alg.setspawnspec} > 100:
						teleport loop-player to {alg.setspawnspec}
on quit:
	lg_leave(player)


on rightclick on a chest:
	cancel event


on right click with barrier:
	if player's world is "lg":
		lg_leave(player)

on disconnect:
	lg_leave(player)

on walk on gold block:
	if {night.statue} is true:
		if player's world is "lg":
			loop all players in radius 15 around the event-block:
				if loop-player is not player:
					send "{@p} &7Maison de &b%loop-player%" to player
	else:

on command "/hub":
	lg_leave(player)


on chat:
	if {lg.players::*}'s world is "lg":
		if {night.statue} is true:
			cancel event


function lg_StartGame():
	set {_roles::*} to {lg::roles::*}
	loop {lg.players::*}:
		set {_role} to a random element out of {_roles::*}
		set {lg::roles::%{_role}%} to loop-value
		remove {_role} from {_roles::*}
	send title "&aTu es &bCupidon" with subtitle "&6Gagne avec le village" to {lg::roles::cupidon} for 2.5 seconds
	set {lg.spawn.un} to {lg::roles::cupidon}'s location
	send title "&aTu es &5Voyante" with subtitle "&6Gagne avec le village" to {lg::roles::voyante} for 2.5 seconds
	set {lg.spawn.deux} to {lg::roles::voyante}'s location
	send title "&aTu es &cLoup-Garou" with subtitle "&4Gagne avec les Loups" to {lg::roles::loupun} for 2.5 seconds
	set {lg.spawn.trois} to {lg::roles::loupun}'s location
	send title "&aTu es &cLoup-Garou" with subtitle "&4Gagne avec les Loups" to {lg::roles::loupdeux} for 2.5 seconds
	set {lg.spawn.quatre} to {lg::roles::loupdeux}'s location
	send title "&aTu es &3Petite fille" with subtitle "&6Gagne avec le village" to {lg::roles::petitefille} for 2.5 seconds
	set {lg.spawn.cinq} to {lg::roles::petitefille}'s location
	send title "&aTu es &2Chasseur" with subtitle "&6Gagne avec le village" to {lg::roles::chasseur} for 2.5 seconds
	set {lg.spawn.six} to {lg::roles::chasseur}'s location
	send title "&aTu es &9Docteur" with subtitle "&6Gagne avec le village" to {lg::roles::docteur} for 2.5 seconds
	set {lg.spawn.sept} to {lg::roles::docteur}'s location
	send title "&aTu es &eSorcière" with subtitle "&6Gagne avec le village" to {lg::roles::sorciere} for 2.5 seconds
	set {lg.spawn.huit} to {lg::roles::sorcière}'s location
	send title "&aTu es &6Villageois" with subtitle "&6Gagne avec le village" to {lg::roles::villageois} for 2.5 seconds
	set {lg.spawn.neuf} to {lg::roles::villageois}'s location
	set {night.statue} to true
	play sound "ambient.weather.lightning.impact" at volume 10 at pitch 1 to {lg.players::*}
	wait 10 seconds
	lg_cupidon()
	wait 20 seconds
	lg_voyante()
	wait 20 seconds
	lg_loups()
	lg_petitefille()
	wait 20 seconds
on world change:
	if player's world is "lg":
		if {night.statue} is true:
			set time of the world "lg" to 02:00
		else if {night.statue} is false:
			set time of the world "lg" to 12:00

function lg_cupidon():
	set {cupidon.statue} to true
	if {lg.statue} is true:
		if {cupidon.statue} is true:
			send "{@p} &aC'est au tour de &bCupidon &aqui va choisir deux amants" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::cupidon}%"
			send "{@p} &aTu as &c1:30 minutes &apour jouer ton tour" to {lg::roles::cupidon}
			wait 89 seconds
			apply blindness 250 to {lg::roles::cupidon} for 999 days
			apply jump boost 250 to {lg::roles::cupidon} for 999 days
			apply slowness 250 to {lg::roles::cupidon} for 999 days
			wait 1 second
			teleport {lg::roles::cupidon} to {lg.spawn.un}
			send "{@p} &aTon tour est &cterminé" to {lg::roles::cupidon}
			set {cupidon.statue} to false

function lg_voyante():
	set {cupidon.statue} to true
	if {lg.statue} is true:
		if {voyante.statue} is true:
			send "{@p} &aC'est au tour de la &5Voyante &aqui va regarder la personnalité d'un joueur" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::voyante}%"
			send "{@p} &aTu as &c1:30 minutes &apour jouer ton tour" to {lg::roles::voyante}
			wait 89 seconds
			apply blindness 250 to {lg::roles::voyante} for 999 days
			apply jump boost 250 to {lg::roles::voyante} for 999 days
			apply slowness 250 to {lg::roles::voyante} for 999 days
			wait 10 ticks
			teleport {lg::roles::voyante} to {lg.spawn.deux}
			send "{@p} &aTon tour est &cterminé" to {lg::roles::voyante}
			set {voyante.statue} to false



function lg_loups():
	if {lg.statue} is true:
		if {loup.statue} is true:
			send "{@p} &aC'est au tour des &cLoups-Garous &aqui vont faire une &cvictime &ace soir" to {lg.players::*}
			make console execute command "/effect clear %{lg::roles::loupun}%"
			make console execute command "/effect clear %{lg::roles::loupdeux}%"
			send "{@p} &aTu as &c1:30 minutes &apour faire une &cvictime" to {lg::roles::loupun}
			send "{@p} &aTu as &c1:30 minutes &apour faire une &cvictime" to {lg::roles::loupdeux}
			wait 19 seconds
			apply blindness 250 to {lg::roles::loupun} for 999 days
			apply jump boost 250 to {lg::roles::loupun} for 999 days
			apply slowness 250 to {lg::roles::loupun} for 999 days
			apply blindness 250 to {lg::roles::loupdeux} for 999 days
			apply jump boost 250 to {lg::roles::loupdeux} for 999 days
			apply slowness 250 to {lg::roles::loupdeux} for 999 days
			wait 1 second
			teleport {lg::roles::loupun} to {lg.spawn.trois}
			teleport {lg::roles::loupdeux} to {lg.spawn.quatre}
			send "{@p} &aVotre tour est &cterminé" to {lg::roles::loupun}
			send "{@p} &aVotre tour est &cterminé" to {lg::roles::loupdeux}
			set {loup.statue} to false


function lg_petitefille():
	if {lg.statue} is true:
		if {loup.statue} is true:
			if {petitefille.statue} is true:
				make console execute command "/effect clear %{lg::roles::petitefille}%"
				if {loup.statue} is false:
					apply blindness 250 to {lg::roles::petitefille} for 999 days
					apply jump boost 250 to {lg::roles::petitefille} for 999 days
					apply slowness 250 to {lg::roles::petitefille} for 999 days
					teleport {lg::roles::petitefille} to {lg.spawn.cinq}
					send "{@p} &aTon tour est &cterminé" to {lg::roles::petitefille}

function lg_chasseur(p: player):
	if {lg.statue} is true:
		if {chasseur.statue} is true:
			if {lg.morts::*} contains {lg::roles::chasseur}:
				send "{@p} &aLe chasseur possède une dernière &cballe" to {lg.players::*}
				set slot 1 of {lg::roles::chasseur}'s inventory to 1 crossbow named "&bFusil"
on right click with crossbow:
	if player's world is "lg":
		if {lg::roles::chasseur} contains player:
			loop {lg.players::*}:
				set {_slot} to 0
				set {_p} to loop-value
				open chest with 5 rows named "&eVillageois" to player
				format slot {_slot} of player with {_p}'s skull named "&a%loop-value%" to close then run [execute console command "/kill %player%"]
				add 1 to {_slot}

function lg_villageois():
	if {lg.statue} is true:
		if {villageois.statue} is true:
			if {night.statue} is false:
				make console execute command "/effect clear %{lg::roles::villageois}%"

function lg_sorciere():





on right click on player:
	if {lg.statue} is true:
		if {cupidon.statue} is true:
			if {lg::roles::cupidon} contains player:
				if {lgcouple::*} does not contain clicked entity:
					if size of {lgcouple::*} < 2:
						add clicked entity to {lgcouple::*}
						send "{@p} &aTu as séléctioné &b%clicked entity%" to {lg::roles::cupidon}
						if size of {lgcouple::*} = 2:
							send "{@p} &aVous êtes en couple avec &b%1st element out of {lgcouple::*}%" to 1st element out of {lgcouple::*}
							send "{@p} &aVous êtes en couple avec &b%2nd element out of {lgcouple::*}%" to 1st element out of {lgcouple::*}
					else:
						send "{@p} &cTu as déjà séléctioné ce joueur" to {lg::roles::cupidon}
				else:
					send "{@p} &cTu ne peux plus mettre de joueurs en couple" to {lg::roles::cupidon}
		else if {voyante.statue} is true:
			if {lg::roles::cupidon} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &bCupidon" to {lg::roles::voyante}
			else if {lg::roles::loupun} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &cLoup-Garou" to {lg::roles::voyante}
			else if {lg::roles::loupdeux} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &cLoup-Garou" to {lg::roles::voyante}
			else if {lg::roles::petitefille} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &3Petite Fille" to {lg::roles::voyante}
			else if {lg::roles::chasseur} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &2Chasseur" to {lg::roles::voyante}
			else if {lg::roles::docteur} contains clicked entity:
				send "{@p} &6Le joueur &b%clicked entity% &6est &9Docteur" to {lg::roles::voyante}

voila en espérant que vous arriverez à m'aider,

Merci,

LEZIKO

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.