Jump, Parachute, Debug and BrakeLight bug fixed
This commit is contained in:
@ -55,12 +55,13 @@ namespace CoopClient.Entities.Player
|
|||||||
|
|
||||||
if (IsInParachuteFreeFall)
|
if (IsInParachuteFreeFall)
|
||||||
{
|
{
|
||||||
if (!Character.IsInParachuteFreeFall)
|
Character.PositionNoOffset = Vector3.Lerp(Character.Position, Position + Velocity, 0.5f);
|
||||||
{
|
Character.Quaternion = Rotation.ToQuaternion();
|
||||||
Function.Call(Hash.TASK_SKY_DIVE, Character.Handle);
|
|
||||||
}
|
|
||||||
UpdateOnFootPosition(true, true, false);
|
|
||||||
|
|
||||||
|
if (!Function.Call<bool>(Hash.IS_ENTITY_PLAYING_ANIM, Character.Handle, "skydive@base", "free_idle", 3))
|
||||||
|
{
|
||||||
|
Function.Call(Hash.TASK_PLAY_ANIM, Character.Handle, LoadAnim("skydive@base"), "free_idle", 8f, 10f, -1, 0, -8f, 1, 1, 1);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,16 +69,22 @@ namespace CoopClient.Entities.Player
|
|||||||
{
|
{
|
||||||
if (ParachuteProp == null)
|
if (ParachuteProp == null)
|
||||||
{
|
{
|
||||||
ParachuteProp = World.CreateProp(Util.ModelRequest(1740193300), Character.Position, Character.Rotation, false, false);
|
Model model = 1740193300.ModelRequest();
|
||||||
ParachuteProp.IsPositionFrozen = true;
|
if (model != null)
|
||||||
ParachuteProp.IsCollisionEnabled = false;
|
{
|
||||||
|
ParachuteProp = World.CreateProp(model, Character.Position, Character.Rotation, false, false);
|
||||||
ParachuteProp.AttachTo(Character.Bones[Bone.SkelSpine2], new Vector3(3.6f, 0f, 0f), new Vector3(0f, 90f, 0f));
|
model.MarkAsNoLongerNeeded();
|
||||||
|
ParachuteProp.IsPositionFrozen = true;
|
||||||
|
ParachuteProp.IsCollisionEnabled = false;
|
||||||
|
|
||||||
|
ParachuteProp.AttachTo(Character.Bones[Bone.SkelSpine2], new Vector3(3.6f, 0f, 0f), new Vector3(0f, 90f, 0f));
|
||||||
|
}
|
||||||
Character.Task.ClearAllImmediately();
|
Character.Task.ClearAllImmediately();
|
||||||
Character.Task.ClearSecondary();
|
Character.Task.ClearSecondary();
|
||||||
}
|
}
|
||||||
UpdateOnFootPosition(true, true, false);
|
|
||||||
|
Character.PositionNoOffset = Vector3.Lerp(Character.Position, Position + Velocity, 0.5f);
|
||||||
|
Character.Quaternion = Rotation.ToQuaternion();
|
||||||
|
|
||||||
if (!Function.Call<bool>(Hash.IS_ENTITY_PLAYING_ANIM, Character.Handle, "skydive@parachute@first_person", "chute_idle_right", 3))
|
if (!Function.Call<bool>(Hash.IS_ENTITY_PLAYING_ANIM, Character.Handle, "skydive@parachute@first_person", "chute_idle_right", 3))
|
||||||
{
|
{
|
||||||
@ -153,7 +160,7 @@ namespace CoopClient.Entities.Player
|
|||||||
Character.Task.Jump();
|
Character.Task.Jump();
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateOnFootPosition(true, true, false);
|
UpdateOnFootPosition();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LastIsJumping = false;
|
LastIsJumping = false;
|
||||||
|
@ -337,7 +337,7 @@ namespace CoopClient
|
|||||||
DebugSyncPed = Players[0];
|
DebugSyncPed = Players[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Util.GetTickCount64() - ArtificialLagCounter) < 20)
|
if ((Util.GetTickCount64() - ArtificialLagCounter) < 274)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -433,7 +433,7 @@ namespace CoopClient
|
|||||||
ulong currentTimestamp = Util.GetTickCount64();
|
ulong currentTimestamp = Util.GetTickCount64();
|
||||||
|
|
||||||
DebugSyncPed.LastUpdateReceived = currentTimestamp;
|
DebugSyncPed.LastUpdateReceived = currentTimestamp;
|
||||||
DebugSyncPed.Latency = currentTimestamp - ArtificialLagCounter;
|
DebugSyncPed.Latency = (currentTimestamp - ArtificialLagCounter) / 1000f;
|
||||||
|
|
||||||
ArtificialLagCounter = currentTimestamp;
|
ArtificialLagCounter = currentTimestamp;
|
||||||
|
|
||||||
|
@ -538,6 +538,7 @@ namespace CoopClient
|
|||||||
player.VehLandingGear = packet.VehLandingGear;
|
player.VehLandingGear = packet.VehLandingGear;
|
||||||
player.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
player.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
||||||
player.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
player.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
||||||
|
player.VehAreBrakeLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreBrakeLightsOn) > 0;
|
||||||
player.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
player.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
||||||
player.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
player.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
||||||
player.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
player.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
||||||
@ -600,6 +601,7 @@ namespace CoopClient
|
|||||||
player.AimCoords = packet.AimCoords.ToVector();
|
player.AimCoords = packet.AimCoords.ToVector();
|
||||||
player.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
player.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
||||||
player.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
player.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
||||||
|
player.VehAreBrakeLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreBrakeLightsOn) > 0;
|
||||||
player.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
player.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
||||||
player.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
player.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
||||||
player.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
player.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
||||||
@ -837,6 +839,7 @@ namespace CoopClient
|
|||||||
npc.VehLandingGear = packet.VehLandingGear;
|
npc.VehLandingGear = packet.VehLandingGear;
|
||||||
npc.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
npc.VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0;
|
||||||
npc.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
npc.VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0;
|
||||||
|
npc.VehAreBrakeLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreBrakeLightsOn) > 0;
|
||||||
npc.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
npc.VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0;
|
||||||
npc.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
npc.VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0;
|
||||||
npc.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
npc.VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0;
|
||||||
@ -871,6 +874,7 @@ namespace CoopClient
|
|||||||
VehLandingGear = packet.VehLandingGear,
|
VehLandingGear = packet.VehLandingGear,
|
||||||
VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0,
|
VehIsEngineRunning = (packet.Flag.Value & (ushort)VehicleDataFlags.IsEngineRunning) > 0,
|
||||||
VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0,
|
VehAreLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreLightsOn) > 0,
|
||||||
|
VehAreBrakeLightsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreBrakeLightsOn) > 0,
|
||||||
VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0,
|
VehAreHighBeamsOn = (packet.Flag.Value & (ushort)VehicleDataFlags.AreHighBeamsOn) > 0,
|
||||||
VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0,
|
VehIsSireneActive = (packet.Flag.Value & (ushort)VehicleDataFlags.IsSirenActive) > 0,
|
||||||
VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0,
|
VehicleDead = (packet.Flag.Value & (ushort)VehicleDataFlags.IsDead) > 0,
|
||||||
|
Reference in New Issue
Block a user