Add RoofState sync.
This commit is contained in:
@ -358,6 +358,7 @@ namespace RageCoop.Client
|
||||
v.ModelHash=packet.ModelHash;
|
||||
v.Colors=packet.Colors;
|
||||
v.LandingGear=packet.LandingGear;
|
||||
v.RoofState=(VehicleRoofState)packet.RoofState;
|
||||
v.EngineRunning = packet.Flag.HasFlag(VehicleDataFlags.IsEngineRunning);
|
||||
v.LightsOn = packet.Flag.HasFlag(VehicleDataFlags.AreLightsOn);
|
||||
v.BrakeLightsOn = packet.Flag.HasFlag(VehicleDataFlags.AreBrakeLightsOn);
|
||||
|
@ -105,6 +105,7 @@ namespace RageCoop.Client
|
||||
Colors=new byte[] { primaryColor, secondaryColor },
|
||||
DamageModel=veh.GetVehicleDamageModel(),
|
||||
LandingGear = veh.IsAircraft ? (byte)veh.LandingGearState : (byte)0,
|
||||
RoofState=(byte)veh.RoofState,
|
||||
Mods = veh.Mods.GetVehicleMods(),
|
||||
ModelHash=veh.Model.Hash,
|
||||
EngineHealth=veh.EngineHealth,
|
||||
|
@ -598,7 +598,6 @@ namespace RageCoop.Client
|
||||
Function.Call(Hash.GIVE_WEAPON_OBJECT_TO_PED, _lastWeaponObj, MainPed.Handle);
|
||||
|
||||
}
|
||||
|
||||
_lastWeaponComponents = WeaponComponents;
|
||||
}
|
||||
if (Function.Call<int>(Hash.GET_PED_WEAPON_TINT_INDEX,MainPed,CurrentWeaponHash)!=WeaponTint)
|
||||
|
@ -83,7 +83,7 @@ namespace RageCoop.Client
|
||||
internal bool BrakeLightsOn { get; set; } = false;
|
||||
internal bool HighBeamsOn { get; set; }
|
||||
internal byte LandingGear { get; set; }
|
||||
internal bool RoofOpened { get; set; }
|
||||
internal VehicleRoofState RoofState { get; set; }
|
||||
internal bool SireneActive { get; set; }
|
||||
internal VehicleDamageModel DamageModel { get; set; }
|
||||
internal int ModelHash { get; set; }
|
||||
@ -308,13 +308,9 @@ namespace RageCoop.Client
|
||||
MainVehicle.SoundHorn(1);
|
||||
}
|
||||
|
||||
if (MainVehicle.HasRoof)
|
||||
if (MainVehicle.HasRoof && MainVehicle.RoofState!=RoofState)
|
||||
{
|
||||
bool roofOpened = MainVehicle.RoofState == VehicleRoofState.Opened || MainVehicle.RoofState == VehicleRoofState.Opening;
|
||||
if (roofOpened != RoofOpened)
|
||||
{
|
||||
MainVehicle.RoofState = RoofOpened ? VehicleRoofState.Opening : VehicleRoofState.Closing;
|
||||
}
|
||||
MainVehicle.RoofState=RoofState;
|
||||
}
|
||||
|
||||
Function.Call(Hash.SET_VEHICLE_BRAKE_LIGHTS, MainVehicle.Handle, BrakeLightsOn);
|
||||
@ -373,14 +369,9 @@ namespace RageCoop.Client
|
||||
EntityPool.Add( this);
|
||||
}
|
||||
MainVehicle.Quaternion = Quaternion;
|
||||
|
||||
if (MainVehicle.HasRoof)
|
||||
{
|
||||
bool roofOpened = MainVehicle.RoofState == VehicleRoofState.Opened || MainVehicle.RoofState == VehicleRoofState.Opening;
|
||||
if (roofOpened != RoofOpened)
|
||||
{
|
||||
MainVehicle.RoofState = RoofOpened ? VehicleRoofState.Opened : VehicleRoofState.Closed;
|
||||
}
|
||||
MainVehicle.RoofState=RoofState;
|
||||
}
|
||||
vehicleModel.MarkAsNoLongerNeeded();
|
||||
}
|
||||
|
@ -72,7 +72,10 @@ namespace RageCoop.Client
|
||||
{
|
||||
flags|= VehicleDataFlags.IsDeluxoHovering;
|
||||
}
|
||||
|
||||
if (veh.HasRoof)
|
||||
{
|
||||
flags|=VehicleDataFlags.HasRoof;
|
||||
}
|
||||
|
||||
|
||||
return flags;
|
||||
|
@ -103,6 +103,7 @@ namespace RageCoop.Core
|
||||
OnTurretSeat = 1 << 9,
|
||||
IsAircraft = 1 << 10,
|
||||
IsDeluxoHovering=1 << 11,
|
||||
HasRoof=1 << 12,
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,6 +30,7 @@ namespace RageCoop.Core
|
||||
public VehicleDamageModel DamageModel { get; set; }
|
||||
|
||||
public byte LandingGear { get; set; }
|
||||
public byte RoofState { get; set; }
|
||||
|
||||
public VehicleDataFlags Flag { get; set; }
|
||||
|
||||
@ -66,7 +67,11 @@ namespace RageCoop.Core
|
||||
if (Flag.HasFlag(VehicleDataFlags.IsAircraft))
|
||||
{
|
||||
// Write the vehicle landing gear
|
||||
byteArray.AddRange(BitConverter.GetBytes(LandingGear));
|
||||
byteArray.Add(LandingGear);
|
||||
}
|
||||
if (Flag.HasFlag(VehicleDataFlags.HasRoof))
|
||||
{
|
||||
byteArray.Add(RoofState);
|
||||
}
|
||||
|
||||
// Write vehicle colors
|
||||
@ -151,7 +156,11 @@ namespace RageCoop.Core
|
||||
if (Flag.HasFlag(VehicleDataFlags.IsAircraft))
|
||||
{
|
||||
// Read vehicle landing gear
|
||||
LandingGear = (byte)reader.ReadShort();
|
||||
LandingGear = reader.ReadByte();
|
||||
}
|
||||
if (Flag.HasFlag(VehicleDataFlags.HasRoof))
|
||||
{
|
||||
RoofState=reader.ReadByte();
|
||||
}
|
||||
|
||||
// Read vehicle colors
|
||||
|
Reference in New Issue
Block a user