Exemplo n.º 1
0
        public static void OnQueryPlayerData(WorldClient client, INetPacketStream packet)
        {
            var onQueryPlayerDataPacket = new QueryPlayerDataPacket(packet);
            var queryPlayerDataEvent    = new QueryPlayerDataEventArgs(onQueryPlayerDataPacket.PlayerId, onQueryPlayerDataPacket.Version);

            client.Player.NotifySystem <PlayerDataSystem>(queryPlayerDataEvent);
        }
Exemplo n.º 2
0
 private void GetPlayerData(IPlayerEntity player, QueryPlayerData2EventArgs e)
 {
     for (int i = 0; i < e.Size; i++)
     {
         var args = new QueryPlayerDataEventArgs(e.PlayerDictionary.Keys.ElementAt(i), e.PlayerDictionary.Values.ElementAt(i));
         GetPlayerData(player, args, i == e.Size - 1);
     }
 }
Exemplo n.º 3
0
        private void GetPlayerData(IPlayerEntity player, QueryPlayerDataEventArgs e, bool send = true)
        {
            var worldServer  = DependencyContainer.Instance.Resolve <IWorldServer>();
            var playerEntity = worldServer.GetPlayerEntityByCharacterId(e.PlayerId);

            // Player is offline
            if (playerEntity is null)
            {
                var database  = DependencyContainer.Instance.Resolve <IDatabase>();
                var character = database.Characters.Get(x => x.Id == e.PlayerId);
                WorldPacketFactory.SendPlayerData(player, e.PlayerId, character.Name, (byte)character.ClassId, (byte)character.Level, character.Gender, PlayerDataComponent.StartVersion, false, send);
            }
            else // Player is online
            {
                WorldPacketFactory.SendPlayerData(player, e.PlayerId, playerEntity.Object.Name, (byte)playerEntity.PlayerData.JobId, (byte)playerEntity.Object.Level, playerEntity.VisualAppearance.Gender, playerEntity.PlayerData.Version, true, send);
            }
        }