bug fixes

This commit is contained in:
EntenKoeniq
2021-12-10 15:55:45 +01:00
parent 218e60157e
commit d244cd393a
6 changed files with 84 additions and 78 deletions

View File

@ -166,7 +166,7 @@ namespace CoopClient
else if (!Game.Player.Character.IsInVehicle()) else if (!Game.Player.Character.IsInVehicle())
{ {
Vehicle veh = World.GetNearbyVehicles(Game.Player.Character, 5f).FirstOrDefault(); Vehicle veh = World.GetNearbyVehicles(Game.Player.Character, 5f).FirstOrDefault();
if (veh != default) if (veh != null)
{ {
for (int i = 0; i < veh.PassengerCapacity; i++) for (int i = 0; i < veh.PassengerCapacity; i++)
{ {

View File

@ -434,6 +434,8 @@ namespace CoopClient
{ {
List<InputArgument> arguments = new List<InputArgument>(); List<InputArgument> arguments = new List<InputArgument>();
if (packet.Args != null && packet.Args.Count > 0)
{
packet.Args.ForEach(arg => packet.Args.ForEach(arg =>
{ {
Type typeOf = arg.GetType(); Type typeOf = arg.GetType();
@ -466,6 +468,7 @@ namespace CoopClient
return; return;
} }
}); });
}
Function.Call((Hash)packet.Hash, arguments.ToArray()); Function.Call((Hash)packet.Hash, arguments.ToArray());
} }
@ -475,9 +478,12 @@ namespace CoopClient
List<InputArgument> arguments = new List<InputArgument>(); List<InputArgument> arguments = new List<InputArgument>();
Type typeOf = null; Type typeOf = null;
if (packet.Args != null && packet.Args.Count > 0)
{
packet.Args.ForEach(arg => packet.Args.ForEach(arg =>
{ {
typeOf = arg.GetType(); typeOf = arg.GetType();
if (typeOf == typeof(IntArgument)) if (typeOf == typeof(IntArgument))
{ {
arguments.Add(((IntArgument)arg).Data); arguments.Add(((IntArgument)arg).Data);
@ -506,6 +512,7 @@ namespace CoopClient
return; return;
} }
}); });
}
NativeArgument result = null; NativeArgument result = null;

View File

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>
<AssemblyVersion>1.4.3.0001</AssemblyVersion> <AssemblyVersion>1.4.6.0001</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion> <FileVersion>1.0.0.0</FileVersion>
<RepositoryUrl>https://github.com/GTACOOP-R/GTACoop-R</RepositoryUrl> <RepositoryUrl>https://github.com/GTACOOP-R/GTACoop-R</RepositoryUrl>
</PropertyGroup> </PropertyGroup>

View File

@ -121,7 +121,7 @@ namespace CoopServer
if (response == null) if (response == null)
{ {
Logging.Error("MasterServer: Something went wrong!"); Logging.Error("MasterServer: Something went wrong!");
continue; break;
} }
responseContent = await response.Content.ReadAsStringAsync(); responseContent = await response.Content.ReadAsStringAsync();
@ -129,7 +129,7 @@ namespace CoopServer
catch (Exception ex) catch (Exception ex)
{ {
Logging.Error(ex.Message); Logging.Error(ex.Message);
continue; break;
} }
if (response.StatusCode != System.Net.HttpStatusCode.OK) if (response.StatusCode != System.Net.HttpStatusCode.OK)
@ -361,7 +361,7 @@ namespace CoopServer
NativeResponsePacket responsePacket = (NativeResponsePacket)packet; NativeResponsePacket responsePacket = (NativeResponsePacket)packet;
Client client = Clients.FirstOrDefault(x => x.ID == message.SenderConnection.RemoteUniqueIdentifier); Client client = Clients.FirstOrDefault(x => x.ID == message.SenderConnection.RemoteUniqueIdentifier);
if (client != default(Client)) if (client != null)
{ {
if (client.Callbacks.ContainsKey(responsePacket.ID)) if (client.Callbacks.ContainsKey(responsePacket.ID))
{ {
@ -419,7 +419,7 @@ namespace CoopServer
if (modPacket.Target != 0) if (modPacket.Target != 0)
{ {
NetConnection target = MainNetServer.Connections.FirstOrDefault(x => x.RemoteUniqueIdentifier == modPacket.Target); NetConnection target = MainNetServer.Connections.FirstOrDefault(x => x.RemoteUniqueIdentifier == modPacket.Target);
if (target.Equals(default(Client))) if (target == null)
{ {
Logging.Error($"[ModPacket] target \"{modPacket.Target}\" not found!"); Logging.Error($"[ModPacket] target \"{modPacket.Target}\" not found!");
} }
@ -454,7 +454,7 @@ namespace CoopServer
case NetIncomingMessageType.ConnectionLatencyUpdated: case NetIncomingMessageType.ConnectionLatencyUpdated:
{ {
Client client = Clients.FirstOrDefault(x => x.ID == message.SenderConnection.RemoteUniqueIdentifier); Client client = Clients.FirstOrDefault(x => x.ID == message.SenderConnection.RemoteUniqueIdentifier);
if (!client.Equals(default(Client))) if (client != null)
{ {
client.Latency = message.ReadFloat(); client.Latency = message.ReadFloat();
} }
@ -550,12 +550,12 @@ namespace CoopServer
return; return;
} }
if (Clients.Any(x => x.Player.SocialClubName == packet.SocialClubName)) if (Clients.Any(x => x.Player.SocialClubName.ToLower() == packet.SocialClubName.ToLower()))
{ {
local.Deny("The name of the Social Club is already taken!"); local.Deny("The name of the Social Club is already taken!");
return; return;
} }
else if (Clients.Any(x => x.Player.Username == packet.Username)) else if (Clients.Any(x => x.Player.Username.ToLower() == packet.Username.ToLower()))
{ {
local.Deny("Username is already taken!"); local.Deny("Username is already taken!");
return; return;
@ -606,7 +606,7 @@ namespace CoopServer
private static void SendPlayerConnectPacket(NetConnection local, PlayerConnectPacket packet) private static void SendPlayerConnectPacket(NetConnection local, PlayerConnectPacket packet)
{ {
Client localClient = Clients.FirstOrDefault(x => x.ID == packet.ID); Client localClient = Clients.FirstOrDefault(x => x.ID == packet.ID);
if (localClient.Equals(default(Client))) if (localClient == null)
{ {
local.Disconnect("No data found!"); local.Disconnect("No data found!");
return; return;
@ -621,7 +621,7 @@ namespace CoopServer
long targetPlayerID = targetPlayer.RemoteUniqueIdentifier; long targetPlayerID = targetPlayer.RemoteUniqueIdentifier;
Client targetClient = Clients.FirstOrDefault(x => x.ID == targetPlayerID); Client targetClient = Clients.FirstOrDefault(x => x.ID == targetPlayerID);
if (!targetClient.Equals(default(Client))) if (targetClient == null)
{ {
NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage(); NetOutgoingMessage outgoingMessage = MainNetServer.CreateMessage();
new PlayerConnectPacket() new PlayerConnectPacket()
@ -675,7 +675,7 @@ namespace CoopServer
} }
Client localClient = Clients.FirstOrDefault(x => x.ID == clientID); Client localClient = Clients.FirstOrDefault(x => x.ID == clientID);
if (localClient.Equals(default(Client))) if (localClient == null)
{ {
return; return;
} }
@ -695,7 +695,7 @@ namespace CoopServer
private static void FullSyncPlayer(FullSyncPlayerPacket packet) private static void FullSyncPlayer(FullSyncPlayerPacket packet)
{ {
Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID); Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID);
if (tmpClient.Equals(default(Client))) if (tmpClient == null)
{ {
NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier); NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier);
if (localConn != null) if (localConn != null)
@ -740,7 +740,7 @@ namespace CoopServer
private static void FullSyncPlayerVeh(FullSyncPlayerVehPacket packet) private static void FullSyncPlayerVeh(FullSyncPlayerVehPacket packet)
{ {
Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID); Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID);
if (tmpClient.Equals(default(Client))) if (tmpClient == null)
{ {
NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier); NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier);
if (localConn != null) if (localConn != null)
@ -785,7 +785,7 @@ namespace CoopServer
private static void LightSyncPlayer(LightSyncPlayerPacket packet) private static void LightSyncPlayer(LightSyncPlayerPacket packet)
{ {
Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID); Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID);
if (tmpClient.Equals(default(Client))) if (tmpClient == null)
{ {
NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier); NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier);
if (localConn != null) if (localConn != null)
@ -830,7 +830,7 @@ namespace CoopServer
private static void LightSyncPlayerVeh(LightSyncPlayerVehPacket packet) private static void LightSyncPlayerVeh(LightSyncPlayerVehPacket packet)
{ {
Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID); Client tmpClient = Clients.FirstOrDefault(x => x.ID == packet.Extra.ID);
if (tmpClient.Equals(default(Client))) if (tmpClient == null)
{ {
NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier); NetConnection localConn = MainNetServer.Connections.Find(x => packet.Extra.ID == x.RemoteUniqueIdentifier);
if (localConn != null) if (localConn != null)

View File

@ -281,8 +281,7 @@ namespace CoopServer
public static Client GetClientByUsername(string username) public static Client GetClientByUsername(string username)
{ {
Client client = Server.Clients.FirstOrDefault(x => x.Player.Username == username); return Server.Clients.FirstOrDefault(x => x.Player.Username.ToLower() == username.ToLower());
return client.Equals(default(Client)) ? null : client;
} }
public static void SendChatMessageToAll(string message, string username = "Server") public static void SendChatMessageToAll(string message, string username = "Server")

View File

@ -50,7 +50,7 @@ namespace CoopServer
public static NetConnection GetConnectionByUsername(string username) public static NetConnection GetConnectionByUsername(string username)
{ {
Client client = Server.Clients.FirstOrDefault(x => x.Player.Username == username); Client client = Server.Clients.FirstOrDefault(x => x.Player.Username.ToLower() == username.ToLower());
if (client.Equals(default(Client))) if (client.Equals(default(Client)))
{ {
return null; return null;