vlt fix kfz id bug??

This commit is contained in:
hydrant
2021-04-22 01:15:38 +02:00
parent 57e7455abf
commit 3546ba7f99
6 changed files with 42 additions and 27 deletions

View File

@@ -1,8 +1,10 @@
using GTANetworkAPI;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Log;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
@@ -777,6 +779,8 @@ namespace ReallifeGamemode.Server.Managers
private static readonly Dictionary<NetHandle, Vector3> lastPositions = new Dictionary<NetHandle, Vector3>();
private static DateTime lastSave = DateTime.UtcNow;
private static ILogger<VehicleManager> logger = LogManager.GetLogger<VehicleManager>();
public static void CheckEnabledMods()
{
foreach (var name in _enabledMods)
@@ -851,11 +855,13 @@ namespace ReallifeGamemode.Server.Managers
{
if (_serverVehicles.ContainsKey(serverVehicle.Id))
{
return;
logger.LogCritical("Server Vehicle {Id} already has a spawned vehicle", serverVehicle.Id);
_serverVehicles[serverVehicle.Id].Entity<Vehicle>().Delete();
}
if (_serverVehicles.ContainsValue(vehicle.Handle))
{
logger.LogCritical("Vehicle handle {Handle} already belongs");
return;
}
@@ -870,7 +876,7 @@ namespace ReallifeGamemode.Server.Managers
_serverVehicles.Remove(sVeh.Id);
}
veh.Delete();
veh?.Delete();
}
public static Vehicle GetVehicleFromHandle(NetHandle handle)
@@ -941,20 +947,15 @@ namespace ReallifeGamemode.Server.Managers
public static void VehicleManagerVehicleDeath(Vehicle vehicle)
{
ServerVehicle serverVehicle = GetServerVehicleFromVehicle(vehicle);
NAPI.Util.ConsoleOutput("VehicleDeat: Debug 1");
if (serverVehicle == null)
{
NAPI.Util.ConsoleOutput("VehicleDeath: Debug 2");
vehicle.Delete();
return;
}
InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle);
NAPI.Util.ConsoleOutput("VehicleDeath: Debug 3");
Vehicle newVeh = serverVehicle.Spawn(vehicle);
newVeh.Repair();
newVeh.Rotation = new Vector3(0, 0, serverVehicle.Heading);
serverVehicle.Spawn(vehicle);
}
[RemoteEvent("CLIENT:setMarkerBehindVehicle")]