Forum francais Minecraft. Serveur de jeu FR-Minecraft et astuces pour Minecraft.

Pages :: 1 2 Suivant

#1 15/08/2016 17:10:36

Membre

Messages : 52

[Résolu] Commande /testfor

Salut tout le monde ! Je suis en train d'essayer d'améliorer ma map aventure grâce à des blocs de commande, mais comme je ne m'y connais pas trop j'aurais besoin d'un peu d'aide.
Le joueur est en mode aventure et il possède des leviers qu'il ne peut poser que sur certains blocs (avec le /give .... CanPlaceOn...). Seulement il est possible de poser les levier sur le mauvais bloc. Le joueur possède un outil qui permet de le récupérer, mais un fois récupéré, le levier perd ses capacités à être posé sur certain blocs. Ce que j'aimerais donc faire, c'est qu'un bloc de commande vérifie en permanence si le joueur a un levier dans sont inventaire mais qui ne peut pas être poser, afin de le remplacer par un levier pouvant être posé sur certain blocs. Pour le début de la commande, il me semble que c'est ça :
/testfor @a {Inventory:[{id:"minecraft:lever"....}]} . Est-il donc possible de détecter seulement les leviers qui n'ont pas de caractéristiques au niveau des blocs où ils peuvent être posés ?

J'ai du mal à expliquer mon problème mais j'espère que vous l'aurai compris et que vous pourrez m'aider.

Merci d'avance

Dernière modification par aurepizza (21/08/2016 23:49:33)

Hors ligne

#2 16/08/2016 13:56:17

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Hey !!

Peut-être que tu prends le problème à l'envers : au lieu de modifier le levier une fois qu'il est dans l'inventaire, est-ce que tu ne pourrais pas modifier l'ITEM du levier qui pope ? Il te suffirait alors de deux commandes :
/scoreboard players tag @e[type=Item] add LevierPop {Item:{id:minecraft:lever}}
/entitydata @e[tag=LevierPop] {Item:{id:minecraft:lever,tag:{CanPlaceOn:["minecraft:stone"]}}}

Voilou, est-ce que ça résout ton problème ? 03

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#3 17/08/2016 14:08:02

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Je ne comprend pas vraiment comment marche ces commandes (les scoreboard et tout ça) mais ça marche parfaitement, merci beaucoup !
Encore une petite question cependant, cela affecte t-il tout les leviers qui popent dans toute la map, ou à partir d'une certaine distance, les blocs de commande ne sont plus effectif ?

Hors ligne

#4 17/08/2016 14:35:39

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Tant mieux si ça fonctionne !!

Et pour ta question, en fait, tout dépend : si tes command_blocks sont la zone autour du centre de ton monde (le setworldspawn, l'endroit où tu apparais pour la première fois), alors il fonctionneront toujours, même si tu t'éloignes de plusieurs milliers de blocs. En revanche, s'ils sont en dehors de cette zone de quelques chunks, et que tu t'éloignes trop, il ne fonctionneront plus !

Pour répondre plus exactement à ce que tu demandais, oui, la façon dont les commandes sont rédigées font qu'elles affectent TOUS les leviers de la map 17 Si tu veux qu'elles n'en affectent que quelques uns, je te conseille de mettre les command_blocks à proximité de là où tu veux avoir ton levier particulier, et de rentrer un rayon dans les commandes, comme ceci :
/scoreboard players tag @e[type=Item,r=10] add [...]

Voilou ! N'hésite pas à encore poser des questions si ce n'est pas clair 03

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#5 17/08/2016 15:26:48

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Suivant les différents endroits de la map les leviers ne se posent pas sur les mêmes blocs donc définir une zone de recherche peut être pas mal, je vais essayer ! Je te tient au courant si j'y arrive ! Merci encore.

Hors ligne

#6 17/08/2016 16:37:18

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Pas de quoi, bon courage !! N'hésite pas à revenir si tu as besoin d'aide 17

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#7 17/08/2016 18:46:06

Membre

Messages : 52

Re : [Résolu] Commande /testfor

En plaçant mes petits blocs de commande partout j'ai découvert un autre problème, et cela met encore en jeu le /testfor :
il faudrai que dans une zone défini (là ça serait environ 2 blocs autour du command_block), chaque joueur ne possédant pas de perle de l'ender en reçoive une. Je pense que ça ne doit pas être très compliqué mais mes connaissances s'arrêtent à la redstone d'avant, càd quand il n'y avait pas les blocs de commande.

Hors ligne

#8 17/08/2016 21:48:56

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Oui, en effet, c'est pas très compliqué ! 03

/scoreboard players tag @a add AUnePerle {Inventory:[{id:minecraft:ender_pearl}]}
/give @a[tag=!AUnePerle] ender_pearl 1 0
/scoreboard players tag @a remove AUnePerle

Ces commandes sont, bien sûr, à mettre dans une chaine de command_blocks 17 Voilou ! 01

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#9 17/08/2016 23:24:31

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Pour définir le rayon de recherche, c'est comme ça ? :
/give @a[tag=!AUnePerle,r=(rayon)] ender_pearl 1 0

Et pour les premières commandes que tu m'a passer c'était dans une chaîne de command_block qu'il fallait les mettre ? Parce que pour l'instant je les ai mises dans des blocs à répétition. Et d'ailleurs ça marche bien pour les leviers mais pas pour la poudre de redstone, je ne comprend pas pourquoi.

Je modifie ce message car comme je n'y connait rien en commande bloc:
Il faudrait que le système qui capte si le joueur possède une perle ne s'active qu'à l'ouverture d'un coffre (je met donc un coffre piégé). A partir de ce moment, que commande doit être reliée au coffre, dans quel bloc doit elle être (impulsion, chaîne ou répétition), et quel block de commande doit t-il y avoir après ?

C'est peut être un peu chiant à expliquer pour toi mais comme ce que j'essaie ne marche pas j'aurai besoin d'un peu plus d'explication.
En te remerciant encore de ton aide ;)

Dernière modification par aurepizza (18/08/2016 00:26:40)

Hors ligne

#10 18/08/2016 00:30:32

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Alors :
- Pour le rayon, oui, c'est bien ça ! Mais à mettre sur toutes les commandes, bien sûr ^^
- Ensuite, le terme "chaîne de command_blocks" correspond le plus couramment à un bloc à répétition suivi de blocs en mode "chain" (enfin après c'est l'utilisation personnelle que j'ai du terme). Donc en gros, c'est une clock ! Toutes les commandes que je t'ai donné sont à mettre dans l'ordre dans une chaîne (une chaîne pour chaque groupe de commandes que j'ai énoncé, évidemment ^^), avec la première dans un repeating_command_block, et les suivantes dans des chain_command_blocks reliés au repeating de départ. En gros, pour l'exemple des ender_pearls (sans la mention du coffre, je parle de ce que j'avais compris avant), ça donne ça :
2016052813.jpg
- pour l'idée du coffre, dans ce cas, il faut que le premier bloc soit un bloc de commande classique (donc une seule impulsion) avec des chain_command_blocks derrière.
- pour comprendre un peu mieux le fonctionnement de ces command_blocks, je t'invite à aller voir cette vidéo (tkt elle est super longue, mais la portion sur les blocs de commandes n'en représente qu'une petite partie, peu-être trois minutes (EDIT : les explications se terminent à 3min40)) : https://youtu.be/zFL6nN4GHvo?t=40s
- oui, je viens de me faire de l'auto-promo, mais j'assume 11
- et enfin, pas de quoi pour l'aide, c'est normal !! Si tu ne comprends pas quelque chose, pose la question 03

Dernière modification par Grand_Corbeau (18/08/2016 00:34:56)

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#11 18/08/2016 00:55:05

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Je regarderai la vidéo en entière même si elle dure 1h ! Mais je ferai ça demain je pense. Sinon pour la première commande je reçoit toujours un message d'erreur :
[23:51:28] The dataTag does not match for aurepizza

Si tu a une idée de pourquoi ça fait ça...

Et tu n'a peu être pas vu mon message à propos des première commandes que tu m'a données :
pour les leviers ça marche parfaitement bien mais pas pour la poudre de redstone, je ne comprend pas pourquoi.

Hors ligne

#12 18/08/2016 10:30:08

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Non non t'es pas obligé de la regarder en entière, rien d'intéressant en ce qui te concerne, c'esr juste une vidéo qui présentait toutes les nouveautés dans les commandes entre la 1.8 et la 1.9 ^^
Pour ta commande, si tu es dans bloc de commande au moment où tu N'A PAS d'ender_pearl dans ton inventaire, c'est parfaitement normal 17

Pour la poudre de redstone et les leviers, si tu te relis, en fait tu n'en as pas vraiment parlé 07 Mais si tu veux faire un peu la même chose pour elle que pour les leviers, alors il faut faire une autre chaîne à répétition :
/scoreboard players tag @e[type=Item] add PoudrePop {Item:{id:minecraft:redstone}}
/entitydata @e[tag=PoudrePop] {Item:{id:minecraft:redstone,tag:{CanPlaceOn:["minecraft:stone"]}}}

C'est EXACTEMENT le même fonctionnement, mais pour un autre item du coup 17

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#13 18/08/2016 10:51:04

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Pour la perle la deuxième commande me give des perles à l'infini alors que j'en ai dans mon inventaire, pourtant j'ai vérifié il y à bien le "!" devant le nom du tag. Et ce qui est bizarre c'est que ça fait ça alors que le tag n'a pas encore été créé (et si je le créer ça change rien).

Pour la redstone je crois bien que c'est ce que j'avais fait... je vais essayer avec un copier coller de tes commandes.

Dernière modification par aurepizza (18/08/2016 12:10:32)

Hors ligne

#14 18/08/2016 10:59:15

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Heu, petite précision :
- les commandes pour les leviers et poudre de redstone sont à mettre dans une chaîne à répétition
- le commandes pour l'ender_pearl, si elle sont reliée à un coffre, ne s'exécute qu'une seule fois grâce à un bloc de commande simple suivi de chain_command_blocks
- aucun bloc chain n'est en mode "conditionnal"

J'avoue, j'ai pas trop compris ton

aurepizza a écrit :

Le problème c'est que le bloc de commande d'après ne s'active pas du coup. Mais si je n'y arrive pas je donnerai plusieurs perles et il y aura un /clear @a ender_pearl plus tard

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#15 18/08/2016 12:13:01

Membre

Messages : 52

Re : [Résolu] Commande /testfor

Relis le message 13 je l'ai modifié, et maintenant j'ai aussi remarqué que je ne peut créé le tag que lorsque j'ai déjà une ender pearl, mais pour ça y'a pas de problème, au lieu de faire un coffre piégé c'est le fait de prendre la perle à l'intérieur qui va créé le tag. Le problème c'est la deuxième commande, elle ne marche pas, je n'ai même pas de message d'erreur.

Modification message : J'ai enlever le "!" et le bloc de commande me capte, pourtant je n'ai pas de perle.

Pour les leviers et la redstone ça marchais aussi en mode répétition, mais je les ai mis en mode chaîne quand même.

Dernière modification par aurepizza (18/08/2016 12:43:39)

Hors ligne

#16 18/08/2016 14:59:10

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Bon, vu qu'on n'a pas l'air de franchement se comprendre sur le délire des chaînes, je t'ai tout refais dans une map a télécharger ici :  http://www.mediafire.com/download/frj1l … epizza.zip
Comme ça tu ne pourras que comprendre ce que je veux dire xD

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#17 18/08/2016 16:28:38

Membre

Messages : 52

Re : [Résolu] Commande /testfor

J'ai regardé ta map, le problème c'est qu'on ne reçoit une perle qu'en ouvrant le coffre. Voilà un schéma pour qu'on se comprenne, j'espère que ça sera clair :

perle.png

Pour la redstone et les leviers j'avais fait pareil donc tout va bien et ça fonctionne à merveille 17

Hors ligne

#18 18/08/2016 17:37:02

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Voilà ! http://www.mediafire.com/download/1p9fi … epizza.zip

Et pour ton truc de pas donner de perle s'il y en a une par terre, c'est plus soulant à faire que difficile, et je vais pas aller jusque là ^^ Donc je me contente de virer automatiquement les ender_pearls sous la forme d'item droppé 17

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#19 18/08/2016 17:57:21

Membre

Messages : 52

Re : [Résolu] Commande /testfor

C'est vrai que de supprimer le perle droppée c'est plus simple et ça reviens au même, surtout que j'allai justement te demander comment faire ça pour d'autre blocs. Bon au moins ça c'est fait.

Par contre moi ton système fait comme l'ancien, je ne drop une perle que quand j'ouvre le coffre, et pas quand je suis devant l'obstacle. D'ailleurs les blocs de commandes affichent des messages d'erreur :
[16:54:19] The entity UUID provided is in an invalid format  pour le dernier bloc de la chaîne
[16:54:19] Entity didn't have the AUnePerle tag   pour l'avant dernier
Je précise que je joue en 1.10.2, et comme je sais qu'il peut y avoir des changements entre versions, vaut mieux que tu soit sur la même que moi !

Tu commence peut être à en avoir marre mais normalement après ma map est finie !
Encore merci de ton aide c'est rare des gens qui aident autant et qui répondent aussi vite !

Dernière modification par aurepizza (18/08/2016 18:00:34)

Hors ligne

#20 18/08/2016 18:10:58

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Oui c'est vrai, on m'a souvent dit que je suis une espère rare xD (oups mes chevilles gonflent excusez-moi)

Ne te fie pas aux messages dans les command_blocks, tout marche parfaitement 17 Et on est dans la même version !

Aaaaaah j'avais pas compris pour le délire du drop : en gros, si je récapitule, tu veux que ça se passe dans cet ordre :
1) on ouvre le coffre et on prend la perle
2) on va dans la zone en face l'obstacle
3) on balance la perle -> ça induit 2 possibilités :
      a) on réussi, pas de problème, mais le temps qu'on lance la perle et qu'elle atterisse, on en aura déjà reçu une de plus dans notre inventaire
      b) on échoue, et pas de problème, on en reçoit automatiquement une dans la zone de drop

C'est bien ça ? Je me renseigne avant de te filer la version finale

Dernière modification par Grand_Corbeau (18/08/2016 18:13:01)

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#21 18/08/2016 18:17:38

Membre

Messages : 52

Re : [Résolu] Commande /testfor

C'est parfaitement ça ! C'est vrai que du coup on aura une perle en plus mais je ferai une zone /clear à l'arrivée c'est pas très grave.

Et pour delete les items dropper, si je veut en mettre plusieurs, comme ça sa fonctionne ? :

/scoreboard players tag @e[type=Item,r=30] add Drop {Item:{id:minecraft:stonebrick,minecraft:dirt,minecraft:stone}}
kill @e[tag=Drop]

Bon finalement j'ai ma réponse ça marche pas, mais je trouve pas comment faire.

Dernière modification par aurepizza (18/08/2016 18:32:14)

Hors ligne

#22 18/08/2016 18:43:15

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Bon, j'ai eu un peu plus de mal que prévu, à cause d'un bug graphique qui faisait qu'on ne voyait pas la perle dans l'inventaire même si elle y était (il fallait se déco-reco pour la voir, ou actualiser l'affichage en ouvrant un coffre).
Du coup ce que j'ai fait, c'est qu'au lieu d'utiliser un /give, j'ai fait apparaître une perle à l'emplacement du joueur avec un PickupDelay de 0 pour qu'elle aille direct dans son inventaire, et un tag pour éviter que les commandes qui tuent les perles droppées virent cette "perle de secours". Du coup toutes les commandes on été actualisées !

Voilou, lien de la map : http://www.mediafire.com/download/t05tr … epizza.zip

Dernière modification par Grand_Corbeau (18/08/2016 18:43:59)

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#23 18/08/2016 19:04:45

Membre

Messages : 52

Re : [Résolu] Commande /testfor

C'est parfait mise à par que lorsque je drop une perle elle n'est plus delete. Et je pense que tu n'a pas vu la modification que j'ai faite au message 21, à propos du delete des items justement. Et pour clear dans une zone spécifique tu fait comment ?

Pour le delete des perles tu avais juste mis un rayon de 2 blocs c'est pour ça. Du coup ce problème est résolu, je vais essayer d'adapter ton système sur ma map !

Nouveau message :

Bon finalement, je n'arrive pas a recréer le système sur ma map, pourtant tout est exactement pareil, j'ai juste modifier les coordonnées de la zone de drop. Comme en plus ton système (même sur ta map) bug parfois (je vois la perle venir vers moi à l'infini mais elle ne va pas dans mon inventaire), j'ai décidé de mettre plusieurs perles dans le coffre et de les clear après. Ça sera beaucoup plus simple. Après si un joueur lance 10 perle dans la mauvaise direction ça sera pas mon problème.

Dernière modification par aurepizza (18/08/2016 20:14:09)

Hors ligne

#24 18/08/2016 20:28:06

Rédacteur
Lieu : Quelque part dans mon labo

Messages : 355
Site Web

Re : [Résolu] Commande /testfor

Mdr oui c'est la meilleure solution xD Mais c'est bizarre que ça bugue, chez moi dans mes tests tout allait bien Oo (et pour le l'histoire du rayon, je m'en suis rendu compte après coup xD, c'était pour mes vérifications)
En tout cas, heureux que tu aies enfin pu résoudre ton problème !! 03

Hors ligne


Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie 05
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI ! 12
banniretwittlwu.png
Plus rusé qu'un renard...
... et plus rusé que toi !

#25 18/08/2016 20:32:21

Membre

Messages : 52

Re : [Résolu] Commande /testfor

De toute façon ce n'était pas le principal, puisque le sujet de base de la discussion c'était de remplacer les leviers droppés par des leviers avec CanPlaceOn. Donc tout va bien. Normalement, niveau redstone il n'y a plus aucuns problèmes sur la map ( à moins que tu connaisse une commande pour que le joueur ne puisse casser que les blocs que lui a posé, mais je ne croit pas que ça existe).

Dernière modification par aurepizza (18/08/2016 20:33:17)

Hors ligne

Pages :: 1 2 Suivant

Pied de page des forums