FullSync every 1.5s and small changes
This commit is contained in:
@ -432,7 +432,7 @@ namespace CoopClient
|
||||
{
|
||||
MainVehicle.Velocity = VehicleVelocity + (VehiclePosition - MainVehicle.Position);
|
||||
|
||||
MainVehicle.Quaternion = Quaternion.Slerp(MainVehicle.Quaternion, VehicleRotation, Math.Min(1.0f, Latency < 0.5f ? 0.5f : Latency));
|
||||
MainVehicle.Quaternion = Quaternion.Slerp(MainVehicle.Quaternion, VehicleRotation, Math.Min(1.5f, (Environment.TickCount - LastUpdateReceived) / (float)Latency));
|
||||
|
||||
VehicleStopTime = Environment.TickCount;
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ namespace CoopClient
|
||||
|
||||
private int ArtificialLagCounter;
|
||||
public static EntitiesPlayer DebugSyncPed;
|
||||
public static bool FullDebugSync = true;
|
||||
public static int LastFullDebugSync = 0;
|
||||
public static bool UseDebug = false;
|
||||
|
||||
private void Debug()
|
||||
@ -242,7 +242,9 @@ namespace CoopClient
|
||||
return;
|
||||
}
|
||||
|
||||
if (FullDebugSync)
|
||||
bool fullSync = (Environment.TickCount - LastFullDebugSync) > 1500;
|
||||
|
||||
if (fullSync)
|
||||
{
|
||||
DebugSyncPed.ModelHash = player.Model.Hash;
|
||||
DebugSyncPed.Props = Util.GetPedProps(player);
|
||||
@ -254,7 +256,7 @@ namespace CoopClient
|
||||
|
||||
if (!player.IsInVehicle())
|
||||
{
|
||||
flags = Util.GetPedFlags(player, FullDebugSync, true);
|
||||
flags = Util.GetPedFlags(player, fullSync, true);
|
||||
|
||||
DebugSyncPed.Rotation = player.Rotation;
|
||||
DebugSyncPed.Velocity = player.Velocity;
|
||||
@ -281,7 +283,7 @@ namespace CoopClient
|
||||
Vehicle veh = player.CurrentVehicle;
|
||||
veh.Opacity = 75;
|
||||
|
||||
flags = Util.GetVehicleFlags(player, veh, FullDebugSync);
|
||||
flags = Util.GetVehicleFlags(player, veh, fullSync);
|
||||
|
||||
int secondaryColor;
|
||||
int primaryColor;
|
||||
@ -317,11 +319,17 @@ namespace CoopClient
|
||||
}
|
||||
}
|
||||
|
||||
DebugSyncPed.LastUpdateReceived = Environment.TickCount;
|
||||
DebugSyncPed.Latency = Environment.TickCount - ArtificialLagCounter;
|
||||
int currentTimestamp = Environment.TickCount;
|
||||
|
||||
FullDebugSync = !FullDebugSync;
|
||||
ArtificialLagCounter = Environment.TickCount;
|
||||
DebugSyncPed.LastUpdateReceived = currentTimestamp;
|
||||
DebugSyncPed.Latency = currentTimestamp - ArtificialLagCounter;
|
||||
|
||||
ArtificialLagCounter = currentTimestamp;
|
||||
|
||||
if (fullSync)
|
||||
{
|
||||
LastFullDebugSync = currentTimestamp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ namespace CoopClient.Menus.Sub
|
||||
}
|
||||
|
||||
Main.DebugSyncPed = null;
|
||||
Main.FullDebugSync = true;
|
||||
Main.LastFullDebugSync = 0;
|
||||
Main.Players.Remove("DebugKey");
|
||||
}
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ namespace CoopClient
|
||||
GTA.UI.Notification.Show("~r~Disconnected: " + reason);
|
||||
|
||||
// Reset all values
|
||||
FullPlayerSync = true;
|
||||
LastFullPlayerSync = 0;
|
||||
|
||||
Main.NpcsAllowed = false;
|
||||
|
||||
@ -502,14 +502,14 @@ namespace CoopClient
|
||||
#endregion
|
||||
|
||||
#region -- SEND --
|
||||
private bool FullPlayerSync = true;
|
||||
private int LastFullPlayerSync = 0;
|
||||
public void SendPlayerData()
|
||||
{
|
||||
Ped player = Game.Player.Character;
|
||||
|
||||
NetOutgoingMessage outgoingMessage = Client.CreateMessage();
|
||||
|
||||
if (FullPlayerSync)
|
||||
if ((Environment.TickCount - LastFullPlayerSync) > 1500)
|
||||
{
|
||||
if (!player.IsInVehicle())
|
||||
{
|
||||
@ -557,6 +557,8 @@ namespace CoopClient
|
||||
Flag = Util.GetVehicleFlags(player, player.CurrentVehicle, true)
|
||||
}.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
}
|
||||
|
||||
LastFullPlayerSync = Environment.TickCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -594,10 +596,8 @@ namespace CoopClient
|
||||
}
|
||||
}
|
||||
|
||||
Client.SendMessage(outgoingMessage, NetDeliveryMethod.UnreliableSequenced);
|
||||
Client.SendMessage(outgoingMessage, NetDeliveryMethod.ReliableOrdered);
|
||||
Client.FlushSendQueue();
|
||||
|
||||
FullPlayerSync = !FullPlayerSync;
|
||||
}
|
||||
|
||||
public void SendNpcData(Ped npc)
|
||||
@ -651,7 +651,7 @@ namespace CoopClient
|
||||
}.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
}
|
||||
|
||||
Client.SendMessage(outgoingMessage, NetDeliveryMethod.Unreliable);
|
||||
Client.SendMessage(outgoingMessage, NetDeliveryMethod.ReliableOrdered);
|
||||
Client.FlushSendQueue();
|
||||
}
|
||||
|
||||
|
@ -560,7 +560,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableOrdered, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.UnreliableSequenced, 0);
|
||||
}
|
||||
|
||||
private static void FullSyncPlayerVeh(FullSyncPlayerVehPacket packet)
|
||||
@ -575,7 +575,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableOrdered, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.UnreliableSequenced, 0);
|
||||
}
|
||||
|
||||
private static void LightSyncPlayer(LightSyncPlayerPacket packet)
|
||||
@ -590,7 +590,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableOrdered, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableSequenced, 0);
|
||||
}
|
||||
|
||||
private static void LightSyncPlayerVeh(LightSyncPlayerVehPacket packet)
|
||||
@ -605,7 +605,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableOrdered, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableSequenced, 0);
|
||||
}
|
||||
|
||||
// Send a message to targets or all players
|
||||
@ -637,7 +637,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableSequenced, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.UnreliableSequenced, 0);
|
||||
}
|
||||
|
||||
private static void FullSyncNpcVeh(NetConnection local, FullSyncNpcVehPacket packet)
|
||||
@ -650,7 +650,7 @@ namespace CoopServer
|
||||
|
||||
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
|
||||
packet.PacketToNetOutGoingMessage(outgoingMessage);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.ReliableSequenced, 0);
|
||||
MainNetServer.SendMessage(outgoingMessage, playerList, NetDeliveryMethod.UnreliableSequenced, 0);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
Reference in New Issue
Block a user