Add ped blip sync
This commit is contained in:
@ -338,6 +338,8 @@ namespace RageCoop.Client
|
||||
c.ModelHash=packet.ModelHash;
|
||||
c.LastStateSynced = Main.Ticked;
|
||||
c.BlipColor=packet.BlipColor;
|
||||
c.BlipSprite=packet.BlipSprite;
|
||||
c.BlipScale=packet.BlipScale;
|
||||
}
|
||||
private static void VehicleSync(Packets.VehicleSync packet)
|
||||
{
|
||||
|
@ -66,10 +66,18 @@ namespace RageCoop.Client
|
||||
if (c.IsPlayer)
|
||||
{
|
||||
packet.BlipColor=Scripting.API.Config.BlipColor;
|
||||
packet.BlipSprite=Scripting.API.Config.BlipSprite;
|
||||
packet.BlipScale=Scripting.API.Config.BlipScale;
|
||||
}
|
||||
else if ((b = p.AttachedBlip) !=null)
|
||||
{
|
||||
packet.BlipColor=b.Color;
|
||||
packet.BlipSprite=b.Sprite;
|
||||
|
||||
if (packet.BlipSprite==BlipSprite.PoliceOfficer || packet.BlipSprite==BlipSprite.PoliceOfficer2)
|
||||
{
|
||||
packet.BlipScale=0.5f;
|
||||
}
|
||||
}
|
||||
Send(packet, ConnectionChannel.PedSync);
|
||||
}
|
||||
|
@ -58,6 +58,17 @@ namespace RageCoop.Client.Scripting
|
||||
/// Get or set player's blip color
|
||||
/// </summary>
|
||||
public static BlipColor BlipColor { get; set; } = BlipColor.White;
|
||||
|
||||
/// <summary>
|
||||
/// Get or set player's blip sprite
|
||||
/// </summary>
|
||||
public static BlipSprite BlipSprite { get; set; } = BlipSprite.Standard;
|
||||
|
||||
/// <summary>
|
||||
/// Get or set scale of player's blip
|
||||
/// </summary>
|
||||
public static float BlipScale { get; set; } = 1;
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Base events for RageCoop
|
||||
|
@ -49,6 +49,8 @@ namespace RageCoop.Client
|
||||
internal string Username = "N/A";
|
||||
internal Blip PedBlip = null;
|
||||
internal BlipColor BlipColor = (BlipColor)255;
|
||||
internal BlipSprite BlipSprite = (BlipSprite)0;
|
||||
internal float BlipScale=1;
|
||||
internal bool DisplayNameTag { get; set; } = true;
|
||||
#endregion
|
||||
|
||||
@ -118,7 +120,7 @@ namespace RageCoop.Client
|
||||
PedBlip.Delete();
|
||||
PedBlip=null;
|
||||
}
|
||||
else if (PedBlip==null)
|
||||
else if (((byte)BlipColor != 255) && PedBlip==null)
|
||||
{
|
||||
PedBlip=MainPed.AddBlip();
|
||||
if (IsPlayer)
|
||||
@ -137,6 +139,8 @@ namespace RageCoop.Client
|
||||
});
|
||||
}
|
||||
PedBlip.Color=BlipColor;
|
||||
PedBlip.Sprite=BlipSprite;
|
||||
PedBlip.Scale=BlipScale;
|
||||
}
|
||||
|
||||
|
||||
|
@ -331,8 +331,8 @@ namespace RageCoop.Client
|
||||
allPeds = World.GetAllPeds();
|
||||
allVehicles=World.GetAllVehicles();
|
||||
allProjectiles=World.GetAllProjectiles();
|
||||
vehStatesPerFrame=allVehicles.Length*5/(int)Game.FPS+1;
|
||||
pedStatesPerFrame=allPeds.Length*5/(int)Game.FPS+1;
|
||||
vehStatesPerFrame=allVehicles.Length*2/(int)Game.FPS+1;
|
||||
pedStatesPerFrame=allPeds.Length*2/(int)Game.FPS+1;
|
||||
|
||||
if (Main.Ticked%50==0)
|
||||
{
|
||||
|
@ -80,6 +80,14 @@ namespace RageCoop.Core
|
||||
{
|
||||
bytes.AddRange(BitConverter.GetBytes(i));
|
||||
}
|
||||
public static void AddShort(this List<byte> bytes, short i)
|
||||
{
|
||||
bytes.AddRange(BitConverter.GetBytes(i));
|
||||
}
|
||||
public static void AddUshort(this List<byte> bytes, ushort i)
|
||||
{
|
||||
bytes.AddRange(BitConverter.GetBytes(i));
|
||||
}
|
||||
public static void AddLong(this List<byte> bytes, long i)
|
||||
{
|
||||
bytes.AddRange(BitConverter.GetBytes(i));
|
||||
|
@ -28,6 +28,8 @@ namespace RageCoop.Core
|
||||
public byte WeaponTint { get;set; }
|
||||
public BlipColor BlipColor { get; set; } = (BlipColor)255;
|
||||
|
||||
public BlipSprite BlipSprite { get; set; }= 0;
|
||||
public float BlipScale { get; set; } = 1;
|
||||
|
||||
public override void Pack(NetOutgoingMessage message)
|
||||
{
|
||||
@ -67,6 +69,11 @@ namespace RageCoop.Core
|
||||
byteArray.Add(WeaponTint);
|
||||
|
||||
byteArray.Add((byte)BlipColor);
|
||||
if ((byte)BlipColor!=255)
|
||||
{
|
||||
byteArray.AddUshort((ushort)BlipSprite);
|
||||
byteArray.AddFloat(BlipScale);
|
||||
}
|
||||
|
||||
byte[] result = byteArray.ToArray();
|
||||
message.Write(result.Length);
|
||||
@ -104,6 +111,12 @@ namespace RageCoop.Core
|
||||
WeaponTint=reader.ReadByte();
|
||||
|
||||
BlipColor=(BlipColor)reader.ReadByte();
|
||||
|
||||
if ((byte)BlipColor!=255)
|
||||
{
|
||||
BlipSprite=(BlipSprite)reader.ReadUShort();
|
||||
BlipScale=reader.ReadFloat();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user