Aller au contenu
  • 0

Skript-classement problème de loop-index


Question

Posté(e)

Version de Minecraft : 1.8
Version de Skript : 2.0.2

Type du skript : Classement

Description du script :

Bonjour,

je rencontre un problème. J'ai fais une demande sur skript-mc pour un skript de classement. J'ai eu une réponse qui m'a bien aidé et qui répondais à ma demande voici le skript avec quelques modifications

command /vote:
	trigger:
		loop 3 times:
			set {_%loop-number%p} to "En attente" 
			set {_%loop-number%} to 0
		loop {vote::*}:
			if {vote::%loop-index%} > {_1}:
				set {_nb} to 3
				set {_nb-1} to 2
				loop 2 times:
					set {_%{_nb}%} to {_%{_nb-1}%}
					set {_%{_nb}%p} to {_%{_nb-1}%p}
					remove 1 from {_nb}
					remove 1 from {_nb-1}
				set {_1} to loop-value
				set {_1p} to loop-index
			else:
				if {vote::%loop-index%} > {_2}:
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to loop-value
					set {_2p} to loop-index
				else:
					if {vote::%loop-index%} > {_3}:
						set {_3} to loop-value
						set {_3p} to loop-index
		loop 3 times:
			set {_nb} to 3
			set {_%{_nb}%p} to player from {_%{_nb}%p}
			remove 1 from {_nb}	
		if {_1} = {_2}:
			message "&aégualité" to {Garou::*}
			loop all players in "Test":
				clear {vote::%loop-player%}
		else:
			message "&6%_{1p}% à prit %{_1}% vote(s)" to {Garou::*}
			set {_1p}'s max health to 5
			loop all players in "Test":
				clear {vote::%loop-player%}

Tout fonctionne sauf un truc c'est le "set {_1p}'s max health to 5" en faisait des testes j'ai vue qu'on pouvait mettre des joueurs dans des variables et qu'on pouvait leur appliquer le "set player's max health to 5" mais quand on met un joueur dans une variable sous forme de loop-index Exemple:

set {_1p} to loop-index
set {_1p}'s max health to 5

 

alors le "set player's max health to 5" ne marche pas j'ai essayé de le mettre partout dans le code mais rien ne marche le joueur dans la variable {_1p} ne reste pas bloqué à 5 cœurs j'ai essayé avec  " set player's max health to 5" et "set loop-value' max health to 5", et sa marche bien mais le loop-index ne marche pas que sa soit sous la forme de  "set loop-index' max health to 5" ou comme dit plus haut sa ne marche pas. Merci beaucoup à ceux qui m'aiderons

 

Cordialement

 

 

9 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Il y a 20 heures, zarco70 a dit :

Version de Minecraft : 1.8
Version de Skript : 2.0.2

Type du skript : Classement

Description du script :

Bonjour,

je rencontre un problème. J'ai fais une demande sur skript-mc pour un skript de classement. J'ai eu une réponse qui m'a bien aidé et qui répondais à ma demande voici le skript avec quelques modifications


command /vote:
	trigger:
		loop 3 times:
			set {_%loop-number%p} to "En attente" 
			set {_%loop-number%} to 0
		loop {vote::*}:
			if {vote::%loop-index%} > {_1}:
				set {_nb} to 3
				set {_nb-1} to 2
				loop 2 times:
					set {_%{_nb}%} to {_%{_nb-1}%}
					set {_%{_nb}%p} to {_%{_nb-1}%p}
					remove 1 from {_nb}
					remove 1 from {_nb-1}
				set {_1} to loop-value
				set {_1p} to loop-index
			else:
				if {vote::%loop-index%} > {_2}:
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to loop-value
					set {_2p} to loop-index
				else:
					if {vote::%loop-index%} > {_3}:
						set {_3} to loop-value
						set {_3p} to loop-index
		loop 3 times:
			set {_nb} to 3
			set {_%{_nb}%p} to player from {_%{_nb}%p}
			remove 1 from {_nb}	
		if {_1} = {_2}:
			message "&aégualité" to {Garou::*}
			loop all players in "Test":
				clear {vote::%loop-player%}
		else:
			message "&6%_{1p}% à prit %{_1}% vote(s)" to {Garou::*}
			set {_1p}'s max health to 5
			loop all players in "Test":
				clear {vote::%loop-player%}

Tout fonctionne sauf un truc c'est le "set {_1p}'s max health to 5" en faisait des testes j'ai vue qu'on pouvait mettre des joueurs dans des variables et qu'on pouvait leur appliquer le "set player's max health to 5" mais quand on met un joueur dans une variable sous forme de loop-index Exemple:


set {_1p} to loop-index
set {_1p}'s max health to 5

 

alors le "set player's max health to 5" ne marche pas j'ai essayé de le mettre partout dans le code mais rien ne marche le joueur dans la variable {_1p} ne reste pas bloqué à 5 cœurs j'ai essayé avec  " set player's max health to 5" et "set loop-value' max health to 5", et sa marche bien mais le loop-index ne marche pas que sa soit sous la forme de  "set loop-index' max health to 5" ou comme dit plus haut sa ne marche pas. Merci beaucoup à ceux qui m'aiderons

 

Cordialement

 

 

Bonsoir, peut-être qu'il faudrait que tu fasses :

set {_1p} to loop-index parsed as a player

Puis le max health comme tu l'as déjà fait.

Mais vu que c'est un lg je te suggère ça pour le lgb :

set {_mhealth} to {_p1}'s max health / 2
set {_p1}'s max health to {_mhealth}

(je n'ai pas testé)

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

Après avoir fait le test sa marche niquel merci problème résolut

De rien 😉

  • 0
Posté(e) (modifié)

ha nn attend j'ai un autre problème j'ai une variable ou j'ai inscrit le nombre de cœurs des joueurs (10) "{health.%player%}" quand la personne prend les votes, je met le joueur (loop-index) dans la variable "{_1p}" mais Ducoup quand je veux faire perdre la moitié de sa vie, j'ai mis {health.%{_1p}%} mais sa ne marche pas dans la variable c'est écrit 0

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

ha nn attend j'ai un autre problème j'ai une variable ou j'ai inscrit le nombre de cœurs des joueurs (10) "{health.%player%}" quand la personne prend les votes, je met le joueur (loop-index) dans la variable "{_1p}" mais Ducoup quand je veux faire perdre la moitié de sa vie, j'ai mis {health.%{_1p}%} mais sa ne marche pas dans la variable c'est écrit 0

Tu peux m'envoyer le code s'il te plait ? (surtout celui ou tu set {health.%player%})

  • 0
Posté(e)
il y a 2 minutes, gwladys_lgl a dit :

Tu peux m'envoyer le code s'il te plait ? (surtout celui ou tu set {health.%player%})

command /classement:
	trigger:
		loop 3 times:
			set {_%loop-number%p} to "En attente" 
			set {_%loop-number%} to 0
		loop {vote::*}:
			if {vote::%loop-index%} > {_1}:
				set {_nb} to 3
				set {_nb-1} to 2
				loop 2 times:
					set {_%{_nb}%} to {_%{_nb-1}%}
					set {_%{_nb}%p} to {_%{_nb-1}%p}
					remove 1 from {_nb}
					remove 1 from {_nb-1}
				set {_1} to loop-value
				set {_1p} to loop-index parsed as a player
			else:
				if {vote::%loop-index%} > {_2}:
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to loop-value
					set {_2p} to loop-index
				else:
					if {vote::%loop-index%} > {_3}:
						set {_3} to loop-value
						set {_3p} to loop-index
		loop 3 times:
			set {_nb} to 3
			set {_%{_nb}%p} to player from {_%{_nb}%p}
			remove 1 from {_nb}	
		if {_1} = {_2}:
			if {Bouc} is true:
				message "&6--> Le village n'a pas réussi à se mettre d'accord. C'est donc le &3Bouc-Emissaire &6qui perdra la moitiée de sa vie ce jour ci " to {Garou::*}
				loop all players in "Loup":
					clear {vote::%loop-player%}
			else:
				message "&6--> Le village n'a pas réussi à se mettre d'accord. Auncun joueur ne perdra la moitiée de sa vie ce jour ci" to {Garou::*}
				loop all players in "Loup":
					clear {vote::%loop-player%}
		else:
			message "&6--> Le village à décidé de choisir &3%{_1p}% &6comme cible avec &3%{vote::%{_1p}%}% &6votes(s) il perd donc la moitiée de sa vie ce jour ci" to {Garou::*}
			set {_vie} to {health.%{_1p}%}'s max health / 2
			set {_1p}'s max health to {_vie}
			loop all players in "Loup":
				clear {vote::%loop-player%}

et à la ligne 41, j'ai mis "set {_vie} to {health.%{_1p}%}'s max health / 2

sachant que j'ai bien vérifié que dans la variable  {health.%player%} il y a 10 et que dans {_1p} il y a le joueur qui a pris les votes

  • 0
Posté(e) (modifié)
il y a 34 minutes, zarco70 a dit :

command /classement:
	trigger:
		loop 3 times:
			set {_%loop-number%p} to "En attente" 
			set {_%loop-number%} to 0
		loop {vote::*}:
			if {vote::%loop-index%} > {_1}:
				set {_nb} to 3
				set {_nb-1} to 2
				loop 2 times:
					set {_%{_nb}%} to {_%{_nb-1}%}
					set {_%{_nb}%p} to {_%{_nb-1}%p}
					remove 1 from {_nb}
					remove 1 from {_nb-1}
				set {_1} to loop-value
				set {_1p} to loop-index parsed as a player
			else:
				if {vote::%loop-index%} > {_2}:
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to loop-value
					set {_2p} to loop-index
				else:
					if {vote::%loop-index%} > {_3}:
						set {_3} to loop-value
						set {_3p} to loop-index
		loop 3 times:
			set {_nb} to 3
			set {_%{_nb}%p} to player from {_%{_nb}%p}
			remove 1 from {_nb}	
		if {_1} = {_2}:
			if {Bouc} is true:
				message "&6--> Le village n'a pas réussi à se mettre d'accord. C'est donc le &3Bouc-Emissaire &6qui perdra la moitiée de sa vie ce jour ci " to {Garou::*}
				loop all players in "Loup":
					clear {vote::%loop-player%}
			else:
				message "&6--> Le village n'a pas réussi à se mettre d'accord. Auncun joueur ne perdra la moitiée de sa vie ce jour ci" to {Garou::*}
				loop all players in "Loup":
					clear {vote::%loop-player%}
		else:
			message "&6--> Le village à décidé de choisir &3%{_1p}% &6comme cible avec &3%{vote::%{_1p}%}% &6votes(s) il perd donc la moitiée de sa vie ce jour ci" to {Garou::*}
			set {_vie} to {health.%{_1p}%}'s max health / 2
			set {_1p}'s max health to {_vie}
			loop all players in "Loup":
				clear {vote::%loop-player%}

et à la ligne 41, j'ai mis "set {_vie} to {health.%{_1p}%}'s max health / 2

sachant que j'ai bien vérifié que dans la variable  {health.%player%} il y a 10 et que dans {_1p} il y a le joueur qui a pris les votes

J'ai trouvé en fait à la ligne set {_vie}, tu set un truc bizarre. Et les joueurs n'ont pas forcément que 10 coeurs donc à cette ligne mets juste :

set {_vie} to {_p1}'s max health / 2

Comme ça, ça lui mettre la moitié de sa vie. Donc, si il a 15 coeurs, il se retrouvera avec 7.5 coeurs. (C'est mieux, donc {health.%player%} ne sers a rien)

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