Änderung Pilot,Busfahrer und und und

This commit is contained in:
Mac_Slash
2020-05-04 22:21:07 +02:00
parent 643a9c6775
commit b61c57a2d1
8 changed files with 50 additions and 107 deletions

View File

@@ -83,7 +83,7 @@ export default function checkpointHandle(globalData: IGlobalData) {
function myTimer() {
if (useVehicle == true) {
if (Player.isInVehicle && Leaving == false) {
if (Player.vehicle) {
let dist = mp.game.gameplay.getDistanceBetweenCoords(Player.vehicle.position.x, Player.vehicle.position.y, 0, posCp.x, posCp.y, 0, false);
//mp.gui.chat.push("delay: " + delay + " | delayCounter: " + delayCounter);
@@ -121,7 +121,7 @@ export default function checkpointHandle(globalData: IGlobalData) {
} else if (dist > 2) {
inCheckpoint = false;
delayCounter = 0;
mp.gui.chat.push("Läuft.");
//mp.gui.chat.push("Läuft.");
}
}
else {

View File

@@ -129,10 +129,9 @@ namespace ReallifeGamemode.Server.Events
}
//}
}
Managers.JobManager jm = new Managers.JobManager();
if (jm.playerTimersJobVehicleRespawn.ContainsKey(player))
if (Managers.JobManager.playerTimersJobVehicleRespawn.ContainsKey(player))
{
jm.playerTimersJobVehicleRespawn[player].Stop();
Managers.JobManager.playerTimersJobVehicleRespawn[player].Stop();
}
player.ResetData("PilotenBase");
job.StopJob(player);

View File

@@ -72,10 +72,9 @@ namespace ReallifeGamemode.Server.Events
}
//}
}
JobManager jm = new JobManager();
if (jm.playerTimersJobVehicleRespawn.ContainsKey(player))
if (Managers.JobManager.playerTimersJobVehicleRespawn.ContainsKey(player))
{
jm.playerTimersJobVehicleRespawn[player].Stop();
Managers.JobManager.playerTimersJobVehicleRespawn[player].Stop();
}
player.ResetData("PilotenBase");
job.StopJob(player);

View File

@@ -377,7 +377,7 @@ namespace ReallifeGamemode.Server.Events
if (nearestJobPoint != null)
{
if (player.Vehicle != null) return;
Job.JobBase job = JobManager.GetJob(player.GetUser().JobId.Value);
Job.JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
JobManager jobb = new JobManager();
if (nearestJobPoint.jobId != 3 && nearestJobPoint.jobId == player.GetUser().JobId)
{
@@ -405,7 +405,6 @@ namespace ReallifeGamemode.Server.Events
if (!job.GetUsersInJob().Contains(player))
{
player.SetData("PilotenBase", 1);
player.SendChatMessage($"Debug PilotenJob PilotenBase1: {player.GetData<int>("PilotenBase")}");
jobb.StartJobEvent(player);
return;
}
@@ -421,7 +420,6 @@ namespace ReallifeGamemode.Server.Events
if (!job.GetUsersInJob().Contains(player))
{
player.SetData("PilotenBase", 2);
player.SendChatMessage($"Debug PilotenJob PilotenBase2: {player.GetData<int>("PilotenBase")}");
jobb.StartJobEvent(player);
return;
}
@@ -569,30 +567,27 @@ namespace ReallifeGamemode.Server.Events
}
else
{
if (!jV.GetJob().GetUsersInJob().Contains(player))
if (!jV.GetJob().GetUsersInJob().Contains(player) && !player.IsAdminDuty())
{
player.SendNotification("~y~[JOB] ~w~Du musst den Job vorher starten!");
return;
}
else
{
if (jV.JobId == 3)
/*if(player.IsAdminDuty())
{
player.SendChatMessage("");
}*/
if (jV.JobId == 3 && player.GetUser().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)
{
@@ -611,7 +606,7 @@ namespace ReallifeGamemode.Server.Events
}
}
}
if (jV.JobId == 4)
if (jV.JobId == 4 && player.GetUser().JobId == 4)
{
Job.BusDriverJob c = new Job.BusDriverJob();
if ((VehicleHash)jV.Model == VehicleHash.Bus && !state)

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using GTANetworkAPI;
using ReallifeGamemode.Server.Util;
@@ -79,22 +79,6 @@ namespace ReallifeGamemode.Server.Job
{
new Vector3(-562.68, -2203.85, 5.5),
new Vector3(-889.0892, -2190.34, 8.100273),
new Vector3(-695.8978, -1197.1, 10.07723),
new Vector3(-1025.791, -788.746, 16.95118),
new Vector3(-1411.543, -569.5651, 29.83663),
new Vector3(-1863.717, -355.0997, 48.79111),
new Vector3(-2171.938, -299.1247, 12.24473),
new Vector3(-2973.008, 506.4566, 14.99877),
new Vector3(-2738.997, 2239.153, 21.54851),
new Vector3(-2448.411, 3736.997, 16.20646),
new Vector3(-2206.853, 4257.991, 47.13944),
new Vector3(-1545.054, 4934.076, 61.29264),
new Vector3(-152.66, 6209.62, 32.03),
new Vector3(2707.136, 3309.894, 55.37453),
new Vector3(2554.981, 292.5191, 108.036),
new Vector3(-740.3124, -1645.125, 26.10983),
new Vector3(-756.3812, -2295.088, 12.43381),
}.AsReadOnly();
public BusDriverJob()
@@ -184,34 +168,25 @@ namespace ReallifeGamemode.Server.Job
{
if (type == "RouteStart")
{
player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 45);
if ((VehicleHash)veh.Model == VehicleHash.Bus)
{
Random rnd = new Random();
int rroute = rnd.Next(1, 3);
switch (rroute)
{
case 0:
{
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Case0");
break;
}
case 1:
{
CheckPointHandle.StartCheckPointRoute(player, Route1, 5000, 1, 7, 3, true, "busDriverJob");
CheckPointHandle.StartCheckPointRoute(player, Route1, 4000, 1, 7, 3, true, "busDriverJob");
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 1");
break;
}
case 2:
{
CheckPointHandle.StartCheckPointRoute(player, Route2, 5000, 1, 7, 3, true, "busDriverJob");
CheckPointHandle.StartCheckPointRoute(player, Route2, 4000, 1, 7, 3, true, "busDriverJob");
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 2");
break;
}
case 3:
{
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Case0");
break;
}
}
player.TriggerEvent("CLIENT:SetDoorOpen", 0, false, false);
player.TriggerEvent("CLIENT:SetDoorOpen", 1, false, false);
@@ -230,13 +205,13 @@ namespace ReallifeGamemode.Server.Job
{
case 1:
{
CheckPointHandle.StartCheckPointRoute(player, Route3, 5000, 1, 7, 3, true, "busDriverJob");
CheckPointHandle.StartCheckPointRoute(player, Route3, 4000, 1, 7, 3, true, "busDriverJob");
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 3");
break;
}
case 2:
{
CheckPointHandle.StartCheckPointRoute(player, Route4, 5000, 1, 7, 3, true, "busDriverJob");
CheckPointHandle.StartCheckPointRoute(player, Route4, 4000, 1, 7, 3, true, "busDriverJob");
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 4");
break;
}
@@ -246,7 +221,7 @@ namespace ReallifeGamemode.Server.Job
}
if ((VehicleHash)veh.Model == VehicleHash.Tourbus)
{
CheckPointHandle.StartCheckPointRoute(player, Route5, 5000, 1, 7, 3, true, "busDriverJob");
CheckPointHandle.StartCheckPointRoute(player, Route5, 4000, 1, 7, 3, true, "busDriverJob");
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 5");
player.TriggerEvent("CLIENT:SetDoorOpen", 2, false, false);
player.TriggerEvent("CLIENT:SetDoorOpen", 3, false, false);
@@ -274,11 +249,11 @@ namespace ReallifeGamemode.Server.Job
{
CheckPointHandle.StartCheckPointRoute(player, Route5, 4000, 1, 7, 4, true, "busDriverJob");
}
player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 50);
//player.TriggerEvent("CLIENT:PlaySound", "jobs/busfahrer/StartJob", "wav", 50);
}
}
public static void payWage(Player jobber, int wage)
public static void payWage(Player jobber, int wage)
{
using (var dbContext = new DatabaseContext())
{
@@ -301,7 +276,7 @@ namespace ReallifeGamemode.Server.Job
}
else
{
JobBase job = JobManager.GetJob(jobber.GetUser().JobId.Value);
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.");

View File

@@ -171,37 +171,32 @@ namespace ReallifeGamemode.Server.Job
[RemoteEvent("startPilotRoute")]
public void StartPilotRoute(Player player, string type)
{
player.SendChatMessage("Debug Pilot 5");
Vehicle veh = player.Vehicle;
if (player.VehicleSeat == 0)
{
player.SendChatMessage("Debug Pilot 6");
if (type == "RouteStart")
{
player.SendChatMessage("Debug Pilot 7");
player.SendChatMessage($"Debug PilotenJob PilotenBaseAbfrage: {player.GetData<int>("PilotenBase")}");
if (player.HasData("PilotenBase") && player.GetData<int>("PilotenBase") == 1)
{
player.SendChatMessage("Debug Pilot 8");
Random rnd = new Random();
int rroute = rnd.Next(1, 4);
switch (rroute)
{
case 1:
{
CheckPointHandle.StartCheckPointRoute(player, Route1, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route1, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 1");
break;
}
case 2:
{
CheckPointHandle.StartCheckPointRoute(player, Route2, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route2, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 2");
break;
}
case 3:
{
CheckPointHandle.StartCheckPointRoute(player, Route3, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route3, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 3");
break;
}
@@ -215,19 +210,19 @@ namespace ReallifeGamemode.Server.Job
{
case 1:
{
CheckPointHandle.StartCheckPointRoute(player, Route4, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route4, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 4");
break;
}
case 2:
{
CheckPointHandle.StartCheckPointRoute(player, Route5, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route5, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 5");
break;
}
case 3:
{
CheckPointHandle.StartCheckPointRoute(player, Route6, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route6, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
player.SendChatMessage("~y~[JOB] ~w~Route wurde gesetzt.: ~g~Route 6");
break;
}
@@ -236,36 +231,28 @@ namespace ReallifeGamemode.Server.Job
}
if (type == "Route 1")
{
CheckPointHandle.StartCheckPointRoute(player, Route1, 0, 6, 40, 20, true, "pilotJob"); //6, 23, 25, 26, 27, 28
CheckPointHandle.StartCheckPointRoute(player, Route1, 0, 6, 40, 10, true, "pilotJob"); //6, 23, 25, 26, 27, 28
}
else if (type == "Route 2")
{
CheckPointHandle.StartCheckPointRoute(player, Route2, 0, 6, 40, 20, true, "pilotJob");
CheckPointHandle.StartCheckPointRoute(player, Route2, 0, 6, 40, 10, true, "pilotJob");
}
else if (type == "Route 3")
{
CheckPointHandle.StartCheckPointRoute(player, Route3, 0, 6, 40, 20, true, "pilotJob");
CheckPointHandle.StartCheckPointRoute(player, Route3, 0, 6, 40, 10, true, "pilotJob");
}
else if (type == "Route 4")
{
CheckPointHandle.StartCheckPointRoute(player, Route4, 0, 6, 40, 20, true, "pilotJob");
CheckPointHandle.StartCheckPointRoute(player, Route4, 0, 6, 40, 10, true, "pilotJob");
}
else if (type == "Route 5")
{
CheckPointHandle.StartCheckPointRoute(player, Route5, 0, 6, 40, 20, true, "pilotJob");
CheckPointHandle.StartCheckPointRoute(player, Route5, 0, 6, 40, 10, true, "pilotJob");
}
else if (type == "Route 6")
{
CheckPointHandle.StartCheckPointRoute(player, Route6, 0, 6, 40, 20, true, "pilotJob");
CheckPointHandle.StartCheckPointRoute(player, Route6, 0, 6, 40, 10, true, "pilotJob");
}
else
{
player.SendChatMessage("Debug Pilot 9");
}
}
else
{
player.SendChatMessage("Debug Pilot 10");
}
}
public static void payWage(Player jobber, int wage)
@@ -286,7 +273,7 @@ namespace ReallifeGamemode.Server.Job
}
else
{
JobBase job = JobManager.GetJob(jobber.GetUser().JobId.Value);
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.");

View File

@@ -46,7 +46,7 @@ namespace ReallifeGamemode.Server.Managers
public static List<JobBase> GetJobs() => _jobs.OrderBy(j => j.Id).ToList();
public Dictionary<Player, PlayerTimer> playerTimersJobVehicleRespawn = new Dictionary<Player, PlayerTimer>();
public static Dictionary<Player, PlayerTimer> playerTimersJobVehicleRespawn = new Dictionary<Player, PlayerTimer>();
[RemoteEvent("CLIENT:JobCenter_CancelJob")]
public void CancelJobEvent(Player player)
@@ -232,7 +232,7 @@ namespace ReallifeGamemode.Server.Managers
{
//Vehicle LastVehicle = player.GetData<Vehicle>("LastVehicle");
Vehicle LastVehicle = veh;
JobBase job = GetJob(player.GetUser().JobId.Value);
JobBase job = GetJob(player.GetUser().JobId??-1);
if (LastVehicle.GetServerVehicle() is JobVehicle vehJ)
{
if (LastVehicle.GetData<bool>("timerJobVehicleRespawn") == true)
@@ -390,29 +390,23 @@ namespace ReallifeGamemode.Server.Managers
}
}
}
JobBase job = GetJob(player.GetUser().JobId.Value);
JobBase job = GetJob(player.GetUser().JobId ?? -1);
if (job.GetUsersInJob().Contains(player))
{
ChatService.SendMessage(player, "Debug1");
if (sVeh != null)
{
ChatService.SendMessage(player, "Debug2");
if (sVeh is JobVehicle JV)
{
ChatService.SendMessage(player, "Debug3");
if (player.GetUser().JobId == 3 || player.GetUser().JobId == 4)
{
ChatService.SendMessage(player, "Debug4");
if (seat == 0)
{
ChatService.SendMessage(player, "Debug5");
JobVehicle c = new JobVehicle();
if (JV.GetJob().GetUsersInJob().Contains(player))
{
if (!player.HasData("LastVehicle") || player.GetData<Vehicle>("LastVehicle") == null) return;
if (player.HasData("LastVehicle") && veh == player.GetData<Vehicle>("LastVehicle"))
{
ChatService.SendMessage(player, "Debug6");
veh.SetData("timerJobVehicleRespawn", false);
if (playerTimersJobVehicleRespawn.ContainsKey(player))
{
@@ -427,11 +421,9 @@ namespace ReallifeGamemode.Server.Managers
}
}
}
else ChatService.SendMessage(player, "Debug7");
}
else
{
ChatService.SendMessage(player, "Debug8");
job.StopJob(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
if (playerTimersJobVehicleRespawn.ContainsKey(player))
@@ -449,7 +441,6 @@ namespace ReallifeGamemode.Server.Managers
}
else
{
ChatService.SendMessage(player, "Debug9");
job.StopJob(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
if (playerTimersJobVehicleRespawn.ContainsKey(player))
@@ -465,7 +456,6 @@ namespace ReallifeGamemode.Server.Managers
}
else if(sVeh !is JobVehicle || veh != null)
{
ChatService.SendMessage(player, "Debug10");
job.StopJob(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
if (playerTimersJobVehicleRespawn.ContainsKey(player))
@@ -482,7 +472,6 @@ namespace ReallifeGamemode.Server.Managers
{
if (JV.JobId != player.GetUser().JobId)
{
ChatService.SendMessage(player, "Debug11");
job.StopJob(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet.");
if (playerTimersJobVehicleRespawn.ContainsKey(player))
@@ -496,14 +485,6 @@ namespace ReallifeGamemode.Server.Managers
ServerVehicleExtensions.Spawn(nsSVeh, player.GetData<Vehicle>("LastVehicle"));
}
}
else
{
ChatService.SendMessage(player, "Debug12");
}
}
else
{
ChatService.SendMessage(player, "Debug13");
}
}

View File

@@ -52,7 +52,7 @@ namespace ReallifeGamemode.Server.Util
{
if (user.GetUser().JobId == 4)
{
Job.JobBase job = Managers.JobManager.GetJob(user.GetUser().JobId.Value);
Job.JobBase job = Managers.JobManager.GetJob(user.GetUser().JobId??-1);
if (job.GetUsersInJob().Contains(user))
{
if (!user.IsInVehicle || user.VehicleSeat != 0) return;
@@ -159,7 +159,7 @@ namespace ReallifeGamemode.Server.Util
}
if (temp.LastCheckpoint != 1)
{
Job.JobBase job = Managers.JobManager.GetJob(user.GetUser().JobId.Value);
Job.JobBase job = Managers.JobManager.GetJob(user.GetUser().JobId??-1);
if (job.GetUsersInJob().Contains(user))
{
if (user.GetUser().JobId == 3)
@@ -245,8 +245,15 @@ namespace ReallifeGamemode.Server.Util
if (player.GetUser().JobId == 4)
{
BusDriverJob.payWage(player, 200);
CheckPointHandle.BusCheckpoint(player);
//CheckPointHandle.BusCheckpoint(player);
BusDriverJob.BusLetzterCheckpoint(player);
if (!player.IsInVehicle || player.VehicleSeat != 0) return;
Vehicle veh = player.Vehicle;
if (!(veh.GetData<IndicatorData>("indicatorData") is IndicatorData data)) data = new IndicatorData();
data.Left = false;
data.Right = false;
veh.SetData("indicatorData", data);
NAPI.ClientEvent.TriggerClientEventForAll("SERVER:setIndicatorStatus", veh.Handle.Value, data.Left, data.Right);
}
}
//NAPI.Chat.SendChatMessageToAll($"this.list.Count() = {this.list.Count()}, checkPointsDone = {checkPointsDone}, LastCheckpoint = {LastCheckpoint}");