Compter les items dans un coffre sur scoreboard

Micka26

Aventurier
1 Août 2014
1
0
1
40
Bonjour,
J'aimerais m'inspirer du système qui compte le nombre de diamants dans un coffre utilisé dans la map Balls of steel, pour une map pvp que je suis en train de créer. Le problème, c'est que je ne trouve pas la commande qui permet de compter le nombre exact d'items souhaité dans le coffre, et qui me permettrais ensuite d'afficher le nombre sur le scoreboard. Je ne cherche pas un système avec redstone derriere ou en dessous du coffre, juste la commande qui permet de compter le nb d'item.
Merci d'avance :)
Ps: Si quelqu'un a une idée pour empêcher une équipe de retirer des objets du coffre adverse, je suis preneur. :)
 
F

Fantome du passé

Invité
Pour le nombre d'item précis j'ai une petite idée et je te l'envoie dans pas longtemps.

Pour que les joueurs de l'équipe adverses ne puisse pas ouvrir le coffre tu fait une clock assez rapide qui alimente un command block qui va testfor si un joueur de l'autre équipe est à 7 block du coffre.
/testfor @a[team=LENOMDELATEAM,x,y,z,7]

Ensuite en sorti de ce cmb tu met un comparateur qui activera un command block avec
/blockdata x y z {Lock:TUMETNIMPORTEQUOIICI}
Je précise alors qu'avec cette technique le coffre sera totalement inaccessible pour tout le monde dès qu'un ennemis sera dans un rayon de 7 blocks.

Ps : Penser à remplacer x y z par les coordonnées du coffre.


Ou alors, tu donne à chaque équipe un objet renommé que l'autre équipe ne pourra pas avoir. Mettons que cet objet s'appelle "Bleu" pour l'équipe bleu, et bien tu fera (juste une seul commande en te mettant au dessus du coffre en question)
/blockdata ~ ~-1 ~ {Lock:Bleu}

Si tu ne veux pas bleu comme nom d'item spécial tu change aussi le nom dans la commande.

Bref j'espère que cela t'auras aidé, n'hésite pas à me poser des questions.
 

nico69

Architecte en herbe
23 Août 2011
159
21
124
Tu as fait des fautes dans tes blockdata, c'est une accolade a la fin, pas un crochet.

Pour ce qui est du comptage, je pense que tu peut utiliser la commande stats.
Je ne sais pas comment elle fonctionne, mais t'affiche le résultat des commandes dans un scoreboard.
Peut être que le stats block [x] [y] [z] clear <stat> -> AffectedItems te donnera le résultat souhaité.
A coupler surement avec le blockdata ou blockset.

Plus d'infos ici : http://minecraft.gamepedia.com/Commands#stats

Si tu ne veut pas que le système soit collé au coffre, ou agis sur le coffre, un petit clone suffis pour l'utiliser ailleur.
 
F

Fantome du passé

Invité
Tu as fait des fautes dans tes blockdata, c'est une accolade a la fin, pas un crochet.

Pour ce qui est du comptage, je pense que tu peut utiliser la commande stats.
Je ne sais pas comment elle fonctionne, mais t'affiche le résultat des commandes dans un scoreboard.
Peut être que le stats block [x] [y] [z] clear <stat> -> AffectedItems te donnera le résultat souhaité.
A coupler surement avec le blockdata ou blockset.

Plus d'infos ici : http://minecraft.gamepedia.com/Commands#stats

Si tu ne veut pas que le système soit collé au coffre, ou agis sur le coffre, un petit clone suffis pour l'utiliser ailleur.


Oui désolé faute de frappe ^^ Oui je sais c'est justement ce que j'essaie de faire (utiliser les stats) mais sa marche pas super :/
 

The_MurmeX

In the beginning was a cookie...
4 Juin 2014
174
16
75
Je ne sais pas si les stats peuvent marcher dans ce cas.
En effet ils servent a mettre dans une scoreboard la sortie d'une commande (en gros) donc il faut une commande pour affecter les items du coffre et je ne vois que /replace qui impliquerait de supprimer le contenu du coffre.
 

Minecoincoin

A la vanille
2 Juillet 2012
234
13
125
Il n'y a pas de commande qui te permette de compter exactement le nombre d'items dans un conteneur à ma connaissance. Par contre pour les entités, c'est effectivement possible en utilisant la commande /stats qui est liée au résultat d'une commande. Le truc c'est qu'enlever un nombre d'item donné n'est possible que pour l'inventaire des

Si j'ai bien compris ce que tu souhaites faire, c'est permettre aux joueurs d'une équipe de déposer des items dans un scoreboard à un endroit précis de la map sans que l'équipe adverse puisse y toucher? Dans ce cas je te conseille de laisser tomber le coffre, puisque pour le moment ça a pas l'air possible. On va directement prendre les items dans l'inventaire du joueur s'il vient à un endroit particulier, ce sera plus simple parce qu'en plus de pas utiliser le coffre pour tester les items, ça permettra pas aux joueurs de reprendre ces items (vu qu'ils seront directement stockés dans le scoreboard).

On créé un score où les items seront stockés :
Code:
/scoreboard objectives add nbItems dummy
On créé un autre score qui va donner le nombre d'items dans l'inventaire d'un joueur à un moment donné :
Code:
/scoreboard objectives add itemsJoueur dummy
Ensuite, on test le nombre d'items dans l'inventaire du joueur à un endroit donné de la map (via une clock rapide pour le faire en continu) :
Code:
/clear @p[x,y,z,0] itemquetuveuxmettredanslescore 0 0
Et c'est là que la commande stats intervient. Utilise les coordonnées du command block, et stocke son résultat (qui est le nombre d'items du joueur) dans le score itemsJoueur du joueur présent à un endroit donné de la map :
Code:
/stats block x y z set AffectedItems @p[x,y,z,0] itemsJoueur
Maintenant il faut additionner ce score à celui de nbItems de la team du joueur, disons, la team Bleu (je créais un joueur fake qui s'appelle Bleu pour stocker le nombre d'items et que ça se voit, mais si tu as une autre idée tu peux faire autrement) :
Code:
/scoreboard players operation Bleu nbItems += @p[x,y,z,0] itemsJoueur
Et enfin, supprimer tous les items du joueur (vu qu'ils sont maintenant comptabilisés dans le score) :
Code:
/clear @p[x,y,z,0] itemquetuveuxmettredanslescore

Et voilà. Bon, après je sais pas si c'est exactement ce que tu cherches (pas de coffre dans tout ça désolé), mais au moins là t'as un moyen de stocker les items d'un joueur se trouvant à un endroit précis dans un score sans qu'une autre team puisse s'en emparer.
 
F

Fantome du passé

Invité
Il n'y a pas de commande qui te permette de compter exactement le nombre d'items dans un conteneur à ma connaissance. Par contre pour les entités, c'est effectivement possible en utilisant la commande /stats qui est liée au résultat d'une commande. Le truc c'est qu'enlever un nombre d'item donné n'est possible que pour l'inventaire des

Si j'ai bien compris ce que tu souhaites faire, c'est permettre aux joueurs d'une équipe de déposer des items dans un scoreboard à un endroit précis de la map sans que l'équipe adverse puisse y toucher? Dans ce cas je te conseille de laisser tomber le coffre, puisque pour le moment ça a pas l'air possible. On va directement prendre les items dans l'inventaire du joueur s'il vient à un endroit particulier, ce sera plus simple parce qu'en plus de pas utiliser le coffre pour tester les items, ça permettra pas aux joueurs de reprendre ces items (vu qu'ils seront directement stockés dans le scoreboard).

On créé un score où les items seront stockés :
Code:
/scoreboard objectives add nbItems dummy
On créé un autre score qui va donner le nombre d'items dans l'inventaire d'un joueur à un moment donné :
Code:
/scoreboard objectives add itemsJoueur dummy
Ensuite, on test le nombre d'items dans l'inventaire du joueur à un endroit donné de la map (via une clock rapide pour le faire en continu) :
Code:
/clear @p[x,y,z,0] itemquetuveuxmettredanslescore 0 0
Et c'est là que la commande stats intervient. Utilise les coordonnées du command block, et stocke son résultat (qui est le nombre d'items du joueur) dans le score itemsJoueur du joueur présent à un endroit donné de la map :
Code:
/stats block x y z set AffectedItems @p[x,y,z,0] itemsJoueur
Maintenant il faut additionner ce score à celui de nbItems de la team du joueur, disons, la team Bleu (je créais un joueur fake qui s'appelle Bleu pour stocker le nombre d'items et que ça se voit, mais si tu as une autre idée tu peux faire autrement) :
Code:
/scoreboard players operation Bleu nbItems += @p[x,y,z,0] itemsJoueur
Et enfin, supprimer tous les items du joueur (vu qu'ils sont maintenant comptabilisés dans le score) :
Code:
/clear @p[x,y,z,0] itemquetuveuxmettredanslescore

Et voilà. Bon, après je sais pas si c'est exactement ce que tu cherches (pas de coffre dans tout ça désolé), mais au moins là t'as un moyen de stocker les items d'un joueur se trouvant à un endroit précis dans un score sans qu'une autre team puisse s'en emparer.


Pas besoin d'écrire autant pour un mec qui lira surement pas ton message (vu qu'il se fait très absent) surtout pour expliquer une base.