Пример #1
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            int A = Packet.PopInt32();
            int B = Packet.PopInt32();

            Session.UpdateLatencyPing(((A + B) / 2));
        }
Пример #2
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            RoomAdapter Adapter;

            if (System.HabboSystem.CharacterManager.GetCurrentRoom(Session.Character.Id, out Adapter))
            {
                RoomUnit Unit;

                if (Adapter.GetUnit(Session.Character.Id, out Unit))
                {
                    var DanceId = Packet.PopInt32();

                    Unit.Dance(DanceId);
                    Unit.Activate();

                    Adapter.WriteComposer(new DanceMessageComposer(Unit.Id, DanceId));
                }
            }
        }
Пример #3
0
 public void Invoke(Session Session, Messages.PacketEvent Packet)
 {
     Session.Character.UpdateSoundSettings(Packet.PopInt32());
 }
Пример #4
0
 public void Invoke(Session Session, Messages.PacketEvent Packet)
 {
     Session.WriteComposer(new LatencyPingResponseMessageComposer(Packet.PopInt32()));
 }
Пример #5
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            Room Room;

            if (System.HabboSystem.RoomManager.GetRoom(Packet.PopInt32(), out Room))
            {
                Session.WriteComposer(new GetGuestRoomResultComposer(Room, Packet.PopBoolean(), Packet.PopBoolean()));
            }
        }
Пример #6
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            Room Room;

            if (System.HabboSystem.RoomManager.EnterRoom(Session, Packet.PopInt32(), Packet.PopString(), out Room))
            {
                Session.WriteComposer(new RoomUrlMessageComposer(Room.Id));
                Session.WriteComposer(new RoomReadyMessageComposer(Room.Model.Caption, Room.Id));

                /*
                 * Wallpaper
                 * Floor
                 * Landscape
                 * Rating
                 * Event
                 * */
                Session.Character.UpdateLoadingRoom(Room.Id);
                Session.Character.UpdateConnectedRoom(0);
            }
            else
            {
                Session.WriteComposer(new CloseConnectionMessageComposer());
            }
        }
Пример #7
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            var Point = new Point(Packet.PopInt32(), Packet.PopInt32());

            RoomAdapter Adapter;

            if (System.HabboSystem.CharacterManager.GetCurrentRoom(Session.Character.Id, out Adapter))
            {
                RoomUnit Unit;

                if (Adapter.GetUnit(Session.Character.Id, out Unit))
                {
                    if (Unit.Point == Point)
                    {
                        return;
                    }

                    Unit.StopWalk();

                    var Path = System.HabboSystem.RoomManager.BlockCalculator.Generate(Unit.Point, Point, Adapter.BlockNodes);

                    if (Path.Count > 0)
                    {
                        Unit.GivePath(Path);
                    }
                }
            }
        }
Пример #8
0
        public void Invoke(Session Session, Messages.PacketEvent Packet)
        {
            var Point = new Point(Packet.PopInt32(), Packet.PopInt32());

            RoomAdapter Adapter;

            if (System.HabboSystem.CharacterManager.GetCurrentRoom(Session.Character.Id, out Adapter))
            {
                RoomUnit Unit;

                if (Adapter.GetUnit(Session.Character.Id, out Unit))
                {
                    if (Unit.Point == Point)
                    {
                        return;
                    }

                    Unit.StopWalk();

                    Unit.LookAt(Point);
                }
            }
        }
Пример #9
0
        public void Invoke(Network.Session Session, Messages.PacketEvent Packet)
        {
            // TODO IF(BUSY)

            var TargetId = Packet.PopInt32();

             /* ChatErrorId(s)
             * 3 = Friend Muted x
             * 4 = You are muted x
             * 5 = offline x
             * 6 = not friend x
             * 7 = friend is busy
             * */

            if (TargetId < 1 || TargetId == Session.Character.Id)
            {
                return;
            }

            if (Session.Character.Muted)
            {
                Session.WriteComposer(new InstantMessageErrorComposer(4, TargetId));
                return;
            }

            if (!Session.Character.MessengerFriends.Contains(TargetId))
            {
                Session.WriteComposer(new InstantMessageErrorComposer(6, TargetId));
                return;
            }

            if (System.HabboSystem.CharacterManager.GetStatus(TargetId) == CharacterStatus.Offline)
            {
                Session.WriteComposer(new InstantMessageErrorComposer(5, TargetId));
                return;
            }

            var TargetSession = System.NetworkSocket.GetSession(TargetId);

            if (TargetSession == null)
            {
                Session.WriteComposer(new InstantMessageErrorComposer(5, TargetId));
                return;
            }

            if (TargetSession.Character.Muted)
            {
                Session.WriteComposer(new InstantMessageErrorComposer(3, TargetId));
                return;
            }

            TargetSession.WriteComposer(new NewConsoleMessageComposer(Session.Character.Id, Packet.PopString()));
        }
Пример #10
0
        public void Invoke(Network.Session Session, Messages.PacketEvent Packet)
        {
            var FriendId = Packet.PopInt32();

            if (!Session.Character.MessengerFriends.Contains(FriendId))
            {
                return;
            }

            var RoomId = System.HabboSystem.CharacterManager.GetCurrentRoom(FriendId);

            Session.WriteComposer(new RoomForwardMessageComposer(RoomId));
        }