• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Probleme de Chat Local

    1.7.x
    1.7.10
    4
    6
    2252
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • sosoh
      sosoh dernière édition par

      Salut, j’ai fait un chat local en utilisant les conseils de certains mais ca ne marche pas, voila mon code:

      [font=Courier New@SubscribeEvent
      ]**public void **onPlayerChat(ServerChatEvent event){
      String message = event.**message**;
      String username = event.**username**;
      EntityPlayerMP player = event.**player**;
      event.setCanceled(**true**);
      ExtentedEntityProprieties props = ExtentedEntityProprieties.*get*(player);
      **if**(props.getMute() != 0){
      player.addChatComponentMessage(**new **ChatComponentText(**"Vous etes mute! Vous ne pouvez pas parler avant: "**+props.getMute()/20+**" secondes!"**)
      .setChatStyle(**new **ChatStyle().setColor(EnumChatFormatting.***DARK_RED***)));
      }**else**{
      player.addChatComponentMessage(**new **ChatComponentText(**"[Local<"**]+username+**"> "**+message)
      .setChatStyle(**new **ChatStyle().setColor(EnumChatFormatting.***YELLOW***)));
      **for**(Object entities:player.**worldObj**.getEntitiesWithinAABB(EntityPlayerMP.**class**, AxisAlignedBB.*getBoundingBox*(0.0D, 0.0D, 0.0D, 60.0D, 60.0D, 60.0D))){
      **if**(entities **instanceof **EntityPlayerMP){
      ((EntityPlayerMP) entities).addChatComponentMessage(**new **ChatComponentText(**"[Local<"**]+username+**"> "**+message)
      .setChatStyle(**new **ChatStyle().setColor(EnumChatFormatting.***YELLOW***)));
      }
      }
      }
      
      }
      

      Le code fonctionne pour le player ‘sender’ mais pas pour les joueurs aux alentours.

      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREX
        SCAREX dernière édition par

        Ton AABB n’est pas correcte : tu prend tous les joueurs qui sont jusqu’à soit blocks en PLUS donc tous ceux qui sont en négatif par rapport au joueur n’apparaissent pas dans la liste. De plus, en omettant le paramètre Predicate, tous les joueurs qui sont en spectateur ne le verront pas.

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • sosoh
          sosoh dernière édition par

          Mon code est pour la 1.8 donc pas de spectateurs, et donc comme je peux regler la ca? Je mets -60.0D au lieu de 0.0D ?

          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

          1 réponse Dernière réponse Répondre Citer 0
          • Snyker
            Snyker dernière édition par

            String message = event.message;
            String username = event.username;
            EntityPlayerMP player = event.player;
            

            J’apprend le moding mais mettre 3 Event c’est un conflit non ?

            Essaye :
            ev = raccourci de event
            m/u/p c’est pour reconnaitre ^^

            String message = evm.message;
            String username = evu.username;
            EntityPlayerMP player = evp.player;
            

            Ci cela marche pas  ,je ne suis pas assez qualifié pour te répondre désolé ^^

            Aucune signature n'est disponible pour une barre chocolatée.

            1 réponse Dernière réponse Répondre Citer 0
            • sosoh
              sosoh dernière édition par

              Il y a 1 seul event, l’event ServerChatEvent, les évent.qqch, ce sont des instances que je vais chercher, dans mon cas le event.message va me donner une String contenant le message quand le joueur parle, le event.player va me donner l’instance du joueur en question (lorsqu’un joueur parle) et de cette manière je peux accéder à toutes les données qui sont en rapport avec le joueur. Merci de ton aide quand même ^^

              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                @‘iFuSion34’:

                String message = event.message;
                String username = event.username;
                EntityPlayerMP player = event.player;
                

                J’apprend le moding mais mettre 3 Event c’est un conflit non ?

                Essaye :
                ev = raccourci de event
                m/u/p c’est pour reconnaitre ^^

                String message = evm.message;
                String username = evu.username;
                EntityPlayerMP player = evp.player;
                

                Ci cela marche pas  ,je ne suis pas assez qualifié pour te répondre désolé ^^

                Tu te mélange les pinceaux. Il n’y a bien qu’un seul event. et ev n’est pas le raccourci de event.
                Il doit bien utilise event, puisque c’est le nom qu’il a donné la variable ServerChatEvent :
                public void onPlayerChat(ServerChatEvent event){

                Si il avait fait
                public void onPlayerChat(ServerChatEvent machin){
                il aurait du utiliser machin.message, machin.username …

                @‘sosoh’:

                Mon code est pour la 1.8 donc pas de spectateurs, et donc comme je peux regler la ca? Je mets -60.0D au lieu de 0.0D ?

                Ton code actuel envoie le message à tous les joueurs qui se trouvent entre 0,0,0 et 64,64,64. Si tu veux envoyer à tous les joueurs qui sont à 64 blocs autours du joueur qui a tenté d’envoyer le message, il faut plutôt utiliser :
                player.boundingBox.expand(64.0D, 64.0D, 64.0D)

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB