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