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

Aide bug map commandBlock

Discussion dans 'Mapping' créé par Xyliaris, 24 Août 2015.

  1. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme
    Bonjour, je joue en 15w35b. Je crois que cette version bug, car ce que j'ai fait ne fonctionne pas bien.

    #INIT
    scoreboard objectives add zombASpawner dummy
    scoreboard objectives add
    zombSpawne dummy
    summon
    ArmorStand ~ ~1 ~
    scoreboard players set @e[type=
    ArmorStand,r=22] zombASpawner 10
    scoreboard players set @e[type=ArmorStand,r=22] zombSpawne 0
    #END_INIT

    #LOOP

    testfor @e[type=ArmorStand,r=13,score_zombSpawne_min=score_zombASpawner_min,score_zombSpawne=score_zombASpawner]
    #FALSE
    scoreboard players add @e[type=ArmorStand,r=14] zombSpawne 1
    #TRUE
    #BREAKLOOP
    #LOOP_END


    Le problème est que la boucle tourne 1 fois puis le comparateur trouve quand même l'ArmorStand. WTF ?
     
    • J'aime J'aime x 1
  2. tomaxed44

    tomaxed44 Mineur

    Inscrit:
    19 Mai 2013
    Messages:
    427
    Points:
    136
    Sexe:
    Homme
    ta commande n'est pas bonne, tu n'as pas mis les arguments...

    testfor @e[type=ArmorStand,r=13,score_zombSpawne_min=1score_zombASpawner_min=1,score_zombSpawne=1score_zombASpawner=1]

    j'ai mis 1 mais a toi de bien corriger ;)

    AU passage si tu est en 1.9, met les comparateurs a la poubelle et utilise les commands blocks Coditionnels
     
    • J'aime J'aime x 2
  3. FloxHunt

    FloxHunt Résident du Nether

    Inscrit:
    30 Juil 2013
    Messages:
    4 710
    Points:
    164
    Sexe:
    Homme
    Je déplace dans Support
     
    • J'approuve J'approuve x 2
    • J'aime J'aime x 1
  4. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme

    Pourquoi faut t'il rajouter '1' devant score ? oO c'est aussi une variable "1score_NOM" ?
     
    • J'aime J'aime x 1
  5. tomaxed44

    tomaxed44 Mineur

    Inscrit:
    19 Mai 2013
    Messages:
    427
    Points:
    136
    Sexe:
    Homme
    Non j'ai juste oublié une virgule. Je vais réécrite ta commande plus proprement:
    /scoreboard players set @e[type=ArmorStand,score_zombASpawner=10,score_zombASpawner_min=10,score_zomb_spawn_min=1] zombSpawne 1
     
    • J'aime J'aime x 1
  6. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Heu... peut-être que je comprends mal mais j'ai l'impression que tu demandes dans ta commande si deux variables sont égales.

    En effet dans :
    Code (cpp):
    testfor @e[type=ArmorStand,r=13,score_zombSpawne_min=score_zombASpawner_min,score_zombSpawne=score_zombASpawner]
    On peut voir que tes conditions sont :
    Code (cpp):
    score_zombSpawne_min=score_zombASpawner_min
    Code (cpp):
    score_zombSpawne=score_zombASpawner
    Or à ma connaissance (après peut être que cela a changé en 1.9 mais ça ne fait pas partie de la patchnote) on ne peut pas simplement comparer deux variables ainsi, on ne peut mettre que des valeurs numériques derrière ce genre d'argument.
    Par conséquent ton argument n'est pas considéré par le jeu et il détecte tous les ArmorStand dans un rayon de 13 blocks sans en faire la distinction.

    Tu as l'air d'être habitué à faire des programmes au vu de tes marquages avant chaque groupe de ligne, mais malheureusement dans Minecraft tu ne pourras pas faire des comparaisons de cette manière.
    (D'autant plus que les "score_min=" et "score=" sont là pour encadrer une valeur à mesurer et ne correspondent à aucune variable définie pour l'entité.)
     
    • J'aime J'aime x 1
  7. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme
    Oui effectivement je suis dev cpp ^^, d'accord donc on ne peux pas comparer deux variables... Bon bah je vais devoir utilisé la bonne vieille redstone x)
     
    • J'aime J'aime x 1
  8. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Tu peux toujours définir une valeur X zombASpawner puis faire un /scoreboard operation pour mettre la valeur de zombASpawner dans la valeur zombSpawne de ton entité. A partir de là tu n'as plus qu'à décrémenter ton score à chaque cycle jusqu'à ce qu'il atteigne 0. Ton résultat final sera le même simplement la valeur finale de zombSpawne sera 0 et non 10.

    Code (cpp):
    scoreboard players set @e[type=ArmorStand,r=22] zombASpawner X
    scoreboard players operations @e[type=ArmorStand,r=22,c=1] zombSpawne += @e[type=ArmorStand,r=22,c=1] zombASpawner
    Code (cpp):
    testfor @e[type=ArmorStand,r=13,score_zombSpawne=0]
    scoreboard players remove @e[type=ArmorStand,r=14] zombSpawne 1
    Si tu veux en savoir plus sur les scoreboard je te recommande de lire cette page : http://minecraft.gamepedia.com/Scoreboard
     
    • J'aime J'aime x 1
  9. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme
    Merci beaucoup, je ne savais pas qu'ont pouvait faire ça ^^
     
    • J'aime J'aime x 1
  10. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme
    Au faite, important, comme je ne connaissais pas "scoreboard players operations" pourrait tu commenter le code ?
     
    • J'aime J'aime x 1
  11. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Attention au double-post ^^
    Tu peux utiliser la fonction "éditer" si tu souhaites modifier ton message.

    La syntaxe du scoreboard operation est décrite dans le lien que je t'ai envoyé (tout comme toutes les commandes scoreboard) mais je vais te la résumer.
    Code (cpp):
    scoreboard players operation <Joueur_cible> <Objetif_cible> <operation> <Joueur_source> <Objectif_source>
    Ici le joueur cible recevra dans son objectif cible une operation avec la valeur de l'objectif source du joueur source.

    L'operation peut être de plusieurs types :
    • "+=" : addition sur le score du joueur cible
    • "-=" : soustraction sur le score du joueur cible
    • "*=" : multiplication du score du joueur cible
    • "/=" : division sur le score du joueur cible (qui est arrondie à la valeur inférieur)
    • "%=" : division avec reste sur le score du joueur cible (le reste de la division devient le score du joueur cible, un modulo si tu connais)
    • "=" : remplacement du score du joueur cible
    • "<" : si le score de la source est inférieur à celui de la cible alors la source remplace la cible (un "=" avec une condition d'inaglité en gros)
    • ">" : si le score de la source est supérieur à celui de la cible alors la source remplace la cible (idem, il peut sembler que les deux signes devrais être inversés au vu de leur condition, mais en réalité il faut le voir comme si la source était le maximum ou le minimum de la cible, donc si la cible le dépasse/est inférieure ça le ramène à la valeur seuil pour que l'opérateur > ou < soit toujours vérifié)
    • "> <" (ne pas mettre l'espace entre les deux mais là je suis obligé sinon ça fait un smiley) : inverse les scores cible et source

    A noter que le "Joueur_source" ou "Joueur_cible" peut être un sélecteur qui peut donc concerner plusieurs joueurs, dans ce cas pour le "Joueur_source" il faut considérer la somme de l'objectif source pour tous les joueurs sources (pour la cible ça applique juste l'opération à toutes les cibles).

    Par exemple si je souhaite ajouter à un joueur dans l'équipe bleu le score de @a[team=Rouge] et qu'il y a plusieurs joueurs dans l'équipe rouge, il recevra la somme des scores de tous les joueurs de l'équipe rouge.
     
    • J'aime J'aime x 1
  12. Xyliaris

    Xyliaris Enter the World

    Inscrit:
    18 Juil 2015
    Messages:
    25
    Points:
    10
    Sexe:
    Femme
    Ok cool ^^merci bien :)
     
    • J'aime J'aime x 1

Partager cette page