24 oct. 2017, 19:12

Oui il est bien enregistré et il retourne la bonne valeur .
C’est uniquement le fait de devoir l’afficher qui pose problème car l’entityplayer de la fonction addinformation() c’est un entotyplayerSP et on a besoin d’un entityplayerMP ….

Sinon voici le packet :

[font=Courier Newpublic class ]PacketLevel implements IMessage
{

  IDofusCraftLevels level%(#cc7832)[;
]
   public PacketLevel()
  {
  }

  public PacketLevel(IDofusCraftLevels level)
  {
     this.level = level%(#cc7832)[;
]   }

  %(#bbb529)[@Override
]   public void fromBytes(ByteBuf buf)
  {
     if(this.getLevel() != null)
     {

        this.getLevel().setLevel(buf.readInt())%(#cc7832)[;
]
     }
  }

  %(#bbb529)[@Override
]   public void toBytes(ByteBuf buf)
  {
     if(this.getLevel() != null)
     {

        buf.writeInt(this.getLevel().getLevel())%(#cc7832)[;
]
     }
  }

  public void setLevel(IDofusCraftLevels level)
  {
     this.level = level%(#cc7832)[;
]   }

  public  IDofusCraftLevels getLevel()
  {
     return this.level%(#cc7832)[;
]   }

  public static class PacketLevelHandlerClient implements IMessageHandler <packetlevel, imessage="">{

     %(#bbb529)[@Override
]      public IMessage onMessage(PacketLevel message, MessageContext ctx)
     {

        IThreadListener thread = DofusCraftCore.*proxy*.getListener(ctx)%(#cc7832)[;
]         final EntityPlayer player = DofusCraftCore.*proxy*.getPlayer(ctx)%(#cc7832)[;
]         final IDofusCraftLevels value = message.getLevel()%(#cc7832)[;
]         thread.addScheduledTask(() -> {
           if(player != null) {
              IDofusCraftLevels capabilities = player.getCapability(DofusCraftLevelsProvider.*LEVEL_CAP*, null)%(#cc7832)[;
]               if(capabilities != null && value != null) {
                 capabilities.setLevel(value.getLevel())%(#cc7832)[;
]               }
           }
        })%(#cc7832)[;
]
%(#cc7832)[         return null;
]      }
  }

  public static class PacketLevelHandlerServer implements IMessageHandler <packetlevel, imessage="">{

     %(#bbb529)[@Override
]      public IMessage onMessage(PacketLevel message, MessageContext ctx)
     {
        IThreadListener thread = DofusCraftCore.*proxy*.getListener(ctx)%(#cc7832)[;
]         final EntityPlayer player = DofusCraftCore.*proxy*.getPlayer(ctx)%(#cc7832)[;
]         final IDofusCraftLevels value = message.getLevel()%(#cc7832)[;
]         thread.addScheduledTask(() -> {
           if(player != null) {
              IDofusCraftLevels capabilities = player.getCapability(DofusCraftLevelsProvider.*LEVEL_CAP*, null)%(#cc7832)[;
]               if(capabilities != null && value != null) {
                 capabilities.setLevel(value.getLevel())%(#cc7832)[;
]               }
           }
        })%(#cc7832)[;
]%(#cc7832)[         return null;
]      }
  }

}

Cordialement ,</packetlevel%(#cc7832)[,></packetlevel%(#cc7832)[,>