Bus and Pilot Overhaul

This commit is contained in:
2021-04-10 23:23:46 +02:00
parent 62b3f7ced9
commit 167859817e
5 changed files with 134 additions and 221 deletions

View File

@@ -152,6 +152,8 @@ namespace ReallifeGamemode.Server.Job
if (!playerVehiclePair.ContainsKey(player))
return;
CheckPointHandle.DeleteCheckpoints(player);
playerVehiclePair[player].Delete();
playerVehiclePair.Remove(player);
}
@@ -238,32 +240,6 @@ namespace ReallifeGamemode.Server.Job
CheckPointHandle.StartCheckPointRoute(player, selectedRoute, 0, CHECKPOINT_MARKER_ID, 40, 10, true, "PILOT:InCheckpoint"); //6, 23, 25, 26, 27, 28
}
public static void payWage(Player jobber, int wage)
{
using (var dbContext = new DatabaseContext())
{
if (jobber.VehicleSeat == 0)
{
jobber.GetUser(dbContext).Wage += wage;
//jobber.SendNotification($"~y~[JOB] ~g~+{wage}$");
jobber.GetUser(dbContext).PilotSkill++;
dbContext.SaveChanges();
if (jobber.GetUser(dbContext).PilotSkill == 300)
{
jobber.SendChatMessage($"~y~Job: ~s~Du hast nun ~g~Skill-Level 2 ~w~erreicht!");
jobber.SendChatMessage($"~y~Job: ~s~Du kannst jetzt auch mit dem Velum Flugzeug (LS Airport) fliegen!");
}
}
else
{
JobBase job = JobManager.GetJob(jobber.GetUser().JobId ?? -1);
job.StopJob(jobber);
CheckPointHandle.DeleteCheckpoints(jobber);
ChatService.SendMessage(jobber, $"~y~Job: ~s~Du hast deinen Job ~o~{job.Name}~s~ beendet.");
}
}
}
public string getPlayerRouteType(Player player)
{
if (!playerRouteCurrent.ContainsKey(player.Name))
@@ -271,9 +247,9 @@ namespace ReallifeGamemode.Server.Job
List<Vector3> selectedRoute = playerRouteCurrent[player.Name];
if (ROUTE_BEGINNER.Values.Where(v => v.Equals(selectedRoute)) != null)
if (ROUTE_BEGINNER.Values.Where(v => v.VectorEquals(selectedRoute)).Count() != 0)
return BEGINNER;
else if (ROUTE_INTERMEDIATE.Values.Where(v => v.Equals(selectedRoute)) != null)
else if (ROUTE_INTERMEDIATE.Values.Where(v => v.VectorEquals(selectedRoute)).Count() != 0)
return INTERMEDIATE;
return "none";
@@ -314,8 +290,8 @@ namespace ReallifeGamemode.Server.Job
PlayerTimer playerTimer = new PlayerTimer(player, playerVehiclePair[player], 30000);
playerTimer.Elapsed += JobTimerElapsed;
JobManager.playerTimersJobVehicleRespawn[player] = playerTimer;
player.SendChatMessage("~y~[JOB] ~w~Du hast das Fahrzeug verlassen,");
player.SendChatMessage("~y~[JOB] ~w~Bist du nicht in 30 Sekunden zurück, ~r~wird der Job beendet!");
//player.SendChatMessage("~y~[JOB] ~w~Du hast das Fahrzeug verlassen,");
//player.SendChatMessage("~y~[JOB] ~w~Bist du nicht in 30 Sekunden zurück, ~r~wird der Job beendet!");
}
private void JobTimerElapsed(Player player, Vehicle vehicle)
@@ -365,8 +341,8 @@ namespace ReallifeGamemode.Server.Job
user.PilotSkill++;
if (user.PilotSkill == BusDriverJob.SKILL_INTERMEDIATE)
{
player.SendChatMessage($"~y~[Job]: ~w~Du hast nun die Route ~g~{BusDriverJob.INTERMEDIATE} ~w~freigeschaltet!");
player.SendChatMessage($"~y~[Job]: ~w~Du kannst jetzt auch mit dem Coach fahren!");
player.SendChatMessage($"~y~[JOB]: ~w~Du hast nun die Route ~g~{BusDriverJob.INTERMEDIATE} ~w~freigeschaltet!");
player.SendChatMessage($"~y~[JOB]: ~w~Du kannst jetzt auch mit dem Velum fliegen!");
}
dbContext.SaveChanges();