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 PlaySound

Discussion dans 'Mapping' créé par boucki, 21 Fev 2017.

  1. boucki

    boucki Bûcheron

    Inscrit:
    12 Mai 2015
    Messages:
    295
    Points:
    103
    Sexe:
    Homme
    Bonjour,

    j'ai un problème avec les playsound, je ne sais absolument pas comment faire pour faire ça :

    Il faut que le son securitycraft:alarm suive un joueur donné en émettant le son à 15 blocs aux alentours.
    vu que c'est dans un script avec le plugin skript, le joueur est %player%
    J'ai essayé ça:
    /playsound securitycraft:alarm %player% 15 ~ ~ 1 15 mais ça ne fonctionne pas.

    Merci de votre aide :)
     
  2. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Je ne sais pas en quelle version tu joues mais la syntaxe du playsound est la suivante :
    Code (cpp):
    /playsound <son> <type> <joueurs> <x> <y> <z> <volume max> <hauteur> <volume min>
    Il te manque le type de son qui correspond à quel "slot" de son il appartient pour les réglages du joueur. On prendra "master" par simplicité qui est le son principal.

    "Joueur" n'est pas le joueur qui jouera le son, mais les joueurs qui l'entendront depuis la source. Si tu veux que tout le monde l'entende depuis un joueur en particulier, tu dois utiliser un /execute sur le "joueur source" puis utiliser le @a dans le /playsound pour que tous les joueurs puissent l'entendre.

    X/Y/Z ne sont pas la distance à laquelle est joué le son, mais son point d'exécution, cela permet d'éviter de passer par des executes lorsqu'on joue depuis une position fixe, ou également d'utiliser des coordonnées relatives par rapport à l'exécutant. Ici nous ne sommes dans aucun des deux cas, donc ils seront simplement "~ ~ ~" pour rester sur le joueur.

    Le volume max est une valeur qui peut être comprise entre 0 et "l'infini". Sa compréhension reste assez difficile. En gros il va définir la perte d'intensité du son avec la distance ainsi que le rayon de sa sphère d'audition. Pour une valeur inférieur à 1 (assimilable à un pourcentage de 100%), dans un rayon de 16 blocs le son va progressivement diminuer jusqu'à atteindre 0, bien sur ce rayon sans diminuer, va être "à l'oreille" de plus en plus petit si la valeur diminue car le volume atteindra 0 plus vite. Pour une valeur de 1 ou plus le son ne perd pas en intensité avec la distance et la valeur va en fait multiplier le rayon maximum d'audition du bloc (bien sur on peut se demander l'intérêt de tenir compte d'une zone à ce stade vu que le son sera audible de partout, mais cela s'explique par le volume minimum qu'on va détailler ci-dessous).

    La hauteur représente le pitch du son, pas la peine de s'étendre dessus, un son avec un pitch plus élevé sera plus rapide ou aigu et inversement. La valeur est comprise entre 0 et 2.

    Enfin le volume minimum va être le pourcentage du minimal du son qui sera entendu. Il impose donc un minimun lorsque le volume max est inférieur à 1, mais aussi un pourcentage qui sera forcément entendu quelle que soit la distance. Si on le met à 1 on arrive au même résultat qu'un volume max à 1 sans volume minimum. En le mettant à une valeur inférieure à 0 on défini le pourcentage de son qui sera entendu à la limite de la zone d'audition.
    Ainsi tout au fur et à mesure qu'on s'éloigne de la source, le son va diminuer de son volume max (au centre) vers son volume min (sur la périphérie, dont la distance est réglée par un volume max supérieur à 1).



    Dans ton cas, tu veux une distance de 15 blocs. Tu peux donc arrondir à 16 et utiliser un volume max à 1 et un volume min à 0 vu que la zone de base a un rayon de 16, ou tu peux utiliser un volume max inférieur un 1 et ne pas définir de volume min, en estimant par la pratique la zone qui te convient.

    En considérant la première option (afin de faire apparaître tous les arguments existants), ta commande serait :
    Code (cpp):
    /execute %player% ~ ~ ~ /playsound securitycraft:alarm master @a ~ ~ ~ 1 1 0
    Je reste malgré tout septique à l'utilisation de commandes sur un serveur non vanilla, elles seront quasiment toujours perturbées d'une manière ou d'une autre, donc même quelque chose fonctionnant en situation normale pourrait devenir obsolète.
     
  3. boucki

    boucki Bûcheron

    Inscrit:
    12 Mai 2015
    Messages:
    295
    Points:
    103
    Sexe:
    Homme
    Je te remercie énormément de ton aide, je vais voir si ça marche, sinon je ne m'attarderais pas dessus :)
     

Partager cette page