예제 #1
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 && @class.class34_1 == null)
            {
                if (ThreeDCoord.Equals(@class.Position, RoomItem_0.GStruct1_0) || ThreeDCoord.Equals(@class.Position, RoomItem_0.GStruct1_1))
                {
                    if (RoomItem_0.InteractingUser == 0u)
                    {
                        @class.int_19 = -1;
                        RoomItem_0.InteractingUser = @class.GetClient().GetHabbo().Id;
                        @class.RoomItem_0          = RoomItem_0;
                    }
                }
                else
                {
                    if (@class.bool_0)
                    {
                        try
                        {
                            @class.MoveTo(RoomItem_0.GStruct1_1);
                        }
                        catch
                        {
                        }
                    }
                }
            }
        }
예제 #2
0
        public override void OnTrigger(GameClient Session, RoomItem RoomItem_0, int int_0, bool bool_0)
        {
            Room     @class = RoomItem_0.GetRoom();
            RoomUser class2 = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (class2 != null && @class != null)
            {
                ThreeDCoord gstruct1_  = new ThreeDCoord(RoomItem_0.GetX + 1, RoomItem_0.Int32_1);
                ThreeDCoord gstruct1_2 = new ThreeDCoord(RoomItem_0.GetX - 1, RoomItem_0.Int32_1);
                ThreeDCoord gstruct1_3 = new ThreeDCoord(RoomItem_0.GetX, RoomItem_0.Int32_1 + 1);
                ThreeDCoord gstruct1_4 = new ThreeDCoord(RoomItem_0.GetX, RoomItem_0.Int32_1 - 1);
                if (ThreeDCoord.IsNot(class2.Position, gstruct1_) && ThreeDCoord.IsNot(class2.Position, gstruct1_2) && ThreeDCoord.IsNot(class2.Position, gstruct1_3) && ThreeDCoord.IsNot(class2.Position, gstruct1_4))
                {
                    if (class2.bool_0)
                    {
                        class2.MoveTo(RoomItem_0.GStruct1_0);
                    }
                }
                else
                {
                    int num  = RoomItem_0.GetX;
                    int num2 = RoomItem_0.Int32_1;
                    if (ThreeDCoord.Equals(class2.Position, gstruct1_))
                    {
                        num  = RoomItem_0.GetX - 1;
                        num2 = RoomItem_0.Int32_1;
                    }
                    else
                    {
                        if (ThreeDCoord.Equals(class2.Position, gstruct1_2))
                        {
                            num  = RoomItem_0.GetX + 1;
                            num2 = RoomItem_0.Int32_1;
                        }
                        else
                        {
                            if (ThreeDCoord.Equals(class2.Position, gstruct1_3))
                            {
                                num  = RoomItem_0.GetX;
                                num2 = RoomItem_0.Int32_1 - 1;
                            }
                            else
                            {
                                if (ThreeDCoord.Equals(class2.Position, gstruct1_4))
                                {
                                    num  = RoomItem_0.GetX;
                                    num2 = RoomItem_0.Int32_1 + 1;
                                }
                            }
                        }
                    }
                    if (@class.method_37(num, num2, true, true, true, true, false, false, false))
                    {
                        List <RoomItem> list_ = new List <RoomItem>();
                        list_ = @class.method_93(num, num2);
                        double        double_ = @class.method_84(num, num2, list_);
                        ServerMessage Message = new ServerMessage(Outgoing.ObjectOnRoller); // Update
                        Message.AppendInt32(RoomItem_0.GetX);
                        Message.AppendInt32(RoomItem_0.Int32_1);
                        Message.AppendInt32(num);
                        Message.AppendInt32(num2);
                        Message.AppendInt32(1);
                        Message.AppendUInt(RoomItem_0.uint_0);
                        Message.AppendStringWithBreak(double_.ToString());
                        Message.AppendStringWithBreak(double_.ToString());
                        Message.AppendInt32(-1);
                        @class.SendMessage(Message, null);
                        @class.method_81(RoomItem_0, num, num2, double_);
                    }
                }
            }
        }