Added check, if vehicle is used by server system on /vdestroy
This commit is contained in:
@@ -801,11 +801,16 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
/* TODO: Checken, ob das Fahrzeug in einem System genutzt wird (Fraktions-Autos / Spieler-Auto)
|
||||
* Wenn Ja: Abbrechen und mitteilen, dass man den System-spezifischen Befehl zu nutzen hat
|
||||
*/
|
||||
Vehicle playerVeh = player.Vehicle;
|
||||
|
||||
player.Vehicle.Delete();
|
||||
ServerVehicle veh = VehicleManager.GetServerVehicleFromVehicle(playerVeh);
|
||||
if(veh != null)
|
||||
{
|
||||
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug wird von einem Server-System benutzt: ~m~" + veh.GetType().Name);
|
||||
return;
|
||||
}
|
||||
|
||||
playerVeh.Delete();
|
||||
}
|
||||
|
||||
[Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")]
|
||||
|
||||
@@ -3,6 +3,7 @@ using reallife_gamemode.Server.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using reallife_gamemode.Model;
|
||||
|
||||
namespace reallife_gamemode.Server.Managers
|
||||
{
|
||||
@@ -35,5 +36,21 @@ namespace reallife_gamemode.Server.Managers
|
||||
|
||||
return NAPI.Pools.GetAllVehicles().Find(v => v.Handle == _serverVehicles[serverVehicle.Id]);
|
||||
}
|
||||
|
||||
public static ServerVehicle GetServerVehicleFromVehicle(Vehicle veh)
|
||||
{
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
foreach(KeyValuePair<int, NetHandle> pair in _serverVehicles)
|
||||
{
|
||||
if (pair.Value == veh.Handle)
|
||||
{
|
||||
return dbContext.ServerVehicles.Find(pair.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user