예제 #1
0
파일: Mobile.cs 프로젝트: uotools/PlayUO
 public void SetLocation(short x, short y, short z)
 {
     this.m_Z = z;
     if ((this.m_X != x) || (this.m_Y != y))
     {
         if (this.m_Player && (Engine.Multis.IsInMulti(this.m_X, this.m_Y, this.m_Z) != Engine.Multis.IsInMulti(x, y, z)))
         {
             Map.Invalidate();
         }
         this.m_X      = x;
         this.m_Y      = y;
         this.m_KUOC_X = x;
         this.m_KUOC_Y = y;
         this.m_KUOC_Z = z;
         if (!this.m_Player)
         {
             if (this.m_Visible && !World.InUpdateRange(this))
             {
                 World.Remove(this);
             }
             else if (((this.m_Name != null) && (this.m_Name.Length > 0)) && (Array.IndexOf(Party.Members, this) >= 0))
             {
                 GRadar.AddTag(this.m_X, this.m_Y, this.m_Name, this.m_Serial);
             }
         }
     }
 }
예제 #2
0
파일: UOAM.cs 프로젝트: uotools/PlayUO
 public static void DoPositions(UOAMPacketReader reader)
 {
     try
     {
         int num = reader.ReadInt32();
         if (num != 0)
         {
             if (reader.ReadInt32() != 1)
             {
                 m_Log = true;
             }
             if (reader.ReadInt32() != num)
             {
                 m_Log = true;
             }
             for (int i = 0; i < num; i++)
             {
                 string name = reader.ReadString(0x4f);
                 int    num3 = reader.ReadByte();
                 int    x    = reader.ReadInt32();
                 int    y    = reader.ReadInt32();
                 int    num6 = reader.ReadInt32();
                 if (name != m_Username)
                 {
                     GRadar.AddTag(x, y, name);
                 }
             }
         }
     }
     catch
     {
         Disconnect();
     }
 }