Dégâts de zone+explosion


  • Correcteurs

    Bonjour, bonsoir,

    J'ai fais une pièce d'armure associée à un item, quand on "clic droit" avec l'item tout en portant la pièce d'armure sur soi on explose…
    Oui j'ai fais une tenue de bombe humaine.

    Alors le soucis qui me fait venir cette fois c'est que sur mon serveur les explosions sont "cancel" en tout cas elles n'explosent pas les blocs et en y testant ma fonctionnalité je me suis rendu compte que les dégâts n'étaient pas pris en compte, je crée simplement l'animation d'une explosion en gros.

    Du coup je me suis dis qu'il suffirait d'appliquer des dégâts en zone au moment de l'animation. Grâce au bonus en tuto de Robin sur les épées c'est fait.
    Au final j'ai deux méthodes l'une quand on tape une entité, l'autre quand on clique droit:

    L'instanceofAnimal c'est pour tester en solo si les dégâts s'appliquent bien.

    Auriez-vous un moyen, une méthode peut-être, qui me permettent de me faire péter et d'appliquer les dégâts en une seule action?
    Au passage j'aimerais fortement que les dégâts en zone s'appliquent également au joueur qui porte l'armure (Sinon c'est pas drôle =D ).



  • world.createExplosion(null, player.posX, player.posY + 1, player.posZ, 5.0F, true);

    si ma memoire est bonne, tu n'a pas d'explosion car la premiere variable est null. entité, x,y,z,zone,pete bloc. Donc, l'explosion n'est pas défini.

    Quand au joueur qui explose, methode barbare, mais ce serai de lui enlever de la vie en meme temps que du clic avec l'item. Car j'ai tester, les dommage source de l'explosion de celui qui l’émet sont ignorer.



  • L erreur ne vient pas du tout des arguments de la méthode. Nan. Le problème est que la méthode createExplosion est à appeler sur les deux Sides : le client se charge des particules, et le serveur des dégâts, de la destruction des blocks et du son. Or là dans ton code, ce qui est bizarre c'est que tu fais une condition pour ne créer l explosion sur serveur. Vire le (!world.isRemote), mais c est quand même bizarre que tu n'ais pas la destruction, ni les dégârs…



  • J'ai testé, avec le !world.isRemote, j'ai l'explosion, la destruction et les dégâts infligé oO. Etrange.


  • Administrateurs

    La seule explication que je vois c'est que le serveur tourne sous Cauldron est qu'un plugin bloque les explosions. Car il n'y a aucune erreur dans ton code.



  • Vire la condition world.isRemote et dis moi quoi


  • Administrateurs

    @'robin4002':

    La seule explication que je vois c'est que le serveur tourne sous Cauldron est qu'un plugin bloque les explosions. Car il n'y a aucune erreur dans ton code.

    = ça ne vient pas du world.isRemote
    Surtout que dans son code il y a !world.isRemote ce qui correspond au monde serveur …


  • Correcteurs

    [font=Ubuntu, sans-serifc'est que sur mon serveur les explosions sont "cancel"]

    Sous Eclipse j'explose, y'a pas de soucis les gars. C'est que sur mon serveur je bloque les dégâts de l'explosion et donc j'aimerais appliquer d'autres dégâts à la place.

    Comme ça j'aurai l'animation d'explosion et les dégâts aux joueurs sans pour autant foutre en l'air la carte.
    Mon soucis est d'arriver à faire les deux d'un coup. Avec mes deux méthodes actuelles c'est pas ça.


  • Administrateurs

    Il faut faire une explosion custom.


  • Correcteurs

    Je passe en résolu, j'ai fais un mix des deux méthodes et en fait ça marche bien.