fix server crash when player with job quits

This commit is contained in:
hydrant
2019-06-23 20:31:36 +02:00
parent 6caee0f2ec
commit 8ab086f011
3 changed files with 11 additions and 4 deletions

View File

@@ -541,7 +541,9 @@ export default function vehicleSync() {
//Make doors breakable again
setTimeout(() => {
for (x = 0; x < 8; x++) {
entity.setDoorBreakable(x, true);
if (entity) {
entity.setDoorBreakable(x, true);
}
}
}, 1500);
}

View File

@@ -37,7 +37,7 @@ namespace ReallifeGamemode.Server.Events
}
JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
if (job != null) job.StopJob(player);
if (job != null) job.StopJob(player, true);
using (var saveUser = new DatabaseContext())
{

View File

@@ -29,6 +29,7 @@ namespace ReallifeGamemode.Server.Job
public void StartJob(Client player)
{
if (_inJob.Contains(player)) return;
_inJob.Add(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{this.Name}~s~ gestartet.");
@@ -36,11 +37,15 @@ namespace ReallifeGamemode.Server.Job
JobStart?.Invoke(player);
}
public void StopJob(Client player)
public void StopJob(Client player, bool quit = false)
{
if (!_inJob.Contains(player)) return;
_inJob.Remove(player);
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{this.Name}~s~ beendet.");
if (quit)
{
ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{this.Name}~s~ beendet.");
}
JobStop?.Invoke(player);
}