Effet et dettection

Srelox

Aventurier
21 Août 2016
6
1
4
Bonjour, je souhaite savoir comment détecter (dans un carrée) si une personne porte une armure (complète
) avec un tag spécifique,

savoir comment mettre le tag "Anti-radiation" sur l'armure

et savoir comment mettre un effet de potions si une entité (et le joueur) ne porte pas l'armure dans la zone

(J'utilise ce site pour les effet de potion : https://mcstacker.bimbimma.com/ avec la potion qui fait un nuage mais si vous avez un autre site, je prend)
 
Tu peux mettre 0 au score de tout le monde en boucle, ajouter 1 pour chaque bout d'armure anti-radiation et mettre l'effet à ceux qui ont 3 ou moins, puis recommencer l'opération en boucle. Pour les NBT tags à utiliser pour vérifier l'armure :
Pour le carré, tu peux utiliser les dx, dy et dz avec le sélecteur @a comme expliqué ici : http://minecraft-fr.gamepedia.com/Bloc_de_commande#Arguments
 
  • J'aime
Reactions: Compte supprimé
dans un carré
Détecter en carré est compliqué dans minecraft, ce que je te conseille est de choisir un bloc pour le sol de ta salle, puis de tester si le joueur est sur ce bloc. Si c'est le cas, il est forcément dans ta salle.
 
  • J'aime
Reactions: Oromis
Ok j'ai regarder la video, j'ai compris pour les coord en carre , mais pour le reste c'est flou, comment je fais pour verifier si la personne porte l'armure Dans la salle ? Je met un scoreboard "In" et je le met a 1 quand la personne est dans la salle ? Puis si "In" est a 1 je verifie qu'il porte les 4 piece d'armure et je met a 1 si oui et a 0 si non ? Et je lui met des effet de potion si Armure=0 ?

(Quelqun peut me faire un model, j'y connais pas grand chose ?)
 
Salut, je ne suis pas un expert donc j'espère que les gens calés pourront me corriger/compléter (si besoin).

Tout d'abord, le principe :
  • j'ai un compteur (au hasard, "ArmorCount")
  • je mets le compteur à zéro, pour "préparer" la vérification
  • je vérifie l'armure de la tête, si je la vois j'ajoute 1 au compteur ArmorCount
  • je vérifie le corps, j'ajoute 1
  • même chose pour le pantalon et les bottes
  • si à la fin, le résultat est inférieur à 4, je donne l'effet de la potion
  • je retire l'effet de la potion pour ceux qui ont l'armure complète
  • et on recommence
Pour résumer : je mets le compteur à 0, je check l'armure complète, je donne l'effet.

On commence par créer l'objectif de score :
Code:
/scoreboard objective add ArmorCount dummy

Il te faudra 7 command_block, le 1er en mode repeat et les autres en mode chaîne (ils seront tous en mode "Toujours actif", et disposés sur une ligne continue).

Les commandes, du début à la fin (elles seront à adapter selon le type d'armure et le nom de l'objet), contiennent le point de départ et le champ d'action (ici, un carré de 7x7).
Code:
/scoreboard players set @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 0
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:103b,id:"minecraft:diamond_helmet",tag:{display:{Name:"Casque de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:102b,id:"minecraft:diamond_chestplate",tag:{display:{Name:"Plastron de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:101b,id:"minecraft:diamond_leggings",tag:{display:{Name:"Pantalon de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:100b,id:"minecraft:diamond_boots",tag:{display:{Name:"Bottes de l'Apocalypse"}}}]}
Code:
/effect @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6,score_ArmorCount=4] minecraft:slowness 1 1 true
Code:
/effect @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6,score_ArmorCount_min=4] minecraft:slowness 0
C'est à améliorer, mais c'est déjà une très bonne base.

J'ai mis à ta disposition une map de test pour t'aider à comprendre.
  • L'effet s'applique dans le carré
  • tu es déjà équipé de l'armure
  • le compteur d'armure est visible, il change quand tu retires/remet une pièce d'armure
  • tu as l'effet de lenteur quand tu n'as pas toute l'armure, il se retire quand tu as toute l'armure
N'hésite pas à demander en cas de problème.
 

Fichiers joints

Dernière édition par un modérateur:
Salut, je ne suis pas un expert donc j'espère que les gens calés pourront me corriger/compléter (si besoin).

Tout d'abord, le principe :
  • j'ai un compteur (au hasard, "ArmorCount")
  • je mets le compteur à zéro, pour "préparer" la vérification
  • je vérifie l'armure de la tête, si je la vois j'ajoute 1 au compteur ArmorCount
  • je vérifie le corps, j'ajoute 1
  • même chose pour le pantalon et les bottes
  • si à la fin, le résultat est inférieur à 4, je donne l'effet de la potion
  • je retire l'effet de la potion pour ceux qui ont l'armure complète
  • et on recommence
Pour résumer : je mets le compteur à 0, je check l'armure complète, je donne l'effet.

On commence par créer l'objectif de score :
Code:
/scoreboard objective add ArmorCount dummy

Il te faudra 7 command_block, le 1er en mode repeat et les autres en mode chaîne (ils seront tous en mode "Toujours actif", et disposés sur une ligne continue).

Les commandes, du début à la fin (elles seront à adapter selon le type d'armure et le nom de l'objet), contiennent le point de départ et le champ d'action (ici, un carré de 7x7x
Code:
/scoreboard players set @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 0
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:103b,id:"minecraft:diamond_helmet",tag:{display:{Name:"Casque de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:102b,id:"minecraft:diamond_chestplate",tag:{display:{Name:"Plastron de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:101b,id:"minecraft:diamond_leggings",tag:{display:{Name:"Pantalon de l'Apocalypse"}}}]}
Code:
/scoreboard players add @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6] ArmorCount 1 {Inventory:[{Slot:100b,id:"minecraft:diamond_boots",tag:{display:{Name:"Bottes de l'Apocalypse"}}}]}
Code:
/effect @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6,score_ArmorCount=4] minecraft:slowness 1 1 true
Code:
/effect @a[x=-1351,y=4,z=-651,dx=6,dy=6,dz=6,score_ArmorCount_min=4] minecraft:slowness 0
C'est à améliorer, mais c'est déjà une très bonne base.

J'ai mis à ta disposition une map de test pour t'aider à comprendre.
  • L'effet s'applique dans le carré
  • tu es déjà équipé de l'armure
  • le compteur d'armure est visible, il change quand tu retires/remet une pièce d'armure
  • tu as l'effet de lenteur quand tu n'as pas toute l'armure, il se retire quand tu as toute l'armure
N'hésite pas à demander en cas de problème.

MERCI !!! Vraiment cool ! on pourrais presque en faire un one command xd
 
  • J'aime
Reactions: Compte supprimé
Comme je disais, avec les arguments dx, dy et dz, tu peux obtiens des sélections carrées, comme l'explique PneuX sur son topic que j'ai galéré à trouver parce qu'il était pas dans la bonne section bwaaah.
http://minecraft.fr/forum/threads/parcelles-privées-en-vanilla-multijoueurs-v-2.143100/
:mais: Lorsque je l'avais posté, le sous forum Command_block n'avait pas encore été créé :dsl:^^
(Je n'ai d'ailleurs toujours pas pris le temps de mettre à jour la description de la vidéo ... :s )