Example #1
0
        public void Handle(GameClient session, ClientMessage message)
        {
            if (session != null && session.GetHabbo() != null)
            {
                RoomUnitUser roomUser = session.GetHabbo().GetRoomSession().GetRoomUser();
                if (roomUser != null)
                {
                    roomUser.Unidle();

                    int danceId = message.PopWiredInt32();
                    if (danceId < 0 || danceId > 4)
                    {
                        danceId = 0;
                    }

                    if (danceId > 1 && !session.GetHabbo().IsHcOrVIP())
                    {
                        danceId = 0;
                    }

                    roomUser.SetHanditem(0);
                    roomUser.SetDance(danceId);
                }
            }
        }
        public void Handle(GameClient session, ClientMessage message)
        {
            RoomUnitUser user = session.GetHabbo().GetRoomSession().GetRoomUser();

            if (user != null)
            {
                string type = message.PopStringUntilBreak(null);
                if (type == "CarryItem")
                {
                    user.SetHanditem(0);
                }
                else if (type == "Dance")
                {
                    user.SetDance(0);
                }
            }
        }
Example #3
0
        public virtual void OnUserSpeak(RoomUnitUser user, string message, bool shout)
        {
            if (!shout)
            {
                if (Math.Abs(this.X - user.X) + Math.Abs(this.Y - user.Y) <= 8)
                {
                    BotResponse response = this.Data.BotResponses.FirstOrDefault(r => r.Keywords.Any(s => message.ToLower().Contains(s.ToLower())));
                    if (response != null)
                    {
                        if (response.ResponseMode == 0)
                        {
                            this.Speak(response.ResponseText, false);
                        }
                        else if (response.ResponseMode == 1)
                        {
                            this.Speak(response.ResponseText, true);
                        }
                        else if (response.ResponseMode == 2)
                        {
                            ServerMessage whisper = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108);
                            whisper.Init(r63aOutgoing.Whisper);
                            whisper.AppendInt32(this.VirtualID);
                            whisper.AppendString(response.ResponseText);
                            whisper.AppendInt32(0); //gesture
                            whisper.AppendInt32(0); //links count
                            this.Room.SendToAll(whisper);
                        }

                        if (response.ServerID > 0)
                        {
                            user.SetHanditem(response.ServerID);
                        }
                    }
                }
            }
        }