Änderung Busfahrer/Pilot Bugs fix siehe Forenbeitrag
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
@@ -66,7 +66,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
User user = player.GetUser();
|
||||
if (user.JailTime <= 0)
|
||||
{
|
||||
|
||||
|
||||
//MEDIC AUFTRAG
|
||||
MedicTask reviveTask = new MedicTask()
|
||||
{
|
||||
@@ -112,6 +112,35 @@ namespace ReallifeGamemode.Server.Events
|
||||
userDeath.SaveChanges();
|
||||
}
|
||||
}
|
||||
Job.JobBase job = Managers.JobManager.GetJob(player.GetUser().JobId ?? -1);
|
||||
if (job != null)
|
||||
{
|
||||
if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ)
|
||||
{
|
||||
if (player.Vehicle.GetData<bool>("timerJobVehicleRespawn") == true)
|
||||
{
|
||||
if (vehJ.GetJob().GetUsersInJob().Contains(player))
|
||||
{
|
||||
if (player.Vehicle != null)
|
||||
{
|
||||
player.Vehicle.ResetData("timerJobVehicleRespawn");
|
||||
ServerVehicle sVeh = Managers.VehicleManager.GetServerVehicleFromVehicle(player.Vehicle);
|
||||
ServerVehicleExtensions.Spawn(sVeh, player.Vehicle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Managers.JobManager jm = new Managers.JobManager();
|
||||
if (jm.playerTimersJobVehicleRespawn.ContainsKey(player))
|
||||
{
|
||||
jm.playerTimersJobVehicleRespawn[player].Stop();
|
||||
}
|
||||
player.ResetData("HatRoute");
|
||||
player.ResetData("PilotenBase");
|
||||
job.StopJob(player);
|
||||
//ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
|
||||
CheckPointHandle.DeleteCheckpoints(player);
|
||||
}
|
||||
|
||||
//JailTime.cs
|
||||
Jail.Check_PutBehindBars(player);
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Job;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Services;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Event Login (Login.cs)
|
||||
* @author VegaZ
|
||||
@@ -50,8 +55,37 @@ namespace ReallifeGamemode.Server.Events
|
||||
ChatService.BroadcastAdmin("!{#FFFF00}*** " + player.Name + " hat den Server verlassen", AdminLevel.MAPPING);
|
||||
}
|
||||
|
||||
//Vehicle LastVehicle = player.GetData<Vehicle>("LastVehicle");
|
||||
JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
|
||||
if (job != null) job.StopJob(player, true);
|
||||
if (job != null)
|
||||
{
|
||||
if (player.Vehicle.GetServerVehicle() is JobVehicle vehJ)
|
||||
{
|
||||
if (player.Vehicle.GetData<bool>("timerJobVehicleRespawn") == true)
|
||||
{
|
||||
if (vehJ.GetJob().GetUsersInJob().Contains(player))
|
||||
{
|
||||
if (player.Vehicle != null)
|
||||
{
|
||||
player.Vehicle.ResetData("timerJobVehicleRespawn");
|
||||
ServerVehicle sVeh = VehicleManager.GetServerVehicleFromVehicle(player.Vehicle);
|
||||
ServerVehicleExtensions.Spawn(sVeh, player.Vehicle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
JobManager jm = new JobManager();
|
||||
if (jm.playerTimersJobVehicleRespawn.ContainsKey(player))
|
||||
{
|
||||
jm.playerTimersJobVehicleRespawn[player].Stop();
|
||||
}
|
||||
player.ResetData("HatRoute");
|
||||
player.ResetData("PilotenBase");
|
||||
player.ResetData("JobVehicleFrei");
|
||||
job.StopJob(player);
|
||||
//ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
|
||||
CheckPointHandle.DeleteCheckpoints(player);
|
||||
}
|
||||
|
||||
using (var saveUser = new DatabaseContext())
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
@@ -55,17 +55,23 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
if ((VehicleHash)vehicle.Model == VehicleHash.Velum || (VehicleHash)vehicle.Model == VehicleHash.Velum2 && player.GetUser().PilotSkill < 300)
|
||||
{
|
||||
player.SendNotification("~r~Dein Skilllevel(2) ist nicht hoch genug!");
|
||||
player.SetData("JobVehicleFrei", true);
|
||||
player.StopAnimation();
|
||||
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skill Level(2)!");
|
||||
return;
|
||||
}
|
||||
if ((VehicleHash)vehicle.Model == VehicleHash.Coach && player.GetUser().BusSkill < 300)
|
||||
{
|
||||
player.SendNotification("~r~Dein Skilllevel(2) ist nicht hoch genug!");
|
||||
player.SetData("JobVehicleFrei", true);
|
||||
player.StopAnimation();
|
||||
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skill Level(2)!");
|
||||
return;
|
||||
}
|
||||
if ((VehicleHash)vehicle.Model == VehicleHash.Tourbus && player.GetUser().BusSkill < 800)
|
||||
{
|
||||
player.SendNotification("~r~Dein Skilllevel(3) ist nicht hoch genug!");
|
||||
player.SetData("JobVehicleFrei", true);
|
||||
player.StopAnimation();
|
||||
player.SendNotification("~y~[JOB] ~r~Du besitzt nicht das nötige Skill Level(3)!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
@@ -398,13 +398,14 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
if (job.GetUsersInJob().Contains(player))
|
||||
{
|
||||
user.SetData("PilotenBase", 1);
|
||||
player.SetData("PilotenBase", 1);
|
||||
jobb.StopJob(player);
|
||||
return;
|
||||
}
|
||||
if (!job.GetUsersInJob().Contains(player))
|
||||
{
|
||||
user.SetData("PilotenBase", 1);
|
||||
player.SetData("PilotenBase", 1);
|
||||
player.SendChatMessage($"Debug PilotenJob PilotenBase1: {player.GetData<int>("PilotenBase")}");
|
||||
jobb.StartJobEvent(player);
|
||||
return;
|
||||
}
|
||||
@@ -413,13 +414,14 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
if (job.GetUsersInJob().Contains(player))
|
||||
{
|
||||
user.SetData("PilotenBase", 2);
|
||||
player.SetData("PilotenBase", 2);
|
||||
jobb.StopJob(player);
|
||||
return;
|
||||
}
|
||||
if (!job.GetUsersInJob().Contains(player))
|
||||
{
|
||||
user.SetData("PilotenBase", 2);
|
||||
player.SetData("PilotenBase", 2);
|
||||
player.SendChatMessage($"Debug PilotenJob PilotenBase2: {player.GetData<int>("PilotenBase")}");
|
||||
jobb.StartJobEvent(player);
|
||||
return;
|
||||
}
|
||||
@@ -576,14 +578,21 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
if (jV.JobId == 3)
|
||||
{
|
||||
player.SendChatMessage("Debug Pilot 1");
|
||||
Job.PilotJob c = new Job.PilotJob();
|
||||
if ((VehicleHash)jV.Model == VehicleHash.Cuban800 && !state)
|
||||
{
|
||||
player.SendChatMessage("Debug Pilot 2");
|
||||
if (!player.HasData("HatRoute") || player.GetData<bool>("HatRoute") == false)
|
||||
{
|
||||
player.SendChatMessage("Debug Pilot 3");
|
||||
player.SetData("HatRoute", true);
|
||||
c.StartPilotRoute(player, "RouteStart");
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SendChatMessage("Debug Pilot 4");
|
||||
}
|
||||
}
|
||||
if ((VehicleHash)jV.Model == VehicleHash.Velum && !state || (VehicleHash)jV.Model == VehicleHash.Velum2 && !state)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using System.Linq;
|
||||
|
||||
/**
|
||||
@@ -15,7 +16,17 @@ namespace ReallifeGamemode.Server.Events
|
||||
[ServerEvent(Event.ResourceStop)]
|
||||
public void OnResourceStop()
|
||||
{
|
||||
var users = NAPI.Pools.GetAllPlayers();
|
||||
foreach (var player in NAPI.Pools.GetAllPlayers())
|
||||
{
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
player.GetUser(dbContext).PositionX = player.Position.X;
|
||||
player.GetUser(dbContext).PositionY = player.Position.Y;
|
||||
player.GetUser(dbContext).PositionZ = player.Position.Z;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
var users = NAPI.Pools.GetAllPlayers();
|
||||
|
||||
foreach (Player user in users)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user