2 votes

Comment puis-je incrémenter "stat.talkedToVillager" pour un villageois mais pas pour un autre ?

J'ai deux villageois, l'un nommé "Bleu" et l'autre "Vert", et j'appelle mes deux objectifs "TalkvillGreen" et "TalkvillBlue". Les deux scores comptabilisent le nombre de villageois à qui j'ai parlé.

Comment puis-je faire en sorte que lorsque je parle au villageois nommé "Green", j'obtienne le score 1 pour l'objectif "TalkvillGreen" et non "TalkvillBlue" ?

2voto

SirBenet Points 27779

Il y a beaucoup plus de commandes que ce que je prévoyais à l'origine, mais ce qui suit devrait fonctionner.

Tout d'abord, vous aurez besoin de 3 objectifs pour cela. Les deux premiers ont déjà été mis en place, mais avec un type différent :

/scoreboard objectives add TalkVillBlue dummy
/scoreboard objectives add TalkVillGreen dummy
/scoreboard objectives add TalkVill stat.talkedToVillager

Ensuite, sur une horloge, exécutez les commandes suivantes dans l'ordre :

/scoreboard players tag @e[type=Villager,name=Green] add VillTalkedTo {Offers:{}}
/scoreboard players tag @e[type=Villager,name=Blue] add VillTalkedTo {Offers:{}}
/execute @e[tag=VillTalkedTo,name=Green] ~ ~ ~ /scoreboard players add @p[score_TalkVill_min=1] TalkVillGreen 1
/execute @e[tag=VillTalkedTo,name=Blue] ~ ~ ~ /scoreboard players add @p[score_TalkVill_min=1] TalkVillBlue 1
/execute @e[tag=VillTalkedTo,name=Green] ~ ~ ~ /summon Villager ~ ~ ~ {Tags:[NewVill],CustomName:"Green"}
/execute @e[tag=VillTalkedTo,name=Blue] ~ ~ ~ /summon Villager ~ ~ ~ {Tags:[NewVill],CustomName:"Blue"}
/execute @e[tag=VillTalkedTo] ~ ~ ~ /teleport @e[tag=NewVill,c=1] ~ ~ ~ ~ ~
/tp @e[tag=VillTalkedTo] ~ -500 ~
/kill @e[tag=VillTalkedTo]
/scoreboard players tag @e[tag=VillTalkedTo] remove VillTalkedTo
/scoreboard players set @a[score_TalkVill_min=1] TalkVill 0

Il s'agit de :

1&2. Marquez tous les villageois avec lesquels des échanges ont eu lieu (et donc leurs Offers générée) avec VillTalkedTo
3&4. Incrémente les villageois qui viennent de parler au joueur qui vient d'interagir avec eux. TalkVillGreen o TalkVillBlue score
5&6. Resoumonez-les (car ils sont sur le point de mourir), c'est ici que vous devrez mettre les tags spécifiques à ces villageois si vous en avez d'autres que leur nom.
7. Téléporter le villageois nouvellement convoqué vers soi, afin de le faire pivoter correctement.
8&9. Téléportez les villageois verts/bleus qui ont parlé dans le vide, puis tuez-les.
10&11. Réinitialisation des étiquettes et des scores utilisés, prêt à détecter à nouveau.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X