ElSaher |
2020-03-28 04:29 AM |
اضافت سيستم الطقس كامله
انا مش هطول في الكلام سيستم الطقس كامل بدون اي ايرورات او اي حاجا
اول حاجا هتعمل كلاس جديد في Game
باسم
Weather.cs
وتمسح كل الي فيه وتضيف
كود PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mr_Panda.Game
{
public static class Weather
{
public static DateTime NextChange = new DateTime();
public static Network.GamePackets.Weather CurrentWeatherBase = new Mr_Panda.Network.GamePackets.Weather(true);
public static uint Intensity
{
get
{
return CurrentWeatherBase.Intensity;
}
set
{
CurrentWeatherBase.Intensity = value;
}
}
public static uint Appearence
{
get
{
return CurrentWeatherBase.Appearence;
}
set
{
CurrentWeatherBase.Appearence = value;
}
}
public static uint Direction
{
get
{
return CurrentWeatherBase.Direction;
}
set
{
CurrentWeatherBase.Direction = value;
}
}
public static uint CurrentWeather
{
get
{
return CurrentWeatherBase.WeatherType;
}
set
{
CurrentWeatherBase.WeatherType = value;
foreach (Client.GameState client in Program.Values)
{
CurrentWeatherBase.Send(client);
}
}
}
}
}
بعد كدا هتعمل كلاس جديد في فولدر GamePackets
باسم Weather.cs
وتمسح الي فيه كلو وتحوط دول
كود PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mr_Panda.Network.GamePackets
{
public class Weather : Writer, Interfaces.IPacket
{
public const uint Nothing = 1,
Rain = 2,
Snow = 3,
RainWind = 4,
AutumnLeaves = 5,
CherryBlossomPetals = 7,
CherryBlossomPetalsWind = 8,
BlowingCotten = 9,
Atoms = 10;
byte[] Buffer;
public Weather(bool Create)
{
if (Create)
{
Buffer = new byte[20 + 8];
WriteUInt16(20, 0, Buffer);
WriteUInt16(1016, 2, Buffer);
}
}
public uint WeatherType
{
get { return BitConverter.ToUInt32(Buffer, 4); }
set { WriteUInt32(value, 4, Buffer); }
}
public uint Intensity
{
get { return BitConverter.ToUInt32(Buffer, 8); }
set { WriteUInt32(value, 8, Buffer); }
}
public uint Direction
{
get { return BitConverter.ToUInt32(Buffer, 12); }
set { WriteUInt32(value, 12, Buffer); }
}
public uint Appearence
{
get { return BitConverter.ToUInt32(Buffer, 16); }
set { WriteUInt32(value, 16, Buffer); }
}
public void Send(Client.GameState client)
{
client.Send(Buffer);
}
public byte[] ToArray()
{
return Buffer;
}
public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}
}
}
بعد كدا هتروح علي World هتبحث عن كود
كود PHP:
private void ServerFunctions(int time)
{
وتحط دة تحت القوس علطول هتضيف
كود PHP:
#region New weather
Mr_Panda.Network.GamePackets.Weather weather;
#region Rain System
if (DateTime.Now.Minute == 10 && DateTime.Now.Second == 0 || DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
{
foreach (GameState state in Kernel.GamePool.Values)
{
Program.WeatherType = Mr_Panda.Network.GamePackets.Weather.Rain;
weather = new Mr_Panda.Network.GamePackets.Weather(true)
{
WeatherType = (uint)Program.WeatherType,
Intensity = 255,
Appearence = 255,
Direction = 255
};
state.Send(weather);
}
}
#endregion Rain System
#region Snow System
if (DateTime.Now.Minute == 20 && DateTime.Now.Second == 0 || DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
{
foreach (GameState state in Kernel.GamePool.Values)
{
Program.WeatherType = Mr_Panda.Network.GamePackets.Weather.Snow;
weather = new Mr_Panda.Network.GamePackets.Weather(true)
{
WeatherType = (uint)Program.WeatherType,
Intensity = 255,
Appearence = 255,
Direction = 255
};
state.Send(weather);
}
}
#endregion Snow System
#region AutumnLeaves
if (DateTime.Now.Minute == 30 && DateTime.Now.Second == 0 || DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
{
foreach (GameState state in Kernel.GamePool.Values)
{
Program.WeatherType = Mr_Panda.Network.GamePackets.Weather.AutumnLeaves;
weather = new Mr_Panda.Network.GamePackets.Weather(true)
{
WeatherType = (uint)Program.WeatherType,
Intensity = 255,
Appearence = 255,
Direction = 255
};
state.Send(weather);
}
}
#endregion AutumnLeaves
#region CherryBlossomPetals
if (DateTime.Now.Minute == 40 && DateTime.Now.Second == 0 || DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
{
foreach (GameState state in Kernel.GamePool.Values)
{
Program.WeatherType = Mr_Panda.Network.GamePackets.Weather.CherryBlossomPetals;
weather = new Mr_Panda.Network.GamePackets.Weather(true)
{
WeatherType = (uint)Program.WeatherType,
Intensity = 255,
Appearence = 255,
Direction = 255
};
state.Send(weather);
}
}
#endregion CherryBlossomPetals
#region BlowingCotten
if (DateTime.Now.Minute == 60 && DateTime.Now.Second == 0 || DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
{
foreach (GameState state in Kernel.GamePool.Values)
{
Program.WeatherType = Mr_Panda.Network.GamePackets.Weather.BlowingCotten;
weather = new Mr_Panda.Network.GamePackets.Weather(true)
{
WeatherType = (uint)Program.WeatherType,
Intensity = 255,
Appearence = 255,
Direction = 255
};
state.Send(weather);
}
}
#endregion CherryBlossomPetals
#endregion New weather
هتغير Mr_Panda بي اسم البروجكت بتاعك
وكدة هيبقى كلوا تمام انشاء الله اشوفكم بخير
|