Aller au contenu
  • 0

Switch de l'inventaire (inventaire partagé entre tout tout les joueurs)


Question

Posté(e)

Version Skript : 2.2 dev29

Minecraft : 1.9.4

 

Bonjour,

je cherche a faire quelque chose de plutôt difficile :

J'aimerai que lorsque un joueur fasse clique droit sur un item dans son inventaire switch sur un deuxième inventaire avec des items différents et que lorsque qu'il reclique dessus ça repasse sur le premier inventaire.

Mais que l'item avec lequel il a cliquer se mettra au premier slot dans le deuxième invantaire.

 

Pour ça j'ai fait ce code:

on right click with a sword:
   if player has permission "lol":
       if {switch.%player%} is not set:
           set {switch.%player%} to true
           set {invnombre.%player%} to 0
           loop 36 times:
               set {inv.%{invnombre.%player%}%} to slot {invnombre.%player%} of player's inventory
               add 1 to {invnombre.%player%}
           wait 1 tick
           set {invnombre2.%player%} to 0
           loop 36 times:
               set slot {invnombre2.%player%} of player's inventory to {inv2.%{invnombre2.%player%}%}
               add 1 to {invnombre2.%player%}
           message "vous passer en mode combat" to player

       else:
           set {invnombre2.%player%} to 0
           loop 36 times:
               set {inv2.%{invnombre2.%player%}%} to slot {invnombre2.%player%} of player's inventory
               add 1 to {invnombre2.%player%}
           wait 1 tick                #Partie 1 FINIS      
           set {invnombre.%player%} to 0
           loop 36 times:
               set slot {invnombre.%player%} of player's inventory to {inv.%{invnombre.%player%}%}
               add 1 to {invnombre.%player%}
           delete {switch.%player%}
           message "vous passer en mode normal" to player

 

Tout marche parfaitement sauf un truc :

tout les inventaires sont partager entre tout les joueurs.

Donc a chaque clique droit sa va me donner l'inventaire du dernier joueur a avoir switch et je ne comprend pas pourquoi :'(

 

(P.S: j'ai essayer en remplaçant to les %player% par %UUID of player% ça change rien

 

Pouvez vous m'aider ????

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

J'ai juste regardé vite fait et je dirais que l'erreur viens de là :

 

{inv2.%{invnombre2.%player%}%}
et
{inv.%{invnombre.%player%}%}

car tu partage une variable commune à tout tes joueurs, c'est à dire : {inv2.1} à {inv2.36},

remplace par {inv2.%player%.%{invnombre2.%player%}%}

 

et à ta place j'utiliserai des variable liste ! du genre {inv2::%player%::%{invnombre2.%player%}%}

ce qui sera beaucoup plus simple pour supprimer un inventaire lors d'un ban ou d'un /clearinventory par exemple.

  • J'aime 1
  • 0
Posté(e)
Aucune erreur?

 

Non mais j'ai réussi a régler ça.

 

J'ai juste regardé vite fait et je dirais que l'erreur viens de là :

 

{inv2.%{invnombre2.%player%}%}
et
{inv.%{invnombre.%player%}%}

car tu partage une variable commune à tout tes joueurs, c'est à dire : {inv2.1} à {inv2.36},

remplace par {inv2.%player%.%{invnombre2.%player%}%}

 

et à ta place j'utiliserai des variable liste ! du genre {inv2::%player%::%{invnombre2.%player%}%}

ce qui sera beaucoup plus simple pour supprimer un inventaire lors d'un ban ou d'un /clearinventory par exemple.

 

Merci ça marche mais je ne suis pas très fort en skript donc je ne comprend pas vraiment comment tu compte utilisé les listes !

  • 0
Posté(e)

voici un condensé de pas mal de truc possible avec les variables listes (tu trouveras des tuto détaillés sur YouTube):

add (random integer between 0 and 10) to {test::*}
add "test" to {test::*}
broadcast "%{test::*}%"
loop {_test::*}:
   broadcast "%loop-index% - %loop-value%"
delete {test::*}

set {_lol::%player%::%tool of player%} to name of player's tool
loop {_lol::%player%::*}:
   broadcast "%loop-index% - %loop-value%"
   delete {_lol::%player%::%loop-index%}

add "red" and "pink" and "gold" and "yellow" and "light green" to {_color::*}
loop 5 times:
   broadcast "<%{_color::%loop-number%}%>%loop-number%"

loop {_hey::*}:
   broadcast "%loop-value-1%"
   loop {_salut::*}:
       broadcast "%loop-value-1% %loop-index-2% %loop-value-2%"

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