vehicle test
This commit is contained in:
@@ -177,6 +177,9 @@ vehicleIndicators();
|
||||
import vehicleDoor from './vehiclesync/door';
|
||||
vehicleDoor();
|
||||
|
||||
import vehicleInWater from './vehiclesync/vehicleinwater';
|
||||
vehicleInWater()
|
||||
|
||||
import freeze from './util/freeze';
|
||||
freeze();
|
||||
|
||||
|
||||
11
ReallifeGamemode.Client/vehiclesync/vehicleinwater.ts
Normal file
11
ReallifeGamemode.Client/vehiclesync/vehicleinwater.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
export default function vehicleInWater() {
|
||||
|
||||
mp.events.add('CheckWaterCrash', (vehicle) => {
|
||||
|
||||
if (!vehicle.isInWater() && vehicle.getIsEngineRunning()) {
|
||||
return;
|
||||
}
|
||||
mp.gui.chat.push("Das Auto ist im Wasser");
|
||||
mp.events.callRemote("CheckWater", vehicle.id);
|
||||
});
|
||||
}
|
||||
@@ -43,6 +43,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
client.TriggerEvent("SERVER:setMarkerBehindVehicle", vehicle);
|
||||
}
|
||||
client.TriggerEvent("CheckWaterCrash", vehicle);
|
||||
}
|
||||
if (vehicle.GetServerVehicle() is SchoolVehicle vehS)
|
||||
{
|
||||
@@ -81,11 +82,9 @@ namespace ReallifeGamemode.Server.Events
|
||||
sV.Heading = vehicle.Heading;
|
||||
|
||||
dbContext.SaveChanges();
|
||||
client.TriggerEvent("CheckWaterCrash", vehicle);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
private static void Timer600000_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@ using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Core.API;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Log;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
@@ -1091,6 +1092,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle);
|
||||
|
||||
serverVehicle.Spawn(vehicle);
|
||||
vehicle.Repair();
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:setMarkerBehindVehicle")]
|
||||
@@ -1100,5 +1102,233 @@ namespace ReallifeGamemode.Server.Managers
|
||||
Vector3 vector3 = new Vector3(Convert.ToSingle((double)JsonConvert.DeserializeObject(jsonX)), Convert.ToSingle((double)JsonConvert.DeserializeObject(jsonY)), Convert.ToSingle((double)JsonConvert.DeserializeObject(jsonZ)));
|
||||
vehicle.AddMarkerBehind(vector3);
|
||||
}
|
||||
#region spawnpositions-vehicleInWater
|
||||
|
||||
public static List<VehicleRespawnPoint> VehicleRespawnPoints = new List<VehicleRespawnPoint> ();
|
||||
|
||||
VehicleRespawnPoint pos1 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-307.84, -909.04, 31.07),
|
||||
heading = 167.46f
|
||||
};
|
||||
VehicleRespawnPoint pos2 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-311.52, -908.40, 31.07),
|
||||
heading = 170.40f
|
||||
};
|
||||
VehicleRespawnPoint pos3 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-315.18, -907.68, 31.07),
|
||||
heading = 167.17f
|
||||
};
|
||||
VehicleRespawnPoint pos4 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-319.09, -906.68, 31.07),
|
||||
heading = 168.41f
|
||||
};
|
||||
VehicleRespawnPoint pos5 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-322.48, -905.95, 31.07),
|
||||
heading = 169.00f
|
||||
};
|
||||
VehicleRespawnPoint pos6 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-322.48, -905.95, 31.07),
|
||||
heading = 169.00f
|
||||
};
|
||||
VehicleRespawnPoint pos7 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-325.95, -905.17, 31.07),
|
||||
heading = 168.26f
|
||||
};
|
||||
VehicleRespawnPoint pos8 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-329.77, -904.33, 31.07),
|
||||
heading = 168.17f
|
||||
};
|
||||
VehicleRespawnPoint pos9 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-333.31, -903.61, 31.07),
|
||||
heading = 169.17f
|
||||
};
|
||||
VehicleRespawnPoint pos10 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-336.86, -902.80, 31.07),
|
||||
heading = 167.65f
|
||||
};
|
||||
VehicleRespawnPoint pos11 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-340.41, -902.12, 31.07),
|
||||
heading = 162.65f
|
||||
};
|
||||
VehicleRespawnPoint pos12 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-360.96, -893.13, 31.07),
|
||||
heading = -88.49f
|
||||
};
|
||||
VehicleRespawnPoint pos13 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-360.80, -896.62, 31.07),
|
||||
heading = -88.13f
|
||||
};
|
||||
VehicleRespawnPoint pos14 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-359.50, -944.78, 31.08),
|
||||
heading = -89.30f
|
||||
};
|
||||
VehicleRespawnPoint pos15 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-361.17, -948.58, 31.08),
|
||||
heading = -85.58f
|
||||
};
|
||||
VehicleRespawnPoint pos16 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-361.00, -952.27, 31.08),
|
||||
heading = -89.86f
|
||||
};
|
||||
VehicleRespawnPoint pos17 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-360.99, -955.92, 31.08),
|
||||
heading = -87.21f
|
||||
};
|
||||
VehicleRespawnPoint pos18 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-350.26, -972.01, 31.08),
|
||||
heading = -18.13f
|
||||
};
|
||||
VehicleRespawnPoint pos19 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-346.58, -973.31, 31.08),
|
||||
};
|
||||
VehicleRespawnPoint pos20 = new VehicleRespawnPoint()
|
||||
{
|
||||
Position = new Vector3(-343.31, -974.59, 31.08),
|
||||
heading = -20.22f
|
||||
};
|
||||
/*
|
||||
private readonly IReadOnlyCollection<Vector3> vector3s = new List<Vector3>
|
||||
{
|
||||
|
||||
new Vector3(-343.31, -974.59, 31.08), //Heading -20.22
|
||||
new Vector3(-339.67, -975.69, 31.08), //Heading -16.76
|
||||
new Vector3(-336.38, -976.95, 31.08), //Heading -19.30
|
||||
new Vector3(-332.50, -978.28, 31.08), //Heading -18.82
|
||||
new Vector3(-329.48, -979.39, 31.08), //Heading -26.22
|
||||
new Vector3(-325.96, -980.70, 31.08), //Heading -19.74
|
||||
new Vector3(-360.85, -900.53, 31.07), //Heading -88.64
|
||||
new Vector3(-360.71, -904.02, 31.07), //Heading -88.04
|
||||
new Vector3(-360.56, -907.78, 31.07), //Heading -88.41
|
||||
new Vector3(-360.41, -911.79, 31.08), //Heading -86.13
|
||||
new Vector3(-360.30, -915.26, 31.08), //Heading -134.60
|
||||
new Vector3(-360.12, -919.21, 31.08), //Heading -82.35
|
||||
new Vector3(-360.03, -922.63, 31.08), //Heading -89.27
|
||||
new Vector3(-359.78, -926.58, 31.08), //Heading -84.04
|
||||
new Vector3(-359.73, -929.89, 31.08), //Heading -88.67
|
||||
new Vector3(-359.66, -933.50, 31.08), //Heading -88.67
|
||||
new Vector3(-359.54, -937.61, 31.08), //Heading -86.68
|
||||
new Vector3(-359.48, -941.17, 31.08), //Heading -90.07
|
||||
new Vector3(-336.84, -952.54, 31.08), //Heading 68.74
|
||||
new Vector3(-355.55, -949.08, 31.08), //Heading 71.85
|
||||
new Vector3(-334.47, -945.95, 31.08), //Heading 70.89
|
||||
new Vector3(-333.11, -942.11, 31.08), //Heading 70.18
|
||||
new Vector3(-331.90, -938.98, 31.08), //Heading 68.07
|
||||
new Vector3(-330.65, -935.58, 31.08), //Heading 70.98
|
||||
new Vector3(-329.24, -931.58, 31.08), //Heading 73.91
|
||||
new Vector3(-328.12, -928.44, 31.08), //Heading 69.17
|
||||
new Vector3(-326.67, -924.60, 31.08), //Heading 46.89
|
||||
new Vector3(-322.36, -982.02, 31.08), //Heading -21.25059
|
||||
new Vector3(-318.92, -983.19, 31.08), //Heading -20.580233
|
||||
new Vector3(-315.42, -984.40, 31.08), //Heading -21.508415
|
||||
new Vector3(-311.97, 985.60, 31.080), //Heading -20.866705
|
||||
new Vector3(-308.43, -986.83, 31.08), //Heading -21.050055
|
||||
new Vector3(-305.03, -988.07, 31.08), //Heading -21.021408
|
||||
new Vector3(-301.48, -989.31, 31.08), //Heading -22.333475
|
||||
new Vector3(-298.04, -990.48, 31.08), //Heading -26.02332
|
||||
new Vector3(-342.30, -921.35, 31.0), //Heading-109.20534
|
||||
new Vector3(-343.37, -925.01, 31.08), //Heading -111.86385
|
||||
new Vector3(-344.68, -928.18, 31.08), //Heading -109.97883
|
||||
new Vector3(-345.78, -931.86, 31.08), //Heading -110.89556
|
||||
}.AsReadOnly();
|
||||
*/
|
||||
#endregion spawnpositions-vehicleInWater
|
||||
|
||||
[RemoteEvent("CheckWater")]
|
||||
public void CheckWater(Player player, int id)
|
||||
{
|
||||
#region add_VehicleRespawnPoints
|
||||
VehicleRespawnPoints.Add(pos1);
|
||||
VehicleRespawnPoints.Add(pos2);
|
||||
VehicleRespawnPoints.Add(pos3);
|
||||
VehicleRespawnPoints.Add(pos4);
|
||||
VehicleRespawnPoints.Add(pos5);
|
||||
VehicleRespawnPoints.Add(pos6);
|
||||
VehicleRespawnPoints.Add(pos7);
|
||||
VehicleRespawnPoints.Add(pos8);
|
||||
VehicleRespawnPoints.Add(pos9);
|
||||
VehicleRespawnPoints.Add(pos10);
|
||||
VehicleRespawnPoints.Add(pos11);
|
||||
VehicleRespawnPoints.Add(pos12);
|
||||
VehicleRespawnPoints.Add(pos13);
|
||||
VehicleRespawnPoints.Add(pos14);
|
||||
VehicleRespawnPoints.Add(pos15);
|
||||
VehicleRespawnPoints.Add(pos16);
|
||||
VehicleRespawnPoints.Add(pos17);
|
||||
VehicleRespawnPoints.Add(pos18);
|
||||
VehicleRespawnPoints.Add(pos19);
|
||||
VehicleRespawnPoints.Add(pos20);
|
||||
#endregion add_VehicleRespawnPoints
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
Vehicle vehicle = NAPI.Pools.GetAllVehicles().Find(v => v.Id == id);
|
||||
ServerVehicle sV = vehicle.GetServerVehicle(dbContext);
|
||||
|
||||
if (sV is UserVehicle)
|
||||
{
|
||||
|
||||
foreach (VehicleRespawnPoint point in VehicleRespawnPoints)
|
||||
{
|
||||
if (NAPI.Pools.GetAllVehicles().Any(v => v.Position.DistanceTo(point.Position) < 1))
|
||||
{
|
||||
ChatService.Broadcast("Fahrzeug zu nah");
|
||||
}
|
||||
else
|
||||
{
|
||||
sV.PositionX = point.Position.X;
|
||||
sV.PositionY = point.Position.Y;
|
||||
sV.PositionZ = point.Position.Z;
|
||||
sV.Heading = point.heading;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
/* Vector3 pos = new Vector3(-344.02, -928.72, 31.08);
|
||||
|
||||
sV.PositionX = pos.X;
|
||||
sV.PositionY = pos.Y;
|
||||
sV.PositionZ = pos.Z;
|
||||
sV.Heading = -109;
|
||||
|
||||
dbContext.SaveChanges(); */
|
||||
vehicle.Delete();
|
||||
Vehicle newVeh = sV.Spawn(vehicle);
|
||||
newVeh.Repair();
|
||||
newVeh.Rotation = new Vector3(0, 0, sV.Heading);
|
||||
}
|
||||
|
||||
if (sV is FactionVehicle || sV is GroupVehicle)
|
||||
{
|
||||
vehicle.Delete();
|
||||
Vehicle newVeh = sV.Spawn(vehicle);
|
||||
newVeh.Repair();
|
||||
newVeh.Rotation = new Vector3(0, 0, sV.Heading);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public class VehicleRespawnPoint
|
||||
{
|
||||
public Vector3 Position { get; set; }
|
||||
public float heading { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user