Aller au contenu

Messages recommandés

Posté(e)

Version de Minecraft : 1.9.4

 

Salut !

 

Je recherche un Skript permettant de faire /devenirmaire et au bout de 2 joueurs qui ont faire cette commande, un vote est lance avec un broadcast "Les éléctions commencent, les joueurs (maire1) =1 et (maire2) =2 se sont présenté !", les joueurs font /vote pseudo, celui qui as le plus de voix gagne et est /manuadd %player% Maire automatiquement. A sa mort, il est /manuadd %player% Citoyen. Et les votes recommencent !

 

En vous remerciant par avance,

Cordialement,

ViTraX.

Posté(e) (modifié)
function contains(list: objects, check: object) :: boolean:
    loop {_list::*}:
        if loop-value is {_check}:
            return true
    return false			
			
command /devenirmaire:
	trigger:
		if size of {devenirmaire::*} < 1:
			add player to {devenirmaire::*}
			broadcast "%{devenirmaire::1}% vient de se présenter pour devenir maire !"
		else if size of {devenirmaire::*} = 1:
			add player to {devenirmaire::*}
			broadcast "Les éléctions commencent, les joueurs %{devenirmaire::1}% et %{devenirmaire::2}% se sont présentés ! (/vote <pseudo>)" and "Vous avez 1h pour voter"
			add "true" to {election::*}
			set {vote.%{devenirmaire::1}%} to 0
			set {vote.%{devenirmaire::2}%} to 0
			wait 1 hours #J'ai mis un temps tu peux le modifier ou utiliser un autre système
			if {vote.%{devenirmaire::1}%} >= {vote.%{devenirmaire::2}%}:
				broadcast "Le nouveau maire est %{devenirmaire::1}% !"
				make console execute command "/manuadd %{devenirmaire::1}% Maire"
			else:
				broadcast "Le nouveau maire est %{devenirmaire::2}% !"
				make console execute command "/manuadd %{devenirmaire::2}% Maire"
			delete {vote.%{devenirmaire::1}%}  
			delete {vote.%{devenirmaire::2}%}
			delete {election::*}
		else:
			message "Vous ne pouvez pas vous présentez. Il y a déjà un maire ou des élections sont en cours." to the player
	
command /vote <offline player>:
	trigger:	
		if {election::1} is "true":
			if contains({election::*}, player) is true:
				message "Vous avez déjà voté"
				stop
			else:
				if arg 1 is "%{devenirmaire::1}%" or "%{devenirmaire::2}%":
					add 1 to {vote.%arg 1%}
					add player to {election::*}
					message "Vous avez voté pour %arg 1%"
					stop
				else:
					message "Vous ne pouvez voter que pour %{devenirmaire::1}% ou pour %{devenirmaire::2}% !"
					stop
		else:
			message "Il n'y a pas d'élection en cours. /devenirmaire pour vous présenter."
			
on death:
	if yml value "users.%victim's UUID%.group" of file "plugins/GroupManager/worlds/world/users.yml" is "Maire":
		make console execute command "/manuadd %victim% Citoyen"
		broadcast "L'ancien maire %victim% est mort ! Vous pouvez donc de nouveau vous présentez pour être maire."
		delete {devenirmaire::*}

Il te faut un addon pour le yml (je sais plus lequel, mais c'est un des principaux addon je crois).
Et tu utilises bien groupmanager ?

Modifié par Eralysium
  • J'aime 1
Posté(e) (modifié)

Premièrement tu as mal copié ce que je t'ai donné, c'est function pas unction (ligne 1). Et ça devrait régler les autres erreurs

Modifié par Eralysium
Posté(e)

tu modifies la ligne:

wait 1 hours #J'ai mis un temps tu peux le modifier ou utiliser un autre système

en

wait 5 minutes

et le message:

broadcast "Les éléctions commencent, les joueurs %{devenirmaire::1}% et %{devenirmaire::2}% se sont présentés ! (/vote <pseudo>)" and "Vous avez 1h pour voter"

en

broadcast "Les éléctions commencent, les joueurs %{devenirmaire::1}% et %{devenirmaire::2}% se sont présentés ! (/vote <pseudo>)" and "Vous avez 5 minutes pour voter"

 

Posté(e)

Je voudrais aussi un system que quand une personne rejoint un grade avec groupmanager et qu'une autre personne rejoint ce job il peux pas est sa lui dit Il y a trop déjà une personne dessus est qu'ant il maire les autres pouvant allez dans ce grade 

 

Posté(e) (modifié)

je pourrais avoir tes différents "jobs". Tu veux que une personne maximum dans chaque jobs ?
Et tu pourrais faire un effort d'écriture, qu'il y ait des fautes d'orthographe pourquoi pas, mais là j'arrive à peine à comprendre ce que tu veux...

Modifié par Eralysium
Posté(e) (modifié)
il y a 53 minutes, Eralysium a dit :

je pourrais avoir tes différents "jobs". Tu veux que une personne maximum dans chaque jobs ?
Et tu pourrais faire un effort d'écriture, qu'il y ait des fautes d'orthographe pourquoi pas, mais là j'arrive à comprendre ce que tu veux...

??? Et métier de base c'est quoi ? (c'est quoi le nom du grade ?
Et tes gangs c'est quoi ?; un grade groupmanager ? C'est quoi le grade, y en a plusieurs ?? Précise un peu !!

Modifié par Eralysium
Posté(e) (modifié)
options:
	joblist: Pascal, Maçon, Forgeron, Jesus #Ici tu mets ta liste de métier: métier1, métier2...
	nblist: 3, 2, 4, 1 #Ici tu mets le nombre max de personne par métier (dans le bonne ordre: le 3 correspond au métier Pascal, le 2 à maçon etc

variables:
	{metier.Pascal} = 0	#ici tu ajoutes pour chaques métiers de ta liste (plus haut) {metier.TONMETIER} = 0
	{metier.Maçon} = 0
	{metier.Forgeron} = 0
	{metier.Jesus} = 0	

function contain(player: player, testo: object) :: boolean:
    set {_jobs} to "{@joblist}"
    set {_job::*} to {_jobs} split at ", "
    loop {_job::*}:
        if loop-value is {_testo}:
            set {testjob.%{_player}%} to loop-index
            return true
    return false	
	
command /job <text>:
	trigger:
		if contain(player, arg 1) is true:
			if yml value "users.%player's UUID%.group" of file "plugins/GroupManager/worlds/world/users.yml" is not arg 1:
				set {_jobsnb} to "{@nblist}"
				set {_jobnb::*} to {_jobsnb} split at ", "
				if {metier.%arg 1%} < {_jobnb::%{testjob.%player%}%} parsed as integer:
					add 1 to {metier.%arg 1%}
					set {_job} to yml value "users.%player's UUID%.group" of file "plugins/GroupManager/worlds/world/users.yml"
					if {_job} is "Maire":
						broadcast "L'ancien maire %player% à quitté son poste ! Vous pouvez donc de nouveau vous présentez pour être maire."
						delete {devenirmaire::*}
					else:
						remove 1 from {metier.%{_job}%}
					delete {testjob.%player%}
					make console execute command "/manuadd %player% %arg 1%"
					message "&aVous êtes maintenant &6%arg 1%" to the player
				else:
					message "&cIl n'y a plus de place pour ce métier." to the player
			else:
				message "&cVous êtes déjà %arg 1% !" to the player
		else:
			message "&cCe métier n'existe pas ! ({@joblist})." to the player

Bon comme je comprend pas grand chose à ce que tu racontes j'ai fais comme je pouvais...
En gros tu as une commande /job <métier>. Tu peux avoir un seul métier, y a une restriction en fonction du nombre de personne par métier, tu peux créer autant de métier que tu veux (les rajouter dans la liste et sur groupmanager).
Test de ton coté et dis moi si des trucs vont pas

Attention !!
Le nom de ton métier (dans ta liste) doit être le même que sur groupmanager (avec les maj)

Modifié par Eralysium
Posté(e) (modifié)

Je vois pas ou est ton problème... Tu as un menu donc quand il clique tu exécutes une commande pour lui donner un job (donc /job <job> en fonction d'ou il a cliqué ???)
Mon truc ajoute le grade, et si tu veux que ça clear le joueur tu le rajoute...

Modifié par Eralysium
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.