Fixed server crash when unknown vehicle is spawned, Car gets teleported on /to and /gh
This commit is contained in:
@@ -38,7 +38,7 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("veh", "~m~Benutzung: ~s~/veh [Fahrzeug] (Farbe 1) (Farbe 2)")]
|
[Command("veh", "~m~Benutzung: ~s~/veh [Fahrzeug] (Farbe 1) (Farbe 2)")]
|
||||||
public void CmdAdminVeh(Client player, VehicleHash hash, int color1 = 111, int color2 = 111)
|
public void CmdAdminVeh(Client player, string hash, int color1 = 111, int color2 = 111)
|
||||||
{
|
{
|
||||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
{
|
{
|
||||||
@@ -52,7 +52,24 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vehicle v = NAPI.Vehicle.CreateVehicle(hash, player.Position, player.Rotation.Z, color1, color2);
|
hash = hash.ToUpper();
|
||||||
|
|
||||||
|
uint.TryParse(hash, out uint vehHash);
|
||||||
|
if (vehHash == 0)
|
||||||
|
{
|
||||||
|
if (Enum.IsDefined(typeof(VehicleHash), hash))
|
||||||
|
{
|
||||||
|
vehHash = (uint)Enum.Parse(typeof(VehicleHash), hash);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(vehHash == 0)
|
||||||
|
{
|
||||||
|
player.SendChatMessage("~r~[FEHLER]~s~ Dieses Fahrzeug existiert nicht.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vehicle v = NAPI.Vehicle.CreateVehicle(vehHash, player.Position, player.Rotation.Z, color1, color2);
|
||||||
|
|
||||||
player.SetIntoVehicle(v.Handle, -1);
|
player.SetIntoVehicle(v.Handle, -1);
|
||||||
}
|
}
|
||||||
@@ -113,7 +130,8 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.Position = target.Position;
|
if (player.IsInVehicle && player.VehicleSeat == -1) player.Vehicle.Position = target.Position;
|
||||||
|
else player.Position = target.Position;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("position")]
|
[Command("position")]
|
||||||
@@ -125,7 +143,7 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.SendChatMessage("Position: X Y Z: " + player.Position + "");
|
player.SendChatMessage("Position: X Y Z: " + player.Position);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("gotox", "~m~Benutzung: ~s~/gotox [X] [Y] [Z]")]
|
[Command("gotox", "~m~Benutzung: ~s~/gotox [X] [Y] [Z]")]
|
||||||
@@ -157,7 +175,8 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
target.Position = player.Position;
|
if (target.IsInVehicle && target.VehicleSeat == -1) target.Vehicle.Position = player.Position;
|
||||||
|
else target.Position = player.Position;
|
||||||
target.SendChatMessage("Du wurdest von " + player.Name + " teleportiert.");
|
target.SendChatMessage("Du wurdest von " + player.Name + " teleportiert.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user