public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (bool_0)
     {
         ServerMessage Message = new ServerMessage(650u);
         Message.AppendInt32(0);
         Message.AppendInt32(5);
         Message.AppendInt32(0);
         Message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
         Message.AppendUInt(RoomItem_0.uint_0);
         Message.AppendStringWithBreak("");
         Message.AppendString("I");
         if (RoomItem_0.string_3.Length > 0)
         {
             Message.AppendString(RoomItem_0.string_3);
         }
         else
         {
             Message.AppendString("RB");
         }
         Message.AppendStringWithBreak("HRAH");
         Session.SendMessage(Message);
         RoomItem_0.ReqUpdate(1);
     }
 }
Beispiel #2
0
 public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
 {
     if (UserHasRight)
     {
         ServerMessage Message = new ServerMessage(650);
         Message.AppendInt32(0);
         Message.AppendInt32(5);
         Message.AppendInt32(0);
         Message.AppendInt32(Item.GetBaseItem().SpriteId);
         Message.AppendUInt(Item.Id);
         Message.AppendStringWithBreak("");
         Message.AppendString("I");
         if (Item.Extra2.Length > 0)
         {
             Message.AppendString(Item.Extra2);
         }
         else
         {
             Message.AppendString("RB");
         }
         Message.AppendStringWithBreak("HRAH");
         Session.SendMessage(Message);
         Item.ReqUpdate(1);
     }
 }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            RoomUser roomUser = null;
            if (session != null)
                roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUser == null)
                return;

            if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y))
            {
                if (item.ExtraData == "-1")
                    return;

                if (request == -1)
                {
                    item.ExtraData = "0";
                    item.UpdateState();
                    return;
                }

                item.ExtraData = "-1";
                item.UpdateState(false, true);
                item.ReqUpdate(4, true);
                return;
            }

            roomUser.MoveTo(item.SquareInFront);
        }
Beispiel #4
0
        public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            RoomUser roomUser = null;

            if (Session != null)
            {
                roomUser = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            }
            if (roomUser == null)
            {
                return;
            }
            if (Gamemap.TilesTouching(Item.GetX, Item.GetY, roomUser.X, roomUser.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                        return;
                    }
                    Item.ExtraData = "-1";
                    Item.UpdateState(false, true);
                    Item.ReqUpdate(4, true);
                    return;
                }
            }
            else
            {
                roomUser.MoveTo(Item.SquareInFront);
            }
        }
Beispiel #5
0
        public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
        {
            RoomUser User = null;
            if (Session != null)
                User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
            if (User == null)
                return;

            if (Gamemap.TilesTouching(Item.GetX, Item.GetY, User.X, User.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                    }
                    else
                    {
                        Item.ExtraData = "-1";
                        Item.UpdateState(false, true);
                        Item.ReqUpdate(4, true);
                    }
                }
            }
            else
            {
                User.MoveTo(Item.SquareInFront);
            }
        }
Beispiel #6
0
        public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (@class != null && (RoomItem_0.GStruct1_2.x < RoomItem_0.GetRoom().RoomModel.int_4&& RoomItem_0.GStruct1_2.y < RoomItem_0.GetRoom().RoomModel.int_5))
            {
                if (ThreeDCoord.IsNot(@class.Position, RoomItem_0.GStruct1_1) && @class.bool_0)
                {
                    @class.MoveTo(RoomItem_0.GStruct1_1);
                }
                else
                {
                    if (RoomItem_0.GetRoom().method_30(RoomItem_0.GStruct1_2.x, RoomItem_0.GStruct1_2.y, RoomItem_0.Double_0, true, false) && RoomItem_0.InteractingUser == 0)
                    {
                        RoomItem_0.InteractingUser = @class.UId;
                        @class.bool_0 = false;
                        if (@class.bool_6 && (@class.int_10 != RoomItem_0.GStruct1_1.x || @class.int_11 != RoomItem_0.GStruct1_1.y))
                        {
                            @class.method_3(true);
                        }
                        @class.bool_1 = true;
                        @class.MoveTo(RoomItem_0.GStruct1_0);
                        RoomItem_0.ReqUpdate(3);
                    }
                }
            }
        }
Beispiel #7
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "1" || !item.GetBaseItem().VendingIds.Any() || item.InteractingUser != 0u ||
                session == null)
            {
                return;
            }

            RoomUser roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }

            if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y))
            {
                roomUserByHabbo.MoveTo(item.SquareInFront);
                return;
            }

            item.InteractingUser    = session.GetHabbo().Id;
            roomUserByHabbo.CanWalk = false;
            roomUserByHabbo.ClearMovement();

            roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y));

            item.ReqUpdate(2, true);
            item.ExtraData = "1";
            item.UpdateState(false, true);
        }
        public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            RoomUser @class = RoomItem_0.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (@class != null && (RoomItem_0.GStruct1_2.x < RoomItem_0.method_8().Class28_0.int_4&& RoomItem_0.GStruct1_2.y < RoomItem_0.method_8().Class28_0.int_5))
            {
                if (ThreeDCoord.smethod_1(@class.GStruct1_0, RoomItem_0.GStruct1_1) && @class.bool_0)
                {
                    @class.method_4(RoomItem_0.GStruct1_1);
                }
                else
                {
                    if (RoomItem_0.method_8().method_30(RoomItem_0.GStruct1_2.x, RoomItem_0.GStruct1_2.y, RoomItem_0.Double_0, true, false) && RoomItem_0.uint_3 == 0u)
                    {
                        RoomItem_0.uint_3 = @class.uint_0;
                        @class.bool_0     = false;
                        if (@class.bool_6 && (@class.int_10 != RoomItem_0.GStruct1_1.x || @class.int_11 != RoomItem_0.GStruct1_1.y))
                        {
                            @class.method_3(true);
                        }
                        @class.bool_1 = true;
                        @class.method_4(RoomItem_0.GStruct1_0);
                        RoomItem_0.ReqUpdate(3);
                    }
                }
            }
        }
Beispiel #9
0
        void IFurniTrigger.OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 && Session != null)
            {
                RoomUser user = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (user == null)
                    return;

                if (!Gamemap.TilesTouching(user.X, user.Y, Item.GetX, Item.GetY))
                {
                    user.MoveTo(Item.SquareInFront);
                    return;
                }

                Item.InteractingUser = Session.GetHabbo().Id;

                //user.ClearMovement(true);
                user.SetRot(Rotation.Calculate(user.X, user.Y, Item.GetX, Item.GetY), false);

                Item.ReqUpdate(2, true);

                Item.ExtraData = "1";
                Item.UpdateState(false, true);
            }
        }
Beispiel #10
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (session == null)
                return;

            RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (user == null)
                return;

            if (user.Coordinate != item.SquareInFront && user.CanWalk)
            {
                user.MoveTo(item.SquareInFront);
                return;
            }

            if (!item.GetRoom().GetGameMap().CanWalk(item.SquareBehind.X, item.SquareBehind.Y, user.AllowOverride))
                return;

            if (item.InteractingUser == 0)
            {
                item.InteractingUser = user.HabboId;

                user.CanWalk = false;

                if (user.IsWalking && (user.GoalX != item.SquareInFront.X || user.GoalY != item.SquareInFront.Y))
                    user.ClearMovement();

                user.AllowOverride = true;
                user.MoveTo(item.Coordinate);

                item.ReqUpdate(4, true);
            }
        }
Beispiel #11
0
        public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            RoomUser roomUser = null;

            if (session != null)
            {
                roomUser = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);
            }
            if (roomUser == null)
            {
                return;
            }
            if (Gamemap.TilesTouching(item.X, item.Y, roomUser.X, roomUser.Y))
            {
                if (item.ExtraData == "-1")
                {
                    return;
                }
                if (request == -1)
                {
                    item.ExtraData = "0";
                    item.UpdateState();
                    return;
                }
                item.ExtraData = "-1";
                item.UpdateState(false, true);
                item.ReqUpdate(4, true);
                return;
            }

            roomUser.MoveTo(item.SquareInFront);
        }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (bool_0)
     {
         ServerMessage Message = new ServerMessage(Outgoing.WiredFurniTrigger);
         Message.AppendBoolean(false);
         if (Session.GetHabbo().HasFuse("wired_unlimitedselects"))
         {
             Message.AppendInt32(1000000);
         }
         else
         {
             Message.AppendInt32(5);
         }
         Message.AppendInt32(0);
         Message.AppendInt32(RoomItem_0.GetBaseItem().Sprite);
         Message.AppendUInt(RoomItem_0.uint_0);
         Message.AppendStringWithBreak(RoomItem_0.string_1);
         Message.AppendInt32(1);
         Message.AppendInt32(1);
         Message.AppendInt32(1);
         Message.AppendInt32(3);
         Message.AppendInt32(0);
         Message.AppendInt32(0);
         Session.SendMessage(Message);
         RoomItem_0.ReqUpdate(1);
     }
 }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "1" || !item.GetBaseItem().VendingIds.Any() || item.InteractingUser != 0u ||
                session == null)
                return;

            var roomUserByHabbo = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (roomUserByHabbo == null)
                return;

            if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y))
            {
                roomUserByHabbo.MoveTo(item.SquareInFront);
                return;
            }

            item.InteractingUser = session.GetHabbo().Id;
            roomUserByHabbo.CanWalk = false;
            roomUserByHabbo.ClearMovement();

            roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, item.X, item.Y));

            item.ReqUpdate(2, true);
            item.ExtraData = "1";
            item.UpdateState(false, true);
        }
Beispiel #14
0
        public override void OnTrigger(GameClient Session, RoomItem Item, int int_0, bool bool_0)
        {
            RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (roomUserByHabbo != null && (Item.SquareBehind.X < Item.GetRoom().Model.MapSizeX&& Item.SquareBehind.Y < Item.GetRoom().Model.MapSizeY))
            {
                if ((roomUserByHabbo.Coordinate != Item.SquareInFront) && roomUserByHabbo.CanWalk)
                {
                    roomUserByHabbo.MoveTo(Item.SquareInFront);
                }
                else
                {
                    if (Item.GetRoom().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, Item.GetZ, true, false) && Item.InteractingUser == 0u)
                    {
                        Item.InteractingUser    = roomUserByHabbo.HabboId;
                        roomUserByHabbo.CanWalk = false;
                        if (roomUserByHabbo.IsWalking && (roomUserByHabbo.GoalX != Item.SquareInFront.X || roomUserByHabbo.GoalY != Item.SquareInFront.Y))
                        {
                            roomUserByHabbo.ClearMovement(true);
                        }
                        roomUserByHabbo.AllowOverride = true;
                        roomUserByHabbo.MoveTo(Item.Coordinate);
                        Item.ReqUpdate(3);
                    }
                }
            }
        }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (bool_0 && RoomItem_0.ExtraData != "-1")
     {
         RoomItem_0.ExtraData = "-1";
         RoomItem_0.method_4();
         RoomItem_0.ReqUpdate(10);
     }
 }
Beispiel #16
0
 public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
 {
     if (UserHasRight && Item.ExtraData != "-1")
     {
         Item.ExtraData = "-1";
         Item.UpdateState();
         Item.ReqUpdate(10);
     }
 }
Beispiel #17
0
 public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
 {
     if (UserHasRight && Item.ExtraData == "0")
     {
         Item.ExtraData = "1";
         Item.UpdateState(false, true);
         Item.ReqUpdate(4);
     }
 }
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (item.ExtraData == "-1")
                return;

            item.ExtraData = "-1";
            item.UpdateState(false, true);
            item.ReqUpdate(3, true);
        }
        public override void OnWiredTrigger(RoomItem item)
        {
            if (item.ExtraData == "-1")
                return;

            item.ExtraData = "-1";
            item.UpdateState(false, true);
            item.ReqUpdate(3, true);
        }
 public void OnWiredTrigger(RoomItem Item)
 {
     if (Item.ExtraData != "0")
     {
         Item.ExtraData = "0";
         Item.UpdateState(false, true);
         Item.ReqUpdate(10, true);
     }
 }
 public override void OnTrigger(GameClient Session, RoomItem Item, int int_0, bool bool_0)
 {
     if (bool_0 && Item.ExtraData == "0")
     {
         Item.ExtraData = "1";
         Item.UpdateState(false, true);
         Item.ReqUpdate(4);
     }
 }
Beispiel #22
0
 public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
 {
     if (Item.ExtraData != "-1")
     {
         Item.ExtraData = "-1";
         Item.UpdateState(false, true);
         Item.ReqUpdate(3, true);
     }
 }
Beispiel #23
0
 public void OnWiredTrigger(RoomItem Item)
 {
     if (Item.ExtraData != "0")
     {
         Item.ExtraData = "0";
         Item.UpdateState(false, true);
         Item.ReqUpdate(10, true);
     }
 }
 public void OnTrigger(GameClients.GameClient Session, RoomItem Item, int Request, bool HasRights)
 {
     if (Item.ExtraData != "-1")
     {
         Item.ExtraData = "-1";
         Item.UpdateState(false, true);
         Item.ReqUpdate(3, true);
     }
 }
Beispiel #25
0
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (bool_0 && RoomItem_0.ExtraData != "0")
     {
         RoomItem_0.ExtraData = "0";
         RoomItem_0.UpdateState(false, true);
         RoomItem_0.ReqUpdate(10);
     }
 }
Beispiel #26
0
 public void OnWiredTrigger(RoomItem item)
 {
     if (item.ExtraData == "-1")
     {
         return;
     }
     item.ExtraData = "-1";
     item.UpdateState();
     item.ReqUpdate(10, true);
 }
Beispiel #27
0
 public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
 {
     if (item.ExtraData == "-1")
     {
         return;
     }
     item.ExtraData = "-1";
     item.UpdateState(false, true);
     item.ReqUpdate(3, true);
 }
Beispiel #28
0
 public void OnWiredTrigger(RoomItem item)
 {
     if (item.ExtraData == "-1")
     {
         return;
     }
     item.ExtraData = "-1";
     item.UpdateState();
     item.ReqUpdate(10, true);
 }
Beispiel #29
0
 public void OnWiredTrigger(RoomItem item)
 {
     if (item.ExtraData != "0")
     {
         return;
     }
     item.ExtraData = "1";
     item.UpdateState(false, true);
     item.ReqUpdate(4, true);
 }
Beispiel #30
0
 public void OnWiredTrigger(RoomItem item)
 {
     if (item.ExtraData != "0")
     {
         return;
     }
     item.ExtraData = "1";
     item.UpdateState(false, true);
     item.ReqUpdate(4, true);
 }
        public override void OnWiredTrigger(RoomItem item)
        {
            if (item.ExtraData == "-1")
            {
                return;
            }

            item.ExtraData = "-1";
            item.UpdateState(false, true);
            item.ReqUpdate(3, true);
        }
Beispiel #32
0
 public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
 {
     if (!HasRights)
     {
         return;
     }
     if (Item.ExtraData == "0")
     {
         Item.ExtraData = "1";
         Item.UpdateState(false, true);
         Item.ReqUpdate(4, true);
     }
 }
Beispiel #33
0
		public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
		{
			if (!HasRights)
			{
				return;
			}
			if (Item.ExtraData == "0")
			{
				Item.ExtraData = "1";
				Item.UpdateState(false, true);
				Item.ReqUpdate(4, true);
			}
		}
Beispiel #34
0
 public void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
 {
     if (!hasRights)
     {
         return;
     }
     if (item.ExtraData != "0")
     {
         return;
     }
     item.ExtraData = "1";
     item.UpdateState(false, true);
     item.ReqUpdate(4, true);
 }
Beispiel #35
0
        public void ExecuteAction(RoomItem theItem)
        {
            if (theItem.ExtraData == "0")
            {
                theItem.ExtraData = ButterflyEnvironment.GetRandomNumber(1, 4).ToString();
                theItem.ReqUpdate(20, false);
            }
            else if (theItem.ExtraData != "-1")
            {
                theItem.ExtraData = "-1";
            }

            theItem.UpdateState(false, true);
        }
Beispiel #36
0
        void IFurniTrigger.OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (!UserHasRights)
            {
                return;
            }

            if (Item.ExtraData != "-1")
            {
                Item.ExtraData = "-1";
                Item.UpdateState();
                Item.ReqUpdate(10, true);
            }
        }
Beispiel #37
0
        internal override bool OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (!UserHasRights)
            {
                return false;
            }

            if (Item.data.GetData() == "0")
            {
                ((StringData)Item.data).Data = "1";
                Item.UpdateState(false, true);
                Item.ReqUpdate(4, true);
                return true;
            }
            return false;
        }
Beispiel #38
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (!hasRights)
            {
                return;
            }

            if (item.ExtraData != "0")
            {
                return;
            }

            item.ExtraData = "1";
            item.UpdateState(false, true);
            item.ReqUpdate(4, true);
        }
Beispiel #39
0
        public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            RoomUser @class = null;

            if (Session != null)
            {
                @class = RoomItem_0.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (@class == null)
                {
                    return;
                }
            }
            if (Session == null || RoomItem_0.method_8().method_99(RoomItem_0.Int32_0, RoomItem_0.Int32_1, @class.int_3, @class.int_4))
            {
                if (RoomItem_0.ExtraData != "-1")
                {
                    if (int_0 == -1)
                    {
                        RoomItem_0.ExtraData = "0";
                        RoomItem_0.method_4();
                    }
                    else
                    {
                        RoomItem_0.uint_3    = @class.uint_0;
                        RoomItem_0.ExtraData = "-1";
                        RoomItem_0.UpdateState(false, true);
                        RoomItem_0.ReqUpdate(4);
                    }
                }
            }
            else
            {
                if (Session != null && @class != null && @class.bool_0)
                {
                    try
                    {
                        @class.method_4(RoomItem_0.GStruct1_1);
                    }
                    catch
                    {
                    }
                }
            }
        }
Beispiel #40
0
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRight)
        {
            RoomUser @class = null;

            if (Session != null)
            {
                @class = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);
                if (@class == null)
                {
                    return;
                }
            }
            if (Session == null || Item.GetRoom().method_99(Item.GetX, Item.GetY, @class.X, @class.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                    }
                    else
                    {
                        Item.InteractingUser = @class.HabboId;
                        Item.ExtraData       = "-1";
                        Item.UpdateState(false, true);
                        Item.ReqUpdate(4);
                    }
                }
            }
            else
            {
                if (Session != null && @class != null && @class.CanWalk)
                {
                    try
                    {
                        @class.MoveTo(Item.SquareInFront);
                    }
                    catch
                    {
                    }
                }
            }
        }
Beispiel #41
0
        public override void OnTrigger(GameClient session, RoomItem item, int request, bool hasRights)
        {
            if (session == null)
            {
                return;
            }

            RoomUser user = item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id);

            if (user == null)
            {
                return;
            }

            if (user.Coordinate != item.SquareInFront && user.CanWalk)
            {
                user.MoveTo(item.SquareInFront);
                return;
            }

            if (!item.GetRoom().GetGameMap().CanWalk(item.SquareBehind.X, item.SquareBehind.Y, user.AllowOverride))
            {
                return;
            }

            if (item.InteractingUser == 0)
            {
                item.InteractingUser = user.HabboId;

                user.CanWalk = false;

                if (user.IsWalking && (user.GoalX != item.SquareInFront.X || user.GoalY != item.SquareInFront.Y))
                {
                    user.ClearMovement();
                }

                user.AllowOverride = true;
                user.MoveTo(item.Coordinate);

                item.ReqUpdate(4, true);
            }
        }
Beispiel #42
0
        public void ExecuteAction(RoomItem theItem)
        {
            RoomUser User = null;

            if (theItem.InteractingUser > 0)
            {
                User = theItem.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(theItem.InteractingUser);
                //GetRoom().FreeSqareForUsers(mX, mY);
            }

            if (User != null && User.X == theItem.GetX && User.Y == theItem.GetY)
            {
                SetExtraData("1", theItem);

                User.MoveTo(theItem.SquareBehind);

                theItem.ReqUpdate(1, false);
                theItem.UpdateState(false, true);
            }
            else if (User != null && User.Coordinate == theItem.SquareBehind)
            {
                User.UnlockWalking();

                SetExtraData("0", theItem);
                theItem.InteractingUser = 0;

                theItem.UpdateState(false, true);
            }
            else if (GetExtradata(theItem) == "1")
            {
                SetExtraData("0", theItem);
                theItem.UpdateState(false, true);
            }

            if (User == null)
            {
                theItem.InteractingUser = 0;
            }
        }
Beispiel #43
0
 public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
 {
     if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0u && Session != null)
     {
         RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
         if (roomUserByHabbo == null)
         {
             return;
         }
         if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, Item.GetX, Item.GetY))
         {
             roomUserByHabbo.MoveTo(Item.SquareInFront);
             return;
         }
         Item.InteractingUser    = Session.GetHabbo().Id;
         roomUserByHabbo.CanWalk = false;
         roomUserByHabbo.ClearMovement(true);
         roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, Item.GetX, Item.GetY));
         Item.ReqUpdate(2, true);
         Item.ExtraData = "1";
         Item.UpdateState(false, true);
     }
 }
		public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
		{
			if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0u && Session != null)
			{
				RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
				if (roomUserByHabbo == null)
				{
					return;
				}
				if (!Gamemap.TilesTouching(roomUserByHabbo.X, roomUserByHabbo.Y, Item.GetX, Item.GetY))
				{
					roomUserByHabbo.MoveTo(Item.SquareInFront);
					return;
				}
				Item.InteractingUser = Session.GetHabbo().Id;
				roomUserByHabbo.CanWalk = false;
				roomUserByHabbo.ClearMovement(true);
                roomUserByHabbo.SetRot(PathFinder.CalculateRotation(roomUserByHabbo.X, roomUserByHabbo.Y, Item.GetX, Item.GetY));
				Item.ReqUpdate(2, true);
				Item.ExtraData = "1";
				Item.UpdateState(false, true);
			}
		}
Beispiel #45
0
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (RoomItem_0.ExtraData != "1" && RoomItem_0.GetBaseItem().VendingIds.Count >= 1 && RoomItem_0.InteractingUser == 0u)
     {
         if (Session != null)
         {
             RoomUser @class = RoomItem_0.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (@class == null)
             {
                 return;
             }
             if (!RoomItem_0.GetRoom().method_99(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.GetY))
             {
                 if ([email protected])
                 {
                     return;
                 }
                 try
                 {
                     @class.MoveTo(RoomItem_0.SquareInFront);
                     return;
                 }
                 catch
                 {
                     return;
                 }
             }
             RoomItem_0.InteractingUser = Session.GetHabbo().Id;
             @class.CanWalk             = false;
             @class.ClearMovement(true);
             @class.SetRot(Rotation.Calculate(@class.X, @class.Y, RoomItem_0.GetX, RoomItem_0.GetY));
         }
         RoomItem_0.ReqUpdate(2);
         RoomItem_0.ExtraData = "1";
         RoomItem_0.UpdateState(false, true);
     }
 }
 public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
 {
     if (RoomItem_0.ExtraData != "1" && RoomItem_0.GetBaseItem().VendingIds.Count >= 1 && RoomItem_0.uint_3 == 0u)
     {
         if (Session != null)
         {
             RoomUser @class = RoomItem_0.method_8().GetRoomUserByHabbo(Session.GetHabbo().Id);
             if (@class == null)
             {
                 return;
             }
             if (!RoomItem_0.method_8().method_99(@class.X, @class.Y, RoomItem_0.Int32_0, RoomItem_0.Int32_1))
             {
                 if ([email protected]_0)
                 {
                     return;
                 }
                 try
                 {
                     @class.MoveTo(RoomItem_0.GStruct1_1);
                     return;
                 }
                 catch
                 {
                     return;
                 }
             }
             RoomItem_0.uint_3 = Session.GetHabbo().Id;
             @class.bool_0     = false;
             @class.method_3(true);
             @class.method_9(Class107.smethod_0(@class.X, @class.Y, RoomItem_0.Int32_0, RoomItem_0.Int32_1));
         }
         RoomItem_0.ReqUpdate(2);
         RoomItem_0.ExtraData = "1";
         RoomItem_0.UpdateState(false, true);
     }
 }
Beispiel #47
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            try
            {
                uint   ItemId       = Event.PopWiredUInt();
                string ClothingName = Event.PopFixedString();
                Room   Room         = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

                if (Room != null)
                {
                    RoomItem Item = Room.method_28(ItemId);

                    if (Item == null)
                    {
                        return;
                    }
                    string Lookki = Session.GetHabbo().Figure;
                    Lookki         = Lookki.Replace(GetHair(Session.GetHabbo().Figure), "");
                    Lookki         = Lookki.Replace(GetBody(Session.GetHabbo().Figure), "");
                    Item.ExtraData = Lookki + (char)5 + Session.GetHabbo().Gender + (char)5 + ChatCommandHandler.ApplyFilter(ClothingName);

                    using (DatabaseClient class2 = Essential.GetDatabase().GetClient())
                    {
                        class2.ExecuteQuery("DELETE FROM items_extra_data WHERE item_id = '" + Item.uint_0 + "'");
                        class2.AddParamWithValue("extradata", Item.ExtraData);
                        class2.ExecuteQuery("INSERT INTO items_extra_data (item_id,extra_data) VALUES ('" + Item.uint_0 + "' , @extradata);");
                    }
                    Room.method_79(Session, Item, Item.GetX, Item.Int32_1, Item.int_3, true, false, true);
                    Item.ReqUpdate(1);
                    Item.UpdateState(true, true, false);
                    //  Item.UpdateState(true, true);
                }
            }
            catch
            {
            }
        }
 public override void OnPlace(GameClient Session, RoomItem Item)
 {
     Item.ExtraData = "-1";
     Item.ReqUpdate(10);
 }
Beispiel #49
0
 public void OnWiredTrigger(RoomItem Item)
 {
     Item.ExtraData = "-1";
     Item.UpdateState(false, true);
     Item.ReqUpdate(4, true);
 }
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            RoomUser User = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (Item.GetRoom().TilesTouching(Item.X, Item.Y, User.X, User.Y))
            {
                if (Item.ExtraData != "-1")
                {
                    if (Request == -1)
                    {
                        Item.ExtraData = "0";
                        Item.UpdateState();
                    }
                    else
                    {
                        Item.ExtraData = "-1";
                        Item.UpdateState(false, true);
                        Item.ReqUpdate(4);
                    }
                }
            }
            else
            {
                User.MoveTo(Item.SquareInFront);
            }
        }
Beispiel #51
0
        internal override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (!UserHasRights)
            {
                return;
            }

            if (Item.ExtraData != "0")
            {
                Item.ExtraData = "0";
                Item.UpdateState(false, true);
                Item.ReqUpdate(10, true);
            }
        }
Beispiel #52
0
 internal override void OnPlace(GameClient Session, RoomItem Item)
 {
     Item.ExtraData = "-1";
     Item.ReqUpdate(10, true);
 }
Beispiel #53
0
        internal override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (Session == null)
                return;
            RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (Item.InteractingUser2 != User.userID)
                Item.InteractingUser2 = User.userID;

            if (User == null)
            {
                return;
            }

            if ((User.Coordinate != Item.SquareInFront && User.Coordinate != Item.SquareBehind))
            {
                User.MoveTo(Item.Coordinate);
                return;
            }

            if (!Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, User.AllowOverride) || !Item.GetRoom().GetGameMap().CanWalk(Item.SquareInFront.X, Item.SquareInFront.Y, User.AllowOverride))
            {
                return;
            }

            if (Item.InteractingUser == 0)
            {
                Item.ExtraData = "1";
                Item.UpdateState(false, true);

                User.InteractingGate = true;
                User.GateId = Item.Id;
                Item.InteractingUser = User.HabboId;

                User.CanWalk = false;

                if (User.IsWalking && ((User.GoalX != Item.SquareInFront.X || User.GoalY != Item.SquareInFront.Y) || (User.GoalX != Item.SquareBehind.X || User.GoalY != Item.SquareBehind.Y)))
                {
                    User.ClearMovement(true);
                }

                User.AllowOverride = true;
                User.MoveTo(Item.Coordinate);

                Item.ReqUpdate(4, true);
            }
        }
Beispiel #54
0
        internal override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (Session == null)
                return;
            RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (Item.InteractingUser2 != User.userID)
                Item.InteractingUser2 = User.userID;

            if (User == null)
            {
                return;
            }

            if (User.Coordinate != Item.SquareInFront && User.CanWalk)
            {
                User.MoveTo(Item.SquareInFront);
                return;
            }
            if (!Item.GetRoom().GetGameMap().ValidTile(Item.SquareBehind.X, Item.SquareBehind.Y) || !Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, false)
                || !Item.GetRoom().GetGameMap().SquareIsOpen(Item.SquareBehind.X, Item.SquareBehind.Y, false))
            {
                return;
            }

            if ((User.LastInteraction - PlusEnvironment.GetUnixTimestamp() < 0) && User.InteractingGate && User.GateId == Item.Id)
            {
                User.InteractingGate = false;
                User.GateId = 0;
            }

            if (!User.InteractingGate && User.GateId != Item.Id && Item.TollPrice > 0)
            {
                if (Session.GetHabbo().Credits < Item.TollPrice)
                {
                    Session.SendNotif("You have not got enough credits to get through this gate.\n" +
                        "You need atleast " + Item.TollPrice + " to get through this gate");
                    return;
                }
                Session.SendWhisper("This gate has a toll of " + Item.TollPrice + " credits.");
                Session.SendWhisper("To continue through it, double click again!");
                User.InteractingGate = true;
                User.GateId = Item.Id;
                User.LastInteraction = PlusEnvironment.GetUnixTimestamp() + 7;
                return;
            }

            if (!Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, User.AllowOverride))
            {
                return;
            }

            if (Item.InteractingUser == 0)
            {
                User.InteractingGate = true;
                User.GateId = Item.Id;
                Item.InteractingUser = User.HabboId;

                User.CanWalk = false;

                if (User.IsWalking && (User.GoalX != Item.SquareInFront.X || User.GoalY != Item.SquareInFront.Y))
                {
                    User.ClearMovement(true);
                }

                if (Item.TollPrice > 0 && Session.GetHabbo().Credits > Item.TollPrice)
                {
                    Habbo Data = PlusEnvironment.getHabboForId(Convert.ToUInt32(Item.GetRoom().OwnerId));
                    if (Data != null)
                    {
                        using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().getQueryreactor())
                        {
                            dbClient.setQuery("SELECT online FROM users WHERE id=" + Data.Id + " LIMIT 1");
                            string online = dbClient.getString();
                            if (online == "0")
                            {
                                dbClient.runFastQuery("UPDATE users SET credits = credits+" + Item.TollPrice + " WHERE id=" + Data.Id + " LIMIT 1");
                            }
                            else if (online == "1")
                            {
                                GameClient H = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Data.Id);
                                H.GetHabbo().Credits += Item.TollPrice;
                                H.GetHabbo().UpdateCreditsBalance();
                            }
                            else
                            {
                                Session.SendWhisper("An error occured!");
                                return;
                            }
                        }
                    }
                    Session.GetHabbo().Credits -= Item.TollPrice;
                    Session.GetHabbo().UpdateCreditsBalance();
                }
                else if (Session.GetHabbo().Credits < Item.TollPrice)
                {
                    User.InteractingGate = false;
                    User.GateId = 0;
                    return;
                }

                User.AllowOverride = true;
                User.MoveTo(Item.Coordinate);

                Item.ReqUpdate(4, true);
            }
        }
Beispiel #55
0
		public void OnPlace(GameClient Session, RoomItem Item)
		{
			Item.ExtraData = "-1";
			Item.ReqUpdate(10, true);
		}
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0)
            {
                RoomUser User = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

                if (User == null)
                {
                    return;
                }

                if (!Item.GetRoom().TilesTouching(User.X, User.Y, Item.X, Item.Y))
                {
                    User.MoveTo(Item.SquareInFront);
                    return;
                }

                Item.InteractingUser = Session.GetHabbo().Id;

                User.CanWalk = false;
                User.ClearMovement(true);
                User.SetRot(Rotation.Calculate(User.X, User.Y, Item.X, Item.Y));

                Item.ReqUpdate(2);

                Item.ExtraData = "1";
                Item.UpdateState(false, true);
            }
        }
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            if (!UserHasRights)
            {
                return;
            }

            if (Item.ExtraData != "-1")
            {
                Item.ExtraData = "-1";
                Item.UpdateState();
                Item.ReqUpdate(10);
            }
        }
        public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
        {
            RoomUser User = Item.GetRoom().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (User == null)
            {
                return;
            }

            if (User.Coordinate != Item.SquareInFront && User.CanWalk)
            {
                User.MoveTo(Item.SquareInFront);
                return;
            }

            if (!Item.GetRoom().CanWalk(Item.SquareBehind.x, Item.SquareBehind.y, Item.Z, true))
            {
                return;
            }

            if (Item.InteractingUser == 0)
            {
                Item.InteractingUser = User.HabboId;

                User.CanWalk = false;

                if (User.IsWalking && (User.GoalX != Item.SquareInFront.x || User.GoalY != Item.SquareInFront.y))
                {
                    User.ClearMovement(true);
                }

                User.AllowOverride = true;
                User.MoveTo(Item.Coordinate);

                Item.ReqUpdate(3);
            }
        }
Beispiel #59
0
 public void OnWiredTrigger(RoomItem Item)
 {
     Item.ExtraData = "-1";
     Item.UpdateState(false, true);
     Item.ReqUpdate(4, true);
 }
 public override void OnPlace(GameClient session, RoomItem item)
 {
     item.ExtraData = "-1";
     item.ReqUpdate(10, true);
 }