コード例 #1
0
 public static void ShowWeather(Entities.GameClient client)
 {
     try
     {
         using (var weather = new Packets.WeatherPacket())
         {
             weather.Weather    = client.Map.Weather;
             weather.Intensity  = client.Map.WeatherIntensity;
             weather.Appearance = client.Map.WeatherAppearance;
             weather.Direction  = client.Map.WeatherDirection;
             client.Send(weather);
         }
         if (client.Map.Weather == Enums.Weather.Rain)
         {
             Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.MapARGB);
             general.Id    = client.EntityUID;
             general.Data1 = 5855577;
             client.Send(general);
         }
         else
         {
             Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.MapARGB);
             general.Id    = client.EntityUID;
             general.Data1 = 0;
             client.Send(general);
         }
     }
     catch { }
 }
コード例 #2
0
        public void Jump()
        {
            if (Core.Screen.GetDistance(Original.X, Original.Y, DestinationX, DestinationY) <= 5)
            {
                Threads.ActionThread.Actions.TryRemove(CurrentJumpAction.ActionID, out CurrentJumpAction);
                CurrentJumpAction = null;
                return;
            }

            Enums.ConquerAngle angle = Core.Screen.GetFacing(Core.Screen.GetAngle(Original.X, Original.Y, DestinationX, DestinationY));
            Maps.MapPoint      point = Packets.MovementPacket.CreateDirectionPoint(Original.X, Original.Y, (byte)angle);
            if (!Original.Map.ValidCoord(point.X, point.Y))
            {
                return;
            }
            const ushort size = 14;

            for (ushort i = size; i > 0; i--)
            {
                Maps.MapPoint npoint = Packets.MovementPacket.CreateDirectionPoint(point.X, point.Y, (byte)angle);
                npoint = new ProjectX_V3_Game.Maps.MapPoint(0, npoint.X, npoint.Y);

                if (Original.Map.ValidCoord(npoint.X, npoint.Y))
                {
                    point = npoint;
                }
                else
                {
                    break;
                }
            }
            ushort x = point.X;
            ushort y = point.Y;

            Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.Jump);
            general.Id        = Original.EntityUID;
            general.Data1Low  = x;
            general.Data1High = y;
            general.Data5     = uint.MaxValue;
            general.Data3Low  = Original.X;
            general.Data3High = Original.Y;
            general.Data4     = (uint)Original.Map.MapID;
            general.Timestamp = ProjectX_V3_Lib.Native.Winmm.timeGetTime();
            Original.SendToScreen(general, false, false);

            Original.X = x;
            Original.Y = y;
        }
コード例 #3
0
        private void Jump(ushort x, ushort y)
        {
            if (!Original.Map.ValidCoord(x, y))
            {
                return;
            }
            if (MaxX > 0)
            {
                if (x > MaxX)
                {
                    return;
                }
                if (y > MaxY)
                {
                    return;
                }
                if (x < MinX)
                {
                    return;
                }
                if (y < MinY)
                {
                    return;
                }
            }
            Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.Jump);
            general.Id        = Original.EntityUID;
            general.Data1Low  = x;
            general.Data1High = y;
            general.Data5     = uint.MaxValue;
            general.Data3Low  = Original.X;
            general.Data3High = Original.Y;
            general.Data4     = (uint)Original.Map.MapID;
            general.Timestamp = ProjectX_V3_Lib.Native.Winmm.timeGetTime();
            Original.SendToScreen(general, false, false);

            Original.X = x;
            Original.Y = y;
        }
コード例 #4
0
 public static void ShowWeather(Entities.GameClient client)
 {
     try
     {
         using (var weather = new Packets.WeatherPacket())
         {
             weather.Weather = client.Map.Weather;
             weather.Intensity = client.Map.WeatherIntensity;
             weather.Appearance = client.Map.WeatherAppearance;
             weather.Direction = client.Map.WeatherDirection;
             client.Send(weather);
         }
         if (client.Map.Weather == Enums.Weather.Rain)
         {
             Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.MapARGB);
             general.Id = client.EntityUID;
             general.Data1 = 5855577;
             client.Send(general);
         }
         else
         {
             Packets.GeneralDataPacket general = new ProjectX_V3_Game.Packets.GeneralDataPacket(Enums.DataAction.MapARGB);
             general.Id = client.EntityUID;
             general.Data1 = 0;
             client.Send(general);
         }
     }
     catch { }
 }