OverHaul Bus and Pilot TEST

This commit is contained in:
2021-04-10 01:32:12 +02:00
parent cb020aa007
commit b51756a045
14 changed files with 836 additions and 1336 deletions

View File

@@ -233,60 +233,58 @@ namespace ReallifeGamemode.Server.Events
if (nearestBehindVehiclePoint != null)
{
if (player.HasAttachment("ammobox")) return;
using (var dbContext = new DatabaseContext())
using var dbContext = new DatabaseContext();
List<VehicleItem> vehicleItems = dbContext.VehicleItems.ToList().Where(f => f.GetVehicle().GetVehicle() == nearestBehindVehiclePoint.vehicle && InventoryManager.GetItemById(f.ItemId) is IWeaponDealItem).ToList();
if (vehicleItems.Count == 0)
{
List<VehicleItem> vehicleItems = dbContext.VehicleItems.ToList().Where(f => f.GetVehicle().GetVehicle() == nearestBehindVehiclePoint.vehicle && InventoryManager.GetItemById(f.ItemId) is IWeaponDealItem).ToList();
if (vehicleItems.Count == 0)
GTANetworkAPI.Vehicle vehicle = nearestBehindVehiclePoint.vehicle;
if (vehicle.HasAttachment("weapondeal"))
{
GTANetworkAPI.Vehicle vehicle = nearestBehindVehiclePoint.vehicle;
if (vehicle.HasAttachment("weapondeal"))
{
vehicle.AddAttachment("weapondeal", true);
vehicle.AddAttachment("weapondeal1", true);
vehicle.AddAttachment("weapondeal2", true);
}
if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
{
vehicle.ResetData("WeaponDealLoad");
vehicle.ResetData("weaponDeal");
vehicle.ResetData("dealPoint");
}
nearestBehindVehiclePoint.vehicle.RemoveMarkerBehind();
return;
vehicle.AddAttachment("weapondeal", true);
vehicle.AddAttachment("weapondeal1", true);
vehicle.AddAttachment("weapondeal2", true);
}
foreach (var v in vehicleItems)
if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
{
int itemToAdd = 0;
for (int i = 1; i <= v.Amount; i++)
vehicle.ResetData("WeaponDealLoad");
vehicle.ResetData("weaponDeal");
vehicle.ResetData("dealPoint");
}
nearestBehindVehiclePoint.vehicle.RemoveMarkerBehind();
return;
}
foreach (var v in vehicleItems)
{
int itemToAdd = 0;
for (int i = 1; i <= v.Amount; i++)
{
if (InventoryManager.GetUserInventoryWeight(player) + (i * InventoryManager.GetItemById(v.ItemId).Gewicht) > 40000)
{
if (InventoryManager.GetUserInventoryWeight(player) + (i * InventoryManager.GetItemById(v.ItemId).Gewicht) > 40000)
{
break;
}
else
{
itemToAdd = i;
}
}
if (itemToAdd == 0)
break;
v.Amount -= itemToAdd;
if (v.Amount <= 0)
{
itemToAdd += v.Amount;
dbContext.VehicleItems.Remove(v);
}
InventoryManager.AddItemToInventory(player, v.ItemId, itemToAdd);
nearestBehindVehiclePoint.usePoint(player);
dbContext.SaveChanges();
return;
else
{
itemToAdd = i;
}
}
if (itemToAdd == 0)
break;
v.Amount -= itemToAdd;
if (v.Amount <= 0)
{
itemToAdd += v.Amount;
dbContext.VehicleItems.Remove(v);
}
InventoryManager.AddItemToInventory(player, v.ItemId, itemToAdd);
nearestBehindVehiclePoint.usePoint(player);
dbContext.SaveChanges();
return;
}
}
if (nearestDuty != null)// Duty Point
@@ -553,57 +551,31 @@ namespace ReallifeGamemode.Server.Events
{
if (player.Vehicle != null) return;
Job.JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
JobManager jobb = new JobManager();
if (nearestJobPoint.jobId != 3 && nearestJobPoint.jobId == player.GetUser().JobId)
JobManager jobManager = new JobManager();
if (nearestJobPoint.jobId == player.GetUser().JobId)
{
if (job.GetUsersInJob().Contains(player))
{
jobb.StopJob(player);
jobManager.StopJob(player);
return;
}
if (!job.GetUsersInJob().Contains(player))
{
jobb.StartJobEvent(player);
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Fahrzeuge und starte den Motor mit der Taste 'N'.");
return;
}
}
else if (nearestJobPoint.jobId == 3 && player.GetUser().JobId == 3)
{
if (nearestJobPoint.Skill < 300 && player.GetUser().PilotSkill >= 0)
{
if (job.GetUsersInJob().Contains(player))
if (player.GetUser().JobId == 3)
{
player.SetData("PilotenBase", 1);
jobb.StopJob(player);
return;
if (nearestJobPoint.Skill > user.PilotSkill)
{
player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig.");
return;
}
jobManager.StartJobEvent(player);
job.StartJob(player);
JobManager.GetJob<PilotJob>().StartPilotRoute(player, nearestJobPoint.Skill);
}
if (!job.GetUsersInJob().Contains(player))
else
{
player.SetData("PilotenBase", 1);
jobb.StartJobEvent(player);
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'.");
return;
jobManager.StartJobEvent(player);
}
}
if (nearestJobPoint.Skill >= 300 && player.GetUser().PilotSkill >= 300)
{
if (job.GetUsersInJob().Contains(player))
{
player.SetData("PilotenBase", 2);
jobb.StopJob(player);
return;
}
if (!job.GetUsersInJob().Contains(player))
{
player.SetData("PilotenBase", 2);
jobb.StartJobEvent(player);
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'.");
return;
}
}
{
player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig.");
return;
}
}
@@ -850,88 +822,6 @@ namespace ReallifeGamemode.Server.Events
player.SendNotification("~y~[JOB] ~w~Du musst den Job vorher starten!");
return;
}
else
{
/*if(player.IsAdminDuty())
{
player.SendChatMessage("");
}*/
if (jV.JobId == 3 && player.GetUser().JobId == 3 && jV.GetJob().GetUsersInJob().Contains(player))
{
Job.PilotJob c = new Job.PilotJob();
if ((VehicleHash)jV.Model == VehicleHash.Cuban800 && !state)
{
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
{
player.SetData("HatRoute", true);
c.StartPilotRoute(player, "RouteStart");
}
}
if ((VehicleHash)jV.Model == VehicleHash.Velum && !state || (VehicleHash)jV.Model == VehicleHash.Velum2 && !state)
{
if (player.GetUser().PilotSkill >= 300)
{
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
{
player.SetData("HatRoute", true);
c.StartPilotRoute(player, "RouteStart");
}
}
else
{
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skilllevel(2) ");
return;
}
}
}
if (jV.JobId == 4 && player.GetUser().JobId == 4 && jV.GetJob().GetUsersInJob().Contains(player))
{
Job.BusDriverJob c = new Job.BusDriverJob();
if ((VehicleHash)jV.Model == VehicleHash.Bus && !state)
{
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
{
player.SetData("HatRoute", true);
c.StartBusRoute(player, "RouteStart");
player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 45);
}
}
if ((VehicleHash)jV.Model == VehicleHash.Coach && !state)
{
if (player.GetUser().BusSkill >= 300)
{
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
{
player.SetData("HatRoute", true);
c.StartBusRoute(player, "RouteStart");
player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 45);
}
}
else
{
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skilllevel(2) ");
return;
}
}
if ((VehicleHash)jV.Model == VehicleHash.Tourbus && !state)
{
if (player.GetUser().BusSkill >= 800)
{
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
{
player.SetData("HatRoute", true);
c.StartBusRoute(player, "RouteStart");
player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 45);
}
}
else
{
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skilllevel(3) ");
return;
}
}
}
}
}
}
else if (sV is UserVehicle uV)