Jump, Parachute, Debug and BrakeLight bug fixed

This commit is contained in:
EntenKoeniq
2022-01-01 19:24:57 +01:00
parent 6f2da854a9
commit 9373cb3c85
3 changed files with 25 additions and 14 deletions

View File

@ -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();
if (model != null)
{
ParachuteProp = World.CreateProp(model, Character.Position, Character.Rotation, false, false);
model.MarkAsNoLongerNeeded();
ParachuteProp.IsPositionFrozen = true; ParachuteProp.IsPositionFrozen = true;
ParachuteProp.IsCollisionEnabled = false; ParachuteProp.IsCollisionEnabled = false;
ParachuteProp.AttachTo(Character.Bones[Bone.SkelSpine2], new Vector3(3.6f, 0f, 0f), new Vector3(0f, 90f, 0f)); 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;

View File

@ -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;

View File

@ -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,