Aller au contenu

Leaderboard sur Scoreboard


Messages recommandés

Posté(e) (modifié)

Version de Minecraft : 1.12.2

Description du script :

Bonjour, je n'avais jamais demandé d'aide sur ce forum avant car je réussissais toujours à trouver mes réponses sur des sujets résolus. Mais là je ne sais vraiment pas comment faire. Pendant cette longue période de confinement je me suis dis que j'allai faire un mini jeu pour pouvoir jouer avec mes potes. Cependant un obstacle me barre la route, je cherche à mettre sur mon scoreboard (sous skrayfall) un leaderboard (classement des joueurs de la partie selon le nombre de kills) mais je n'arrive déjà pas à trouver de leaderboard qui marche en 1.12.2.

Du coup ma requête est la suivante : 

Un skript qui classe les 5 meilleurs killeurs directement sur le scoreboard avec une phrase simple du type :

1 - [player] - [nombre de kill]

2 - [player] - [nombre de kill]

...

Je remercie d'avance celui ou ceux qui m'aideront.

bonne soirée.

Modifié par LaGios
Posté(e)

Bonjour,

En soit, cela n'est pas très compliqué. Tu as juste à créer des variables, pour récupérer le nombre de kills de chaque joueurs, et les comparés. Sinon je te demanderais de bien vouloir mettre toutes les informations demandés (Version de Skript, etc.). Ce n'est pas une grosse infraction, donc je passe pour cette fois-ci.

Bonne journée,
Rémi;

Posté(e)

J'imagine bien mais je suis encore trop mauvais pour savoir faire ça par moi même. Mettre les informations sur le scoreboard je peux le faire, c'est vraiment le classement top killer que je ne sais pas faire. Et ma version de Skript est 2.3.7.

Posté(e)

Bonjour, je te rappelle que quand tu installe Skript, il y à des fichiers de base en .sk

Il y en à un qui s'appelle kill counter.sk dedans il y à tout, après il te reste juste à faire un scoreboard est à fusionner les deux, mais je t'ai déjà avancer juste en allant fouiller dans mon fichier Skript !

Citation

#
# Counts kills per life, in total, and the highest kill streak.
#

# Defaults are useful here, as a player's kills would be '<none>' if he hasn't killed anything yet,
# but with defaults defined those will be used in that case.
variables:
    {kill counter.%player%.kills_session} = 0
    {kill counter.%player%.kills_session_max} = 0
    {kill counter.%player%.kills_total} = 0

on death:
    attacker is a player
    add 1 to {kill counter.%attacker%.kills_total}
    add 1 to {kill counter.%attacker%.kills_session}
    {kill counter.%attacker%.kills_session} is greater than {kill counter.%attacker%.kills_session_max}:
        set {kill counter.%attacker%.kills_session_max} to {kill counter.%attacker%.kills_session}

on death of player:
    set {kill counter.%player%.kills_session} to 0

command /kills:
    executable by: players
    trigger:
        message "You have killed %{kill counter.%player%.kills_session}% mobs and players in this life out of %{kill counter.%player%.kills_total}% kills in total."
        message "Your maximum kill streak is %{kill counter.%player%.kills_session_max}% kills in one life."
 

La prochaine fois cherche un peu mieux ^^

Bonne journée à toi

Posté(e)
il y a 42 minutes, Enzo27310 a dit :

Bonjour, je te rappelle que quand tu installe Skript, il y à des fichiers de base en .sk

Il y en à un qui s'appelle kill counter.sk dedans il y à tout, après il te reste juste à faire un scoreboard est à fusionner les deux, mais je t'ai déjà avancer juste en allant fouiller dans mon fichier Skript !

La prochaine fois cherche un peu mieux ^^

Bonne journée à toi

Merci pour avoir pris le temps de m'aider mais ça ne répond mais vraiment à ma demande de classement. Je me suis peut-être mal exprimer dans ce cas je vais illustrer par un exemple

			loop 5 times:
				set {_%loop-number%p} to "En attente" 
				set {_%loop-number%} to 0
			loop {stats.kill.rushffa::*}:
				if {stats.kill.rushffa::%loop-index%} > {_1}:
					set {_5} to {_4}
					set {_5p} to {_4p}
					set {_4} to {_3}
					set {_4p} to {_3p}
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to {_1}
					set {_2p} to {_1p}
					set {_1} to loop-value
					set {_1p} to loop-index
				else:
					if {stats.kill.rushffa::%loop-index%} > {_2}:
						set {_5} to {_4}
						set {_5p} to {_4p}
						set {_4} to {_3}
						set {_4p} to {_3p}
						set {_3} to {_2}
						set {_3p} to {_2p}
						set {_2} to loop-value
						set {_2p} to loop-index
					else:
						if {stats.kill.rushffa::%loop-index%} > {_3}:
							set {_5} to {_4}
							set {_5p} to {_4p}
							set {_4} to {_3}
							set {_4p} to {_3p}
							set {_3} to loop-value
							set {_3p} to loop-index
						else:
							if {stats.kill.rushffa::%loop-index%} > {_4}:
								set {_5} to {_4}
								set {_5p} to {_4p}
								set {_4} to loop-value
								set {_4p} to loop-index
							else:
								if {stats.kill.rushffa::%loop-index%} > {_5}:
									set {_5} to loop-value
									set {_5p} to loop-index
			loop 5 times:
				set {_nb} to 5
				set {_%{_nb}%p} to player from {_%{_nb}%p}
				remove 1 from {_nb}
			wipe player's sidebar
			set name of sidebar of player to "==========SCOREBOARD=========="
			set score "&61er &e➽ &3%{_1p}% &eavec &a%{_1}%" in sidebar of player to 14
			set score "&62éme &e➽ &3%{_2p}% &eavec &a%{_2}%" in sidebar of player to 13
			set score "&63éme &e➽ &3%{_3p}% &eavec &a%{_3}%" in sidebar of player to 12
			set score "&64éme &e➽ &3%{_4p}% &eavec &a%{_4}%" in sidebar of player to 11
			set score "&65éme &e➽ &3%{_5p}% &eavec &a%{_5}%" in sidebar of player to 10
			wait 10 ticks

J'ai trouvé ce skript sur un autre forum et l'ai adapté à mon scoreboard. Sauf que ça ne marche pas complètement. Le score s'actualise bien mais le nom du joueur est mit à <none>. Je precise que ce n'est pas ma modification scoreboard qui crée le problème car il y était déjà.

Posté(e)
il y a 6 minutes, Enzo27310 a dit :

C'est écrit <none> d'accord, remplace par %player% dans ton code est normalement ce sera bon

Heu... Où ça ? 😅

Posté(e)
Il y a 5 heures, LaGios a dit :

C'est bon j'ai résolu mon problème, il était ailleurs sur mon skript.

Du coup tu peux nous donner le code final?

Posté(e)
Il y a 15 heures, Acenox a dit :

Du coup tu peux nous donner le code final?

carrément juste je ne peux pas tout de suite, je l'enverrai après

 

on death of zombie:
	if attacker is a player:
		if {team.%attacker%} is "blue":
			add 1 to {count.kill::%attacker%}
			add 1 to {stats.kill.rushffa::%attacker%}
			loop {count.kill::*}:
				if {count.kill::%loop-index%} > {_8}:
					set {_8} to loop-value
					set {_8p} to loop-index
			add 1 to {kill.blue}
		if {team.%attacker%} is "green":
			add 1 to {count.kill::%attacker%}
			add 1 to {stats.kill.rushffa::%attacker%}
			loop {count.kill::*}:
				if {count.kill::%loop-index%} > {_8}:
					set {_8} to loop-value
					set {_8p} to loop-index
			add 1 to {kill.green}
		if {team.%attacker%} is "red":
			add 1 to {count.kill::%attacker%}
			add 1 to {stats.kill.rushffa::%attacker%}
			loop {count.kill::*}:
				if {count.kill::%loop-index%} > {_8}:
					set {_8} to loop-value
					set {_8p} to loop-index
			add 1 to {kill.red}
on death:
	if victim is a player:
		clear {count.kill::%victim%}
		add 1 to {mort::%victim%}
on join:
	while player is online:
		loop 11 times:
			set {_%loop-number%p} to "En attente" 
			set {_%loop-number%} to 0
			set {_kill.green} to 0
			set {_kill.red} to 0
			set {_kill.blue} to 0
		loop {stats.kill.rushffa::*}:
			if {stats.kill.rushffa::%loop-index%} > {_1}:
				set {_5} to {_4}
				set {_5p} to {_4p}
				set {_4} to {_3}
				set {_4p} to {_3p}
				set {_3} to {_2}
				set {_3p} to {_2p}
				set {_2} to {_1}
				set {_2p} to {_1p}
				set {_1} to loop-value
				set {_1p} to loop-index
			else:
				if {stats.kill.rushffa::%loop-index%} > {_2}:
					set {_5} to {_4}
					set {_5p} to {_4p}
					set {_4} to {_3}
					set {_4p} to {_3p}
					set {_3} to {_2}
					set {_3p} to {_2p}
					set {_2} to loop-value
					set {_2p} to loop-index
				else:
					if {stats.kill.rushffa::%loop-index%} > {_3}:
						set {_5} to {_4}
						set {_5p} to {_4p}
						set {_4} to {_3}
						set {_4p} to {_3p}
						set {_3} to loop-value
						set {_3p} to loop-index
					else:
						if {stats.kill.rushffa::%loop-index%} > {_4}:
							set {_5} to {_4}
							set {_5p} to {_4p}
							set {_4} to loop-value
							set {_4p} to loop-index
						else:
							if {stats.kill.rushffa::%loop-index%} > {_5}:
								set {_5} to loop-value
								set {_5p} to loop-index
		loop 5 times:
			set {_nb} to 5
			set {_%{_nb}%p} to player from {_%{_nb}%p}
			remove 1 from {_nb}
		loop {count.kill::*}:
			if {count.kill::%loop-index%} > {_8}:
				set {_8} to loop-value
				set {_8p} to loop-index
		loop {mort::*}:
			if {mort::%loop-index%} > {_7}:
				set {_7} to loop-value
				set {_7p} to loop-index
				
		set {_11} to {kill.red}
		set {_9} to {kill.blue}
		set {_10} to {kill.green}
		wipe player's sidebar
		set name of sidebar of player to "&e&l=====&6&lSCOREBOARD&e&l====="
		set score "&e" in sidebar of player to 13
		set score "&6Objectif &e: &330 &ekills" in sidebar of player to 12
		set score "&4Equipe Rouge &e: &3%{_11}% &ekills" in sidebar of player to 11
		set score "&1Equipe Bleue &e: &3%{_9}% &ekills" in sidebar of player to 10
		set score "&aEquipe Verte &e: &3%{_10}% &ekills" in sidebar of player to 9
		set score "&6Top killers &e: " in sidebar of player to 8
		set score "&61er &e: &3%{_1p}% &e➽ &3%{_1}%" in sidebar of player to 7
		set score "&62éme &e: &3%{_2p}% &e➽ &3%{_2}%" in sidebar of player to 6
		set score "&63éme &e: &3%{_3p}% &e➽ &3%{_3}%" in sidebar of player to 5
		set score "&64éme &e: &3%{_4p}% &e➽ &3%{_4}%" in sidebar of player to 4
		set score "&65éme &e: &3%{_5p}% &e➽ &3%{_5}%" in sidebar of player to 3
		set score "&3%{_8p}% &ea fait une série de &3%{_8}%" in sidebar of player to 2
		set score "&3%{_7p}% &eest mort &3%{_7}% &efois" in sidebar of player to 1
		wait 10 ticks

Voilà le bout de skript (dans une version adapté à mon MME). Là ça donne un scoreboard (encore un peu moche xD) qui affiche l'objectif, les kills de chaque team, le top 5 des kills, la plus grosse série de kills et la "cible facile".

(Il y a peut-etre un truc en double ou un truc pas opti, j'ai pas regardé mais en tout cas ça marche)

(Et j'ai mis "on death of zombie" uniquement pour les tests)

  • 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.