1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Différencier des flèches

Discussion dans 'Mapping' créé par matyce11, 26 Nov 2014.

  1. matyce11

    matyce11 Bûcheron

    Inscrit:
    2 Sept 2013
    Messages:
    109
    Points:
    74
    Sexe:
    Homme
    Salut salut! Je voudrais faire une map pvp, et j'ai une idée pour faire un C4 : le détonateur et en fait un oeuf de PNJ renommé, et quand un PNJ de ce nom est trouvé, je fais apparaître un creeper avec le fuse à 0 sur la flèche (et je tu le PNJ et la flèche). Or cela marche très bien en solo, mais quand il y a plusieurs flèches, elle reçoive un creeper en même temps. Le problème est que si plusieurs joueurs utilise le C4, un joueur pourra tous faire péter. Y a t'il donc un moyen de différencier les flèches? (par le lanceur, de préférence).
    Et aussi, comment faire pour séléctionner une flèche dans le sol avec le /execute?
    Code (cpp):
    /execute @e[type=Arrow] ~ ~ ~ {inGround:1b} summon Creeper ~ ~ ~ {Fuse:0}
    Le code ne marche pas, je ne sais pas où placer {inGround:1b}
     
  2. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 593
    Points:
    229
    Salutations.

    Alors on va commencer par le plus simple, la différenciation avec le tag "inGround" ne peux pas se faire directement dans la commande de summon, tu dois passer par un scoreboard puis l'utiliser comme sélecteur.
    Code (cpp):
    scoreboard players set @e[Arrow] Objectif 1 {inGround:1b}
    execute @e[type=Arrow,score_Objectif_min=1] ~ ~ ~ summon Creeper ~ ~ ~ {Fuse:0}
    Ensuite pour différencier les flèches c'est plus compliqué, si le nombre de joueur est limité tu peux donner un scoreboard d'attribution à chacun de tes joueurs, et le villageois fait un execute dans un rayon très réduit qui fais exploser les flèches ayant ce score.

    Code (cpp):
    execute @a[score_Attribution_min=1,score_Attribution=X] ~ ~ ~ scoreboard players set @e[type=Arrow,score_Attribution=0] Attribution X
     
    execute @e[type=Villager] ~ ~ ~ execute @a[r=1,score_Attribution_min=X,score_Attribution=X] ~ ~ ~ execute @e[type=Arrow,score_Attribution_min=X,score_Attribution=X,score_Objectif_min=1] ~ ~ ~  summon Creeper ~ ~ ~ {Fuse:0}
    Tu peux donner à X la valeur que tu veux et donc plusieurs valeurs en plusieurs commandes pour plusieurs joueurs (je te laisse le soin de donner ce score aux joueurs. N'oublie pas de tuer le villageois pour ne pas activer en boucle le summon.

    Il y a peut être plus simple mais ça peut marcher.
     
    #2 Calambiel, 26 Nov 2014
    Dernière édition: 26 Nov 2014
  3. matyce11

    matyce11 Bûcheron

    Inscrit:
    2 Sept 2013
    Messages:
    109
    Points:
    74
    Sexe:
    Homme
    Je test tout de suite :)

    EDIT: je dois faire une mauvaise manip, mais ça ne marche pas pour je ne sais quel raison. Je verrais plus tard

    EDIT 2: ca a l'ai de marcher! passe en résolu ;)
     
    #3 matyce11, 26 Nov 2014
    Dernière édition: 26 Nov 2014

Partager cette page