Aller au contenu

Question

Posté(e) (modifié)

Version de Minecraft : 1.16.5
Version de Skript : 2.6

Type du skript : /top de toutes les team

Description du script :

Alors bonjour j'ai essayer de faire un /top, les joueurs on des team donc /team quand il créer une team je set 
                    set {point.team.%{team.%player%}%} to 0

et apres j'ai mon skript qui add les points en fonction des block poser/casser, et viens la partie top

on place:
    if player's world is "Iworld":
        if block is iron block:
            set {ownerOfBlock::%event-block's location%} to player
            add 1 to{point.team.%{team.%player%}%}
            send "&2Tu as maintenant: &c%{point.team.%{team.%player%}%}}%" 

 

j'ai bien les point qui s'add

voici le code

 

command /top:
    trigger:
        loop {point.team.%
{team.%player%}%}:
            add 1 to {_size}
            if {_low.to.high.list::%loop-value%} is not set:
                set {_low.to.high.list::%loop-value%} to loop-index
            else:
                set {_n} to 0
                loop {_size} times:
                    set {_n} to {_n}+1
                    {_low.to.high.list::%loop-value-1%.%{_n}%} is not set
                    set {_low.to.high.list::%loop-value-1%.%{_n}%} to loop-index
                    stop loop
        wait 1 tick
        set {_n} to size of {_low.to.high.list::*}
        loop {_low.to.high.list::*}:
            set {_high.to.low.list::%{_n}%} to loop-value
            set {_n} to {_n}-1
        wait 1 tick
        set {_i} to 0


        send "&7&m-----------&8< &6Top10 &8>&7&m-----------"
        loop {_high.to.low.list::*}:
            add 1 to {_topnumber}
            set {_player} to "%loop-value%" parsed as offlineplayer
            send "&7%{_topnumber}% - &c%{_player}% &8» &7%{point.team.%
{team..%player%}%}% points"
            add 1 to {_i}
            if {_topnumber} > 9: #this is top 10 you can change it
                stop
        send "&7&m------------------------------"

 

 

hors quand je fait /top j'ai une message d'erreur "An internal error occured ....." 
 

le probleme doit denir de la loop ligne 3 mais je sais pas comment faire 😞

Modifié par creepther

8 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)

Ha ou il faudrait que je fasse 

Add ou set {point.team.%{team.%player%}%} to {list.point::*} 

Et après je loop {list.point::*}? 

Modifié par creepther
  • 0
Posté(e)

enfait il faudrait que tu add tout les joueurs dans une liste, des qu'ils join ca les add a la liste mais une unique fois donc faut que tu mette une variable sur true une fois qu'ils sont dedans, et chacun des joueurs a une variable de points, quand tu fais /top tu check dans la liste que t'as crée et y aura tout les joueurs  

  • 0
Posté(e)

Tiens mon code si ça peut t'aider :

variables:
    {points.%player%} = 0

on join:
    add 1 to {points.%player%}
    if {register.%player%} is not set:
        add player to {totalplayers::*}
        set {register.%player%} to true

command /top:
    trigger:
        set {_i} to 1
        set {totalplayers.bis::*} to {totalplayers::*}
        loop 10 times: 
            loop {totalplayers.bis::*}:
                if {_top} is not set:
                    set {_top} to loop-value-2
                if {points.%loop-value-2%} > {points.%{_top}%}:
                    set {_top} to loop-value-2
            remove {_top} from {totalplayers.bis::*}
            set {top%{_i}%} to {_top}
            add 1 to {_i}
            delete {_top}

        set {_i} to 1
        send "Top 10 players"
        loop 10 times:
            send "Top %{_i}% : %{top%{_i}%}% (%{points.%{top%{_i}%}%}% pts)"
            add 1 to {_i}

 

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.