Ejemplo n.º 1
0
        private void Notice(GamePlayer player, int id, string name)
        {
            int rate = ShopMgr.GetLimitCountByID(id) * 100 / ShopMgr.GetLimitMax(id);

            if (rate == 70 || rate == 50 || rate == 30 || rate == 10)
            {
                GSPacketIn pkg = new GSPacketIn(10);
                pkg.WriteInt(2);
                pkg.WriteString(LanguageMgr.GetTranslation("UserBuyLimitItemNotice.Content", new object[]
                {
                    name,
                    ShopMgr.GetLimitCountByID(id)
                }));
                GameServer.Instance.LoginServer.SendPacket(pkg);
                GamePlayer[] players = WorldMgr.GetAllPlayers();
                GamePlayer[] array   = players;
                for (int i = 0; i < array.Length; i++)
                {
                    GamePlayer p = array[i];
                    if (p != player)
                    {
                        p.Out.SendTCP(pkg);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override int HandlePacket(GamePlayer player, GSPacketIn packet)
        {
            ItemInfo item = player.PropBag.GetItemByCategoryID(0, 11, 4);

            if (item != null)
            {
                player.PropBag.RemoveCountFromStack(item, 1, eItemRemoveType.Use);
                player.OnUsingItem(item.TemplateID);
                int        senderID   = packet.ReadInt();
                string     senderName = packet.ReadString();
                string     msg        = packet.ReadString();
                GSPacketIn pkg        = packet.Clone();
                pkg.ClearContext();
                pkg.ClientID = player.PlayerCharacter.ID;
                pkg.WriteInt(player.PlayerCharacter.ID);
                pkg.WriteString(player.PlayerCharacter.NickName);
                pkg.WriteString(msg);
                GamePlayer[] players = WorldMgr.GetAllPlayers();
                GamePlayer[] array   = players;
                for (int i = 0; i < array.Length; i++)
                {
                    GamePlayer p = array[i];
                    p.Out.SendTCP(pkg);
                }
            }
            return(0);
        }
Ejemplo n.º 3
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            packet.ReadBoolean();
            string str = packet.ReadString();
            int    num = 200;

            if (client.Player.PlayerCharacter.Money >= num)
            {
                client.Player.RemoveMoney(num);
                GSPacketIn gSPacketIn = new GSPacketIn(123);
                gSPacketIn.WriteString(str);
                GameServer.Instance.LoginServer.SendPacket(gSPacketIn);
                client.Player.LastChatTime = DateTime.Now;
                GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
                for (int i = 0; i < allPlayers.Length; i++)
                {
                    GamePlayer gamePlayer = allPlayers[i];
                    gSPacketIn.ClientID = gamePlayer.PlayerCharacter.ID;
                    gamePlayer.Out.SendTCP(gSPacketIn);
                }
            }
            else
            {
                client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("Xu không đủ!", new object[0]));
            }
            return(0);
        }
Ejemplo n.º 4
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            ItemInfo itemByCategoryID = client.Player.PropBag.GetItemByCategoryID(0, 11, 4);

            if (itemByCategoryID != null)
            {
                client.Player.PropBag.RemoveCountFromStack(itemByCategoryID, 1);
                packet.ReadInt();
                packet.ReadString();
                string str = packet.ReadString();
                if (DateTime.Compare(client.Player.LastChatTime.AddSeconds(15.0), DateTime.Now) > 0)
                {
                    client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("Quá nhiều thao tác!", new object[0]));
                    return(1);
                }
                GSPacketIn gSPacketIn = new GSPacketIn(71);
                gSPacketIn.WriteInt(client.Player.PlayerCharacter.ID);
                gSPacketIn.WriteString(client.Player.PlayerCharacter.NickName);
                gSPacketIn.WriteString(str);
                GameServer.Instance.LoginServer.SendPacket(gSPacketIn);
                client.Player.LastChatTime = DateTime.Now;
                GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
                for (int i = 0; i < allPlayers.Length; i++)
                {
                    GamePlayer gamePlayer = allPlayers[i];
                    gSPacketIn.ClientID = gamePlayer.PlayerCharacter.ID;
                    gamePlayer.Out.SendTCP(gSPacketIn);
                }
            }
            return(0);
        }
Ejemplo n.º 5
0
        public void HandleConsortiaDuty(GSPacketIn packet)
        {
            int    updateType  = packet.ReadByte();
            int    consortiaID = packet.ReadInt();
            int    playerID    = packet.ReadInt();
            string playerName  = packet.ReadString();
            int    dutyLevel   = packet.ReadInt();
            string dutyName    = packet.ReadString();
            int    right       = packet.ReadInt();

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                if (p.PlayerCharacter.ConsortiaID == consortiaID)
                {
                    if (updateType == 2 && p.PlayerCharacter.DutyLevel == dutyLevel)
                    {
                        p.PlayerCharacter.DutyName = dutyName;
                    }
                    else if (p.PlayerCharacter.ID == playerID && (updateType == 5 || updateType == 6 || updateType == 7 || updateType == 8 || updateType == 9))
                    {
                        p.PlayerCharacter.DutyLevel = dutyLevel;
                        p.PlayerCharacter.DutyName  = dutyName;
                        p.PlayerCharacter.Right     = right;
                    }

                    p.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 6
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
            {
                return(0);
            }

            if (client.Player.PlayerCharacter.IsBanChat)
            {
                client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("ConsortiaChatHandler.IsBanChat"));
                return(1);
            }

            packet.ClientID = (client.Player.PlayerCharacter.ID);
            byte   channel = packet.ReadByte();
            string nick    = packet.ReadString();
            string msg     = packet.ReadString();

            packet.WriteInt(client.Player.PlayerCharacter.ConsortiaID);

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                if (p.PlayerCharacter.ConsortiaID == client.Player.PlayerCharacter.ConsortiaID)
                {
                    p.Out.SendTCP(packet);
                }
            }

            GameServer.Instance.LoginServer.SendPacket(packet);

            return(0);
        }
        public void HandleConsortiaDuty(GSPacketIn packet)
        {
            int num  = (int)packet.ReadByte();
            int num2 = packet.ReadInt();
            int num3 = packet.ReadInt();

            packet.ReadString();
            int    num4     = packet.ReadInt();
            string dutyName = packet.ReadString();
            int    right    = packet.ReadInt();

            GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
            GamePlayer[] array      = allPlayers;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer gamePlayer = array[i];
                if (gamePlayer.PlayerCharacter.ConsortiaID == num2)
                {
                    if (num == 2 && gamePlayer.PlayerCharacter.DutyLevel == num4)
                    {
                        gamePlayer.PlayerCharacter.DutyName = dutyName;
                    }
                    else
                    {
                        if (gamePlayer.PlayerCharacter.ID == num3 && (num == 5 || num == 6 || num == 7 || num == 8 || num == 9))
                        {
                            gamePlayer.PlayerCharacter.DutyLevel = num4;
                            gamePlayer.PlayerCharacter.DutyName  = dutyName;
                            gamePlayer.PlayerCharacter.Right     = right;
                        }
                    }
                    gamePlayer.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 8
0
        public override int HandlePacket(GamePlayer player, GSPacketIn packet)
        {
            int result2;

            if (player.PlayerCharacter.ConsortiaID == 0)
            {
                result2 = 0;
            }
            else
            {
                bool          result = false;
                string        msg    = "ConsortiaSmithUpGradeHandler.Failed";
                ConsortiaInfo info   = ConsortiaMgr.FindConsortiaInfo(player.PlayerCharacter.ConsortiaID);
                if (info == null)
                {
                    msg = "ConsortiaSmithUpGradeHandler.NoConsortia";
                }
                else
                {
                    using (ConsortiaBussiness cb = new ConsortiaBussiness())
                    {
                        if (cb.UpGradeSmithConsortia(player.PlayerCharacter.ConsortiaID, player.PlayerCharacter.ID, ref msg))
                        {
                            info.SmithLevel++;
                            GameServer.Instance.LoginServer.SendConsortiaSmithUpGrade(info);
                            msg    = "ConsortiaSmithUpGradeHandler.Success";
                            result = true;
                        }
                    }
                }
                if (info.SmithLevel >= 3 && info.Level <= 10)
                {
                    string msg2 = LanguageMgr.GetTranslation("ConsortiaSmithUpGradeHandler.Notice", new object[]
                    {
                        player.PlayerCharacter.ConsortiaName,
                        info.SmithLevel
                    });
                    GSPacketIn pkg = new GSPacketIn(10);
                    pkg.WriteInt(2);
                    pkg.WriteString(msg2);
                    GameServer.Instance.LoginServer.SendPacket(pkg);
                    GamePlayer[] players = WorldMgr.GetAllPlayers();
                    GamePlayer[] array   = players;
                    for (int i = 0; i < array.Length; i++)
                    {
                        GamePlayer p = array[i];
                        if (p != player)
                        {
                            p.Out.SendTCP(pkg);
                        }
                    }
                }
                packet.WriteBoolean(result);
                packet.WriteString(LanguageMgr.GetTranslation(msg, new object[0]));
                player.Out.SendTCP(packet);
                result2 = 1;
            }
            return(result2);
        }
Ejemplo n.º 9
0
 public void HandleSystemNotice(GSPacketIn packet)
 {
     GamePlayer[] players = WorldMgr.GetAllPlayers();
     foreach (GamePlayer p in players)
     {
         p.Out.SendTCP(packet);
     }
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 处理大喇叭
 /// </summary>
 /// <param name="packet"></param>
 protected void HandleBigBugle(GSPacketIn packet)
 {
     GamePlayer[] players = WorldMgr.GetAllPlayers();
     foreach (GamePlayer p in players)
     {
         p.Out.SendTCP(packet);
     }
 }
Ejemplo n.º 11
0
        private void Notice(GamePlayer player, int id, string name)
        {
            float rate = (float)ShopMgr.GetLimitCountByID(id) / (float)ShopMgr.GetLimitMax(id);
            int   index;

            if (rate <= 0.7f && rate > 0.5f)
            {
                index = 0;
            }
            else
            {
                if (rate <= 0.5f && rate > 0.3f)
                {
                    index = 1;
                }
                else
                {
                    if (rate <= 0.3f && rate > 0.1f)
                    {
                        index = 2;
                    }
                    else
                    {
                        if (rate > 0.1f || rate <= 0f)
                        {
                            return;
                        }
                        index = 3;
                    }
                }
            }
            if (ShopMgr.GetIsNotice(id, index) != 0)
            {
                GSPacketIn pkg = new GSPacketIn(10);
                pkg.WriteInt(2);
                pkg.WriteString(LanguageMgr.GetTranslation("UserBuyLimitItemNotice.Content", new object[]
                {
                    name,
                    ShopMgr.GetLimitCountByID(id)
                }));
                GameServer.Instance.LoginServer.SendPacket(pkg);
                GamePlayer[] players = WorldMgr.GetAllPlayers();
                GamePlayer[] array   = players;
                for (int i = 0; i < array.Length; i++)
                {
                    GamePlayer p = array[i];
                    if (p != player)
                    {
                        p.Out.SendTCP(pkg);
                    }
                }
                ShopMgr.CloseNotice(id, index);
                GSPacketIn pkg2 = new GSPacketIn(204);
                pkg2.WriteInt(id);
                pkg2.WriteInt(index);
                GameServer.Instance.LoginServer.SendPacket(pkg2);
            }
        }
Ejemplo n.º 12
0
        public void SendPingCenter()
        {
            GamePlayer[] players     = WorldMgr.GetAllPlayers();
            int          playerCount = (players == null) ? 0 : players.Length;
            GSPacketIn   pkg         = new GSPacketIn(12);

            pkg.WriteInt(playerCount);
            this.SendTCP(pkg);
        }
Ejemplo n.º 13
0
        public void SendPingCenter()
        {
            GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
            int          val        = (allPlayers == null) ? 0 : allPlayers.Length;
            GSPacketIn   gSPacketIn = new GSPacketIn(12);

            gSPacketIn.WriteInt(val);
            this.SendTCP(gSPacketIn);
        }
Ejemplo n.º 14
0
        public void HandleConsortiaUserPass(GSPacketIn packet)
        {
            packet.ReadInt();
            packet.ReadBoolean();
            int    num           = packet.ReadInt();
            string consortiaName = packet.ReadString();
            int    num2          = packet.ReadInt();

            packet.ReadString();
            packet.ReadInt();
            packet.ReadString();
            packet.ReadInt();
            string dutyName = packet.ReadString();

            packet.ReadInt();
            packet.ReadInt();
            packet.ReadInt();
            packet.ReadDateTime();
            packet.ReadInt();
            int dutyLevel = packet.ReadInt();

            packet.ReadInt();
            packet.ReadBoolean();
            int right = packet.ReadInt();

            packet.ReadInt();
            packet.ReadInt();
            packet.ReadInt();
            int consortiaRepute = packet.ReadInt();

            GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
            GamePlayer[] array      = allPlayers;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer gamePlayer = array[i];
                if (gamePlayer.PlayerCharacter.ID == num2)
                {
                    gamePlayer.BeginChanges();
                    gamePlayer.PlayerCharacter.ConsortiaID     = num;
                    gamePlayer.PlayerCharacter.ConsortiaName   = consortiaName;
                    gamePlayer.PlayerCharacter.DutyName        = dutyName;
                    gamePlayer.PlayerCharacter.DutyLevel       = dutyLevel;
                    gamePlayer.PlayerCharacter.Right           = right;
                    gamePlayer.PlayerCharacter.ConsortiaRepute = consortiaRepute;
                    ConsortiaInfo consortiaInfo = ConsortiaMgr.FindConsortiaInfo(num);
                    if (consortiaInfo != null)
                    {
                        gamePlayer.PlayerCharacter.ConsortiaLevel = consortiaInfo.Level;
                    }
                    gamePlayer.CommitChanges();
                }
                if (gamePlayer.PlayerCharacter.ConsortiaID == num)
                {
                    gamePlayer.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 15
0
 public void HandleSystemNotice(GSPacketIn packet)
 {
     GamePlayer[] players = WorldMgr.GetAllPlayers();
     GamePlayer[] array   = players;
     for (int i = 0; i < array.Length; i++)
     {
         GamePlayer p = array[i];
         p.Out.SendTCP(packet);
     }
 }
Ejemplo n.º 16
0
 private void HandleGetItemMessage(GSPacketIn pkg)
 {
     GamePlayer[] players = WorldMgr.GetAllPlayers();
     GamePlayer[] array   = players;
     for (int i = 0; i < array.Length; i++)
     {
         GamePlayer p = array[i];
         p.Out.SendTCP(pkg);
     }
 }
Ejemplo n.º 17
0
 protected void HandleDispatches(GSPacketIn packet)
 {
     GamePlayer[] players = WorldMgr.GetAllPlayers();
     GamePlayer[] array   = players;
     for (int i = 0; i < array.Length; i++)
     {
         GamePlayer p = array[i];
         p.Out.SendTCP(packet);
     }
 }
Ejemplo n.º 18
0
 protected void HandleBigBugle(GSPacketIn packet)
 {
     GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
     GamePlayer[] array      = allPlayers;
     for (int i = 0; i < array.Length; i++)
     {
         GamePlayer gamePlayer = array[i];
         gamePlayer.Out.SendTCP(packet);
     }
 }
Ejemplo n.º 19
0
        public void HandleConsortiaUserPass(GSPacketIn packet)
        {
            int      cid             = packet.ReadInt();
            bool     isInvite        = packet.ReadBoolean();
            int      consortiaID     = packet.ReadInt();
            string   consortiaName   = packet.ReadString();
            int      id              = packet.ReadInt();
            string   userName        = packet.ReadString();
            int      inviteUserID    = packet.ReadInt();
            string   inviteUserName  = packet.ReadString();
            int      dutyID          = packet.ReadInt();
            string   dutyName        = packet.ReadString();
            int      offer           = packet.ReadInt();
            int      richesOffer     = packet.ReadInt();
            int      richesRob       = packet.ReadInt();
            DateTime lastDate        = packet.ReadDateTime();
            int      grade           = packet.ReadInt();
            int      level           = packet.ReadInt();
            int      state           = packet.ReadInt();
            bool     sex             = packet.ReadBoolean();
            int      right           = packet.ReadInt();
            int      win             = packet.ReadInt();
            int      total           = packet.ReadInt();
            int      escape          = packet.ReadInt();
            int      consortiaRepute = packet.ReadInt();

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                if (p.PlayerCharacter.ID == id)
                {
                    p.BeginChanges();

                    p.PlayerCharacter.ConsortiaID     = consortiaID;
                    p.PlayerCharacter.ConsortiaName   = consortiaName;
                    p.PlayerCharacter.DutyName        = dutyName;
                    p.PlayerCharacter.DutyLevel       = level;
                    p.PlayerCharacter.Right           = right;
                    p.PlayerCharacter.ConsortiaRepute = consortiaRepute;
                    ConsortiaInfo consotia = ConsortiaMgr.FindConsortiaInfo(consortiaID);
                    if (consotia != null)
                    {
                        p.PlayerCharacter.ConsortiaLevel = consotia.Level;
                    }

                    p.CommitChanges();
                }

                if (p.PlayerCharacter.ConsortiaID == consortiaID)
                {
                    p.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 20
0
        public void SendPingCenter()
        {
            GamePlayer[] players     = WorldMgr.GetAllPlayers();
            int          playerCount = players == null ? 0 : players.Length;

            GSPacketIn pkg = new GSPacketIn((byte)eChatServerPacket.PING);

            pkg.WriteInt(playerCount);

            SendTCP(pkg);
        }
Ejemplo n.º 21
0
        public void HandleASSState(GSPacketIn packet)
        {
            bool state = packet.ReadBoolean();

            AntiAddictionMgr.SetASSState(state);
            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                p.Out.SendAASControl(state, p.IsAASInfo, p.IsMinor);
            }
        }
Ejemplo n.º 22
0
        public void HandleConfigState(GSPacketIn packet)
        {
            bool aSSState   = packet.ReadBoolean();
            bool dailyState = packet.ReadBoolean();

            AwardMgr.DailyAwardState = dailyState;
            AntiAddictionMgr.SetASSState(aSSState);
            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                p.Out.SendAASControl(aSSState, p.IsAASInfo, p.IsMinor);
            }
        }
Ejemplo n.º 23
0
        public void HandleASSState(GSPacketIn packet)
        {
            bool flag = packet.ReadBoolean();

            AntiAddictionMgr.SetASSState(flag);
            GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
            GamePlayer[] array      = allPlayers;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer gamePlayer = array[i];
                gamePlayer.Out.SendAASControl(flag, gamePlayer.IsAASInfo, gamePlayer.IsMinor);
            }
        }
Ejemplo n.º 24
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            GSPacketIn pkg = new GSPacketIn(255);

            pkg.WriteString(packet.ReadString());
            foreach (var item in WorldMgr.GetAllPlayers())
            {
                item.SendTCP(pkg);
            }
            ;
            // client.SendTCP(pkg);
            return(0);
        }
Ejemplo n.º 25
0
        private void HandleAreaMessages(GSPacketIn pkg)
        {
            GSPacketIn packet = pkg.ReadPacket();

            GameServer.Instance.LoginServer.SendPacket(packet);
            GamePlayer[] players = WorldMgr.GetAllPlayers();
            GamePlayer[] array   = players;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer player = array[i];
                player.Out.SendTCP(packet);
            }
        }
Ejemplo n.º 26
0
        public static void SaveServerState()
        {
            DateTime dt = DateTime.Now;

            GameClient[] list        = GameServer.Instance.GetAllClients();
            int          clientCount = list == null ? 0 : list.Length;

            GamePlayer[] players     = WorldMgr.GetAllPlayers();
            int          playerCount = players == null ? 0 : players.Length;

            List <BaseRoom> rooms     = RoomMgr.GetAllUsingRoom();
            int             roomCount = 0;
            int             gameCount = 0;

            foreach (BaseRoom r in rooms)
            {
                if (!r.IsEmpty)
                {
                    roomCount++;
                    if (r.IsPlaying)
                    {
                        gameCount++;
                    }
                }
            }

            long memoryCount = GC.GetTotalMemory(false);

            ServerStateCashe.Add(string.Format("{0},{1},{2},{3},{4},{5},{6}", _headStr, dt, clientCount, playerCount, roomCount, gameCount, memoryCount));

            try
            {
                string file = string.Format("{0}\\serverstate-{1:D2}{2:D2}{3:D2}-{4:yyyyMMdd}.log", _logPath, _gameType, _areaId, _serverId, dt);
                using (FileStream fs = File.Open(file, FileMode.Append))
                {
                    using (StreamWriter writer = new StreamWriter(fs))
                    {
                        while (ServerStateCashe.Count != 0)
                        {
                            writer.WriteLine(ServerStateCashe[0]);
                            ServerStateCashe.RemoveAt(0);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("Save log error", ex);
            }
        }
Ejemplo n.º 27
0
        public void HandleConsortiaRichesOffer(GSPacketIn packet)
        {
            int num = packet.ReadInt();

            GamePlayer[] allPlayers = WorldMgr.GetAllPlayers();
            GamePlayer[] array      = allPlayers;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer gamePlayer = array[i];
                if (gamePlayer.PlayerCharacter.ConsortiaID == num)
                {
                    gamePlayer.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 28
0
        public void HandleConsortiaRichesOffer(GSPacketIn packet)
        {
            int consortiaID = packet.ReadInt();

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            GamePlayer[] array   = players;
            for (int i = 0; i < array.Length; i++)
            {
                GamePlayer p = array[i];
                if (p.PlayerCharacter.ConsortiaID == consortiaID)
                {
                    p.Out.SendTCP(packet);
                }
            }
        }
Ejemplo n.º 29
0
        public void HandleConsortiaFight(GSPacketIn packet)
        {
            int    consortiaID = packet.ReadInt();
            int    riches      = packet.ReadInt();
            string msg         = packet.ReadString();

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                if (p.PlayerCharacter.ConsortiaID == consortiaID)
                {
                    p.Out.SendMessage(eMessageType.ChatNormal, msg);
                }
            }
        }
Ejemplo n.º 30
0
        public void HandleConsortiaUserInvite(GSPacketIn packet)
        {
            int id       = packet.ReadInt();
            int playerid = packet.ReadInt();

            GamePlayer[] players = WorldMgr.GetAllPlayers();
            foreach (GamePlayer p in players)
            {
                if (p.PlayerCharacter.ID == playerid)
                {
                    p.Out.SendTCP(packet);
                    return;
                }
            }
        }