示例#1
0
文件: Multis.cs 项目: uotools/PlayUO
        public bool RunUO_IsInside(Item item, Multi m, int px, int py, int pz)
        {
            int num;
            int num2;
            int num3;
            int num4;

            m.GetBounds(out num, out num2, out num3, out num4);
            int num5 = px - item.X;
            int num6 = py - item.Y;

            if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4)))
            {
                if ((item.Multi != m) && (num6 < num4))
                {
                    return(true);
                }
                int index = num5 - num;
                int num8  = num6 - num2;
                if (m.RunUO_Inside == null)
                {
                    m.UpdateRadar();
                }
                int num9 = m.RunUO_Inside[num8][index] + item.Z;
                if ((pz == num9) || ((pz + 0x10) > num9))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#2
0
文件: Multis.cs 项目: uotools/PlayUO
        public bool IsInMulti(Item item, Multi m, int px, int py, int pz)
        {
            int num;
            int num2;
            int num3;
            int num4;

            if ((((item.X >= 0x1400) && (item.X < 0x1800)) && ((item.Y >= 0x900) && (item.Y < 0x1000))) && ((Engine.m_World == 0) || (Engine.m_World == 1)))
            {
                return(true);
            }
            m.GetBounds(out num, out num2, out num3, out num4);
            int num5 = px - item.X;
            int num6 = py - item.Y;

            if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4)))
            {
                if ((item.Multi != m) && (num6 < num4))
                {
                    return(true);
                }
                int index = num5 - num;
                int num8  = num6 - num2;
                if (((m != item.Multi) && (index == 0)) && (num6 == num4))
                {
                    return(true);
                }
                if (m.Inside == null)
                {
                    m.UpdateRadar();
                }
                int num9 = m.Inside[num8][index] + item.Z;
                if ((pz == num9) || ((pz + 0x10) > num9))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#3
0
 public bool RunUO_IsInside(Item item, Multi m, int px, int py, int pz)
 {
     int num;
     int num2;
     int num3;
     int num4;
     m.GetBounds(out num, out num2, out num3, out num4);
     int num5 = px - item.X;
     int num6 = py - item.Y;
     if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4)))
     {
         if ((item.Multi != m) && (num6 < num4))
         {
             return true;
         }
         int index = num5 - num;
         int num8 = num6 - num2;
         if (m.RunUO_Inside == null)
         {
             m.UpdateRadar();
         }
         int num9 = m.RunUO_Inside[num8][index] + item.Z;
         if ((pz == num9) || ((pz + 0x10) > num9))
         {
             return true;
         }
     }
     return false;
 }
示例#4
0
 public bool IsInMulti(Item item, Multi m, int px, int py, int pz)
 {
     int num;
     int num2;
     int num3;
     int num4;
     if ((((item.X >= 0x1400) && (item.X < 0x1800)) && ((item.Y >= 0x900) && (item.Y < 0x1000))) && ((Engine.m_World == 0) || (Engine.m_World == 1)))
     {
         return true;
     }
     m.GetBounds(out num, out num2, out num3, out num4);
     int num5 = px - item.X;
     int num6 = py - item.Y;
     if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4)))
     {
         if ((item.Multi != m) && (num6 < num4))
         {
             return true;
         }
         int index = num5 - num;
         int num8 = num6 - num2;
         if (((m != item.Multi) && (index == 0)) && (num6 == num4))
         {
             return true;
         }
         if (m.Inside == null)
         {
             m.UpdateRadar();
         }
         int num9 = m.Inside[num8][index] + item.Z;
         if ((pz == num9) || ((pz + 0x10) > num9))
         {
             return true;
         }
     }
     return false;
 }